SID eines Domain Users via Script ermitteln

Hier ein Beispiel, wie die SID eines Benutzers einer Domäne ermittelt werden kann. Die Übergabeparameter an die Funktion GetSidByName müssen selbstverständlich an die Gegebenheiten angepasst werden.

‚***
‚*** Erst fragen wir mal, nach wem gesucht werden soll
‚*** 
cName = InputBox(„Bitte geben Sie den Namen des Domain Users an:“,“Name des Domainusers“)
‚***
‚*** Je nach angemeldeten Benutzer, muss ein Administrativer Account mit Passwort verwendet werden
‚*** Wenn schon als Admin angemeldet, dann einfach die beiden Parameter leer lassen
‚***
cSID = GetSidByName(„Domaincontroller“,cName,“DOMÄNE“,“Administrator“,“passwort“)
‚***
‚*** So, dann geben wir noch die SID in der Inputbox aus, damit man diese bequem in die
‚*** Zwischenablage kopieren kann
‚***
xReturn=InputBox(„Hier die SID“,“Hier die SID“,cSID)
‚***
‚*** Diese Funktion holt uns mittels WMI die SID (Ja, es geht auch anders :-)!!!
‚***
Public Function GetSidByName(cServer,cAccountName,cDomain, Admin, PWD)
On Error Resume Next
strComputer    = cServer
Set objLocator = CreateObject(„WbemScripting.SWbemLocator“)
if Admin = „“ then
       Set objWMIService = GetObject(„winmgmts:\\“ & strComputer & „\root\cimv2″)
else
       Set objWMIService = objLocator.ConnectServer(strComputer,“root\cimv2“,Admin, PWD)
end if
Set colItems = objWMIService.ExecQuery(„Select * from Win32_UserAccount where Name='“ & cAccountName & „‚ and Domain='“ & cDomain & „‚“,,48)
For Each objItem in colItems
       Exit for
Next
GetSidByName=objItem.SID
End Function

Bei Scripten gilt immer: Erst den Quellcode lesen, dann ausprobieren!

Autor: matze

Bei Scripten gilt immer: Erst den Quellcode lesen, dann ausprobieren!