SID eines Users per VB aus AD ermitteln
Die SID eines Users aus dem Active-Directory mit VB oder VBS auslesen
Ich möchte die SID eines AD-Benutzers mit VB oder VB-Script ermitteln.
Der Hintergrund ist das ich Benutzer-Verzeichnisse automatisch anlegen möchte und bestimmte Berechtigungen für den entsprechenden User automatisch per VB einstellen möchte.
Das ist ja Prinzipiell kein Problem über Trustee-Objekt erzeugen, Eigenschaften einstellen, dann ACE-Objekt erzeugen, Eigenschaften einstellen und das dann Dictionary-Objekt anhängen usw.
Aber:
Für das Trustee-Objekt brauche ich die SID, die SID-Length und SID-String des Benutzers.
Vorgegeben habe ich den Benutzernamen und die OU im AD.
Über ein LDAP-Objekt kann ich auf den Benutzer, und dessen Eigenschaften, dann ja Problemlos zugreifen, aber das einzige was ich irgendwie dann darüber nicht hinkriege, ist die SID bzw. die SID-Länge und den SID-String daraus zu ermitteln.
Ich google jetzt schon seit mehreren Stunden, aber ich hab noch nix brauchbares gefunden ....
Kann mir da jemand weiterhelfen?
Vielen Dank schon mal im voraus!
Der Hintergrund ist das ich Benutzer-Verzeichnisse automatisch anlegen möchte und bestimmte Berechtigungen für den entsprechenden User automatisch per VB einstellen möchte.
Das ist ja Prinzipiell kein Problem über Trustee-Objekt erzeugen, Eigenschaften einstellen, dann ACE-Objekt erzeugen, Eigenschaften einstellen und das dann Dictionary-Objekt anhängen usw.
Aber:
Für das Trustee-Objekt brauche ich die SID, die SID-Length und SID-String des Benutzers.
Vorgegeben habe ich den Benutzernamen und die OU im AD.
Über ein LDAP-Objekt kann ich auf den Benutzer, und dessen Eigenschaften, dann ja Problemlos zugreifen, aber das einzige was ich irgendwie dann darüber nicht hinkriege, ist die SID bzw. die SID-Länge und den SID-String daraus zu ermitteln.
Ich google jetzt schon seit mehreren Stunden, aber ich hab noch nix brauchbares gefunden ....
Kann mir da jemand weiterhelfen?
Vielen Dank schon mal im voraus!
Please also mark the comments that contributed to the solution of the article
Content-Key: 113591
Url: https://administrator.de/contentid/113591
Printed on: April 20, 2024 at 03:04 o'clock
3 Comments
Latest comment
Hy,
mach hier mal eine .vbs :
---schnipp ----
' Beginn
strSearch = InputBox("Zu welchem Namen wird der SID gesucht?")
Set objWMI = GetObject("winmgmts:")
strWQL = "select SID from win32_account where Name='" & strSearch & "'"
Set objResult = objWMI.ExecQuery(strWQL)
For Each objAcc In objResult
strResult = objAcc.SID
Next
InputBox "Der SID von " & strSearch & " lautet: ", , strResult
' Ende
---schnapp---
Gruß,
Andy
mach hier mal eine .vbs :
---schnipp ----
' Beginn
strSearch = InputBox("Zu welchem Namen wird der SID gesucht?")
Set objWMI = GetObject("winmgmts:")
strWQL = "select SID from win32_account where Name='" & strSearch & "'"
Set objResult = objWMI.ExecQuery(strWQL)
For Each objAcc In objResult
strResult = objAcc.SID
Next
InputBox "Der SID von " & strSearch & " lautet: ", , strResult
' Ende
---schnapp---
Gruß,
Andy