Kleines VB / PowerShell Projekt

Ich habe mit einem kleinen VB-Projekt begonnen. Es startete mit der Problemstellung „mal eben“ die SID eines Users herauszufinden für den ich einen Registrierungseintrag auf einem Terminalserver ändern wollte. Hierbei bin ich auf das freie Tool SIDtoName gestoßen. Leider ist das die falsche Richtung. Ich kenne den Usernamen und benötige die SID. Der zweite Weg führt über das ActiveDirectory. Hier kann ich die SID jedes Benutzers finden, allerdings ist es so immer ein weiter Weg. Auf der Seite www.christiano.ch bin ich dann auf ein passendes Powershell-Skript gestoßen:

$AdObj = New-Object System.Security.Principal.NTAccount("ObjectName")
$strSID = $AdObj.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

Dieses Skript habe ich dann noch ein wenig angepasst, so dass ein Aufruf über PSSkript.PS1 Username die passende SID zum jeweiligen Benutzer ausspuckt:

$User = $args[0]
$AdObj = New-Object System.Security.Principal.NTAccount($User)
$strSID = $AdObj.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

Das Skript lässt sich so direkt nicht in der Powershell starten. Zuerst muss noch die ExecutionPolicy auf Remotesigned gestellt werden. Dies geschieht in der PowerShell über folgenden Befehl:

Set-ExecutionPolicy RemoteSigned

(Diese Info habe ich über diesen Blogeintrag gefunden)

Wie ich von hier bei VB gelandet bin schreibe ich im nächsten Beitrag.

One Comment to “Kleines VB / PowerShell Projekt”

  1. guidman 3 April 2012 at 20:48 #

    Ned schleschd Herr Sopecht!!


Leave a Reply

You must be logged in to post a comment.