
45521
08.05.2007, aktualisiert am 18.10.2012
VBScript NTFS-Permissions Security ID Structure invalid
Hi,
ich versuche ja gerade (wie in einem anderen Thread schon angeschrieben) ein Script zu basteln das mir bei der Verwaltung der AD hilft und anhand dessen ich u.a. NTFS-Rechte setzen kann (auf Gruppen, Benutzer,..).
Jetzt habe ich mir die letzten Tage ein paar Beispiele durchgelesen und wollte es jetzt mit deren Hilfe selbst versuchen.
Und zwar geht mein Script so vor: Anlegen der Gruppe nach Namenskonvention (klappt), setzen der "Scope of Group" (klappt) und danach will ich probehalber einen Benutzer der in der gleichen OU liegt wie die Gruppe und den ich "Bla Blubb" genannt habe" NTFS-Rechte auf die neue Gruppe geben.
Hier mal mein Code-Ansatz (für das setzen der Rechte):
Weiß jemand, woran es liegt, daß ich den Fehler "Security ID Structure invalid" (an der Stelle "createGroup.Put "ntSecurityDescriptor",Array(secDescriptor)) bekomme?
Ich vermute an dem Benutzer (wenn ich dem manuell die Rechte gebe klappt's).
Danke und Grüße,
Marc
ich versuche ja gerade (wie in einem anderen Thread schon angeschrieben) ein Script zu basteln das mir bei der Verwaltung der AD hilft und anhand dessen ich u.a. NTFS-Rechte setzen kann (auf Gruppen, Benutzer,..).
Jetzt habe ich mir die letzten Tage ein paar Beispiele durchgelesen und wollte es jetzt mit deren Hilfe selbst versuchen.
Und zwar geht mein Script so vor: Anlegen der Gruppe nach Namenskonvention (klappt), setzen der "Scope of Group" (klappt) und danach will ich probehalber einen Benutzer der in der gleichen OU liegt wie die Gruppe und den ich "Bla Blubb" genannt habe" NTFS-Rechte auf die neue Gruppe geben.
Hier mal mein Code-Ansatz (für das setzen der Rechte):
Const UF_WORKSTATION_TRUST_ACCOUNT = &H1000
Const UF_ACCOUNTDISABLE = &H2
Const UF_PASSWD_NOTREQD = &H20
Const ADS_GUID_COMPUTRS_CONTAINER = "aa312825768811d1aded00c04fd8d5cd"
Const ADS_ACETYPE_ACCESS_ALLOWED = 0
Const ADS_ACEFLAG_INHERIT_ACE = 2
'hier liegt der User der Rechte bekommen soll -> auch schon ohne domain.test/OU1/... probiert
sUserOrGroup = "domain.test/OU1/OU2/Groups/Bla Blubb"
Set secDescriptor = createGroup.Get("ntSecurityDescriptor")
Set dACL = secDescriptor.DiscretionaryAcl
Set ACE = CreateObject("AccessControlEntry")
ACE.AccessMask = -1
ACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED
ACE.AceFlags = ADS_ACEFLAG_INHERIT_ACE
ACE.Trustee = sUserOrGroup
dACL.AddAce ACE
secDescriptor.DiscretionaryAcl = dACL
createGroup.Put "ntSecurityDescriptor", Array(secDescriptor)
createGroup.SetInfo
createGroup.AccountDisabled = False
createGroup.SetInfo
Weiß jemand, woran es liegt, daß ich den Fehler "Security ID Structure invalid" (an der Stelle "createGroup.Put "ntSecurityDescriptor",Array(secDescriptor)) bekomme?
Ich vermute an dem Benutzer (wenn ich dem manuell die Rechte gebe klappt's).
Danke und Grüße,
Marc
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 58513
Url: https://administrator.de/forum/vbscript-ntfs-permissions-security-id-structure-invalid-58513.html
Ausgedruckt am: 23.04.2025 um 06:04 Uhr
3 Kommentare
Neuester Kommentar
@Dani
Da hab' ich auch schon einmal (hier) gestaunt ...
Wenn Du in "Active Directory-Benutzer und -Computer" über das Menü "Ansicht" die "Erweiterten Funktionen" einschaltest (siehe http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/libra ... ), erhältst Du die zusätzlichen Register "Objekt" und "Sicherheitseinstellungen" in den Eigenschaften der AD-Objekte (also zB auch der Gruppen) ...
Grüße
bastla
Da hab' ich auch schon einmal (hier) gestaunt ...
Wenn Du in "Active Directory-Benutzer und -Computer" über das Menü "Ansicht" die "Erweiterten Funktionen" einschaltest (siehe http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/libra ... ), erhältst Du die zusätzlichen Register "Objekt" und "Sicherheitseinstellungen" in den Eigenschaften der AD-Objekte (also zB auch der Gruppen) ...
Grüße
bastla

Morgen ihr 2,
ja, geben/gehen tut's definitiv - wenn's geht ;)
Werde noch bißchen weitergooglen. Vielleicht stoße ich ja auf eine Lösung oder hier weiß jemand weiter...
Danke und Grüße,
Marc
ja, geben/gehen tut's definitiv - wenn's geht ;)
Werde noch bißchen weitergooglen. Vielleicht stoße ich ja auf eine Lösung oder hier weiß jemand weiter...
Danke und Grüße,
Marc