rockotron
Goto Top

Rechte für Freigabe per VBScript übergeben funktioniert nicht korrekt

Ich brauche Hilfe in Sachen Freigabeberechtigungen, die via VBS an einen Nutzer übergeben werden sollen.

Ich habe ein Script in VBS geschrieben, das ich zur Anlage von Domänennutzern verwende. Dieses legt den neben den ADS-Nutzerinformationen auf einem Server einen Ordner je Nutzer an, gibt diesen frei und ordnet den Freigabeberechtigungen einen Nutzer (Bsp: gast) zu. Nun möchte ich Freigabe- sowie NTFS-Berechtigungen für diesen Nutzer setzen, wobei die Freigaberechte immer gleich "Ändern" sind. Ich nutze für die Freigaberechte folgenden Quelltext:

ACCESS_ALLOWED_ACE_TYPE = &H0
FILE_SHARE_CHANGE_ACCESS = &H010116
SE_DACL_PRESENT = &H4

strComputer = "."
strShareName = "FreigabeName"
strUserName = "gast"
strDomainName = "DOM"

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objSecuritySettings = objWMIService.Get("Win32_LogicalShareSecuritySetting='" & strShareName & "'")

Set objTrustee = objWMIService.Get("Win32_Trustee").SpawnInstance_()

Set colAccounts = objWMIService.ExecQuery("SELECT * FROM Win32_Account WHERE Name = '" & strUserName & "'")

For Each objAccount In colAccounts
objTrustee.SIDString = objAccount.SID
Next

Set objSID = objWMIService.Get("Win32_SID.SID='" & objTrustee.SIDString & "'")

objTrustee.SID = objSID.BinaryRepresentation
objTrustee.SIDLength = objSID.SIDLength
objTrustee.Domain = strDomainName
objTrustee.Name = strUserName


Set objACE = objWMIService.Get("Win32_ACE").SpawnInstance_()
objACE.Trustee = objTrustee
objACE.AceType = ACCESS_ALLOWED_ACE_TYPE
objACE.AccessMask = FILE_SHARE_CHANGE_ACCESS
objACE.AceFlags = 0

Set objSD = objWMIService.Get("Win32_SecurityDescriptor").SpawnInstance_()
objSD.Owner = objTrustee
objSD.DACL = Array(objACE)
objSD.ControlFlags = SE_DACL_PRESENT

objSecuritySettings.SetSecurityDescriptor(objSD)

Das Problem ist nun, dass die Zuordnung von Leserechten und von Vollzugriff reibunglos funktioniert. Das Festlegen von Änderungsrechten hingegen funktioniert nicht. Hat jemand eine Idee, woran dies liegen könnte? Danke im Voraus!!

Content-ID: 114447

Url: https://administrator.de/contentid/114447

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

Rockotron
Rockotron 06.11.2009 um 14:10:04 Uhr
Goto Top
Habe das Problem selbst gelöst! Also falls es Interesse an dieser Thematik gibt, kann ich helfen.