Windows Security Identifier to username
Soms wil (moet…) je een Windows SID (Security Identifier) converteren naar een gebruikersnaam, of andersom. De volgende twee stukjes VBScript code doen dit voor je:
sidtoname.vbs
Option explicit Dim strSID strSID = WScript.Arguments(0) Dim strComputer strComputer = "." Dim objWMIService, objSID Set objWMIService = _ GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set objSID = objWMIService.Get("Win32_SID='" & strSID & "'") WScript.Echo objSID.ReferencedDomainName & "\" & _ objSID.AccountName Set objSID = Nothing Set objWMIService = Nothing
nametosid.vbs
Option explicit Dim objAccount, strComputer, strUser Dim DomainName, objWMIService If WScript.Arguments.Count < 1 Or WScript.Arguments.Count >= 3 Then Wscript.Echo "" Wscript.Echo "Geen, te veel of ongeldige parameters meegegeven." Wscript.Echo "Usage: cscript nametosid.vbs NAME COMPUTER (optioneel)" Wscript.Quit Else strUser = WScript.Arguments(0) If Wscript.Arguments.Count = 2 Then strComputer = LCase(Wscript.Arguments(1)) Else strComputer = "." End If End If DomainName = "[DOMEIN]" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set objAccount = objWMIService.Get ("Win32_UserAccount.Name='" & strUser & "',Domain='" & DomainName & "'") Wscript.Echo "" Wscript.Echo strUser & " sid: " & objAccount.SID Wscript.Echo "" Set objAccount = Nothing Set objWMIService = Nothing
Sla de beide scripts op als (bijvoorbeeld) sidtoname.vbs en nametosid.vbs en voer ze uit met cscript.exe:
c:\>cscript.exe /nologo nametosid.vbs [naam]
geüpdatet 2011-05-23: code verbetert zodat deze functioneert
Link to this post!
Aantal keren bekeken: Please wait