VBS-Job läuft in OU aber nicht in Unter-OUs
Hallo,
ich habe mir ein Script gebastelt das mir an jeden User-Objekt etwas ändert.
Das Funktioniert auch allerdings nur in der OU in der ich das Script starte.
Ich hätte gerne das es auch wenn es eine Unter-OU findet die User darin bearbeitet wie kann ich das.
Gruss
Andreas
ich habe mir ein Script gebastelt das mir an jeden User-Objekt etwas ändert.
Das Funktioniert auch allerdings nur in der OU in der ich das Script starte.
Ich hätte gerne das es auch wenn es eine Unter-OU findet die User darin bearbeitet wie kann ich das.
Dim OutPutFile,Username,newmailnickname,newmailnicknamepart1,newmailnicknamepart2
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile(".\alias.csv", True)
OutPutFile.WriteLine "Username;Alias"
Set objRootDSE = GetObject("LDAP://rootDSE")
Set objContainer = GetObject("LDAP://ou=blabla,dc=domain,DC=de")
For Each obj In objContainer
Username = obj.givenName & " " & obj.sn
newmailNickNamePart1 = Left(obj.givenName,2)
newmailNickNamePart2 = Left(obj.sn,6)
newmailnickname = newmailNickNamePart1 & newmailNickNamePart2
WScript.Echo "Username:" & Username & vbCrlf & "newmailnickName: " & newmailnickname
outputFile.WriteLine UserName & ";" & newmailnickname
obj.Put "mailnickName", (newmailNickName)
obj.SetInfo
Next
Gruss
Andreas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 114935
Url: https://administrator.de/forum/vbs-job-laeuft-in-ou-aber-nicht-in-unter-ous-114935.html
Ausgedruckt am: 23.12.2024 um 09:12 Uhr
6 Kommentare
Neuester Kommentar
Hallo JoshuaTree!
Du bekommst aus dem anderen Script ja ohnehin einen "ADSPath" - den kannst Du dann als Basis für Dein Script verwenden, also etwa:
Grüße
bastla
Du bekommst aus dem anderen Script ja ohnehin einen "ADSPath" - den kannst Du dann als Basis für Dein Script verwenden, also etwa:
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT ADsPath FROM 'LDAP://ou=blabla,dc=domain,DC=de' WHERE " & _
"objectCategory='organizationalUnit'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
ADSPath = objRecordSet.Fields("ADsPath").Value
Set objContainer = GetObject(ADSPath)
For Each obj In objContainer
Username = obj.givenName & " " & obj.sn
' ...
Next
objRecordSet.MoveNext
Loop
bastla