Powershell Ldap
Hallo,
ich möchte das Homedrive aller User in der AD auf Local Path ändern.
Dazu habe ich folgendes Script in der Powershell ausgeführt:
$user=[adsi]'LDAP://cn=test,ou=test users,OU=Test,DC=meinefirma,DC=de'
$user.homedrive.clear()
$user.homedirectory.clear()
$user.commitchanges()
Dies funktioniert auch ohne Probleme.
Nun möchte ich aber nicht jeden einzelnen User mit cn= eintragen, sondern das Script soll das Homedrive aller User in einer OU ändern.
Habe schon alles mögliche im Internet gesucht, aber nichts gefunden oder funzt das mit dem LDAP-Provider so nicht ?
Danke.
Gruß,
Sven
ich möchte das Homedrive aller User in der AD auf Local Path ändern.
Dazu habe ich folgendes Script in der Powershell ausgeführt:
$user=[adsi]'LDAP://cn=test,ou=test users,OU=Test,DC=meinefirma,DC=de'
$user.homedrive.clear()
$user.homedirectory.clear()
$user.commitchanges()
Dies funktioniert auch ohne Probleme.
Nun möchte ich aber nicht jeden einzelnen User mit cn= eintragen, sondern das Script soll das Homedrive aller User in einer OU ändern.
Habe schon alles mögliche im Internet gesucht, aber nichts gefunden oder funzt das mit dem LDAP-Provider so nicht ?
Danke.
Gruß,
Sven
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 208676
Url: https://administrator.de/contentid/208676
Ausgedruckt am: 08.11.2024 um 03:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Sven,
kein Problem:
Grüße Uwe
kein Problem:
#OU die die User beinhaltet
$OU = "ou=DEINEOU,dc=DEINEDOMAIN,dc=LOCAL"
$objSearch = New-Object System.DirectoryServices.DirectorySearcher
$objSearch.PageSize = 15000
$objSearch.Filter = "(&(objectCategory=User)(objectCategory=Person))"
$objSearch.SearchRoot = "LDAP://$OU"
$allUsers = $objSearch.FindAll()
foreach ($user in $allUsers) {
$o = $user.GetDirectoryEntry()
$o.homeDrive.Clear()
$o.homedirectory.Clear()
$o.CommitChanges()
}
Grüße Uwe
Also ich hab mal für einige OUs vornamen und nachnamen ändern müssen.
Guck mal hier vll hilft dir das
Hab erst mal alle in eine csv expotiert dann impotiert. Dann alle user abgearbeitet, du brauchst halt dementsprechend die Felder.
Import-Csv d:\alleuser.csv | ForEach-Object {
Set-ADuser -Identity $_.Name $user.homedrive.clear()
}
Guck mal hier vll hilft dir das
Hab erst mal alle in eine csv expotiert dann impotiert. Dann alle user abgearbeitet, du brauchst halt dementsprechend die Felder.
Import-Csv d:\alleuser.csv | ForEach-Object {
Set-ADuser -Identity $_.Name $user.homedrive.clear()
}
Zitat von @gruener.puma:
Hattest du das Script nach der Erstveröffentlichung nochmal geändert, denn das sieht jetzt ein wenig anders aus.
Ja, war noch ein Fehler drin, den ich korrigiert habe.Hattest du das Script nach der Erstveröffentlichung nochmal geändert, denn das sieht jetzt ein wenig anders aus.
Beitrag noch als gelöst markieren und alle sind glücklich. .
G. Uwe