meowjayjay
Goto Top

Powershell Script "Bundesland" soll Wert bekommen

Hallo Zusammen,

habe ein PS Script welches den Wert "Bundesland" füllen soll. Aktuell steht nichts drinnen.

Script läuft leider auf den Fehler:

Get-ADUser : Verzeichnisobjekt nicht gefunden
In Zeile:8 Zeichen:10
+ $users = Get-ADUser -Filter * -SearchBase "LDAP://$ou"  
+          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (:) [Get-ADUser], ADIdentityNotFoundException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.GetADUser


# Setze die Variable für das Bundesland
$bundesland = "DE"  

# Definiere die OU-Pfad für die Benutzer
$ou = "OU=Testuser,OU=it,OU=Zentrale,OU=Standorte_user,DC=Domain,DC=de"  

# Holen aller Benutzer in der angegebenen OU
$users = Get-ADUser -Filter * -SearchBase "LDAP://$ou"  

# Iteriere durch jeden Benutzer und setze das Bundesland
foreach ($user in $users) {
    # Setze das Bundesland für den Benutzer
    Set-ADUser -Identity $user -Replace @{l="DE"}  
    Write-Host "Bundesland für Benutzer $($user.SamAccountName) wurde auf $bundesland gesetzt."  
}


Jemand DEN face-smile Tipp am Start?

Danke Grüße
MEOW

Content-Key: 32673405544

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

Printed on: February 26, 2024 at 14:02 o'clock

Member: abramakabra
Solution abramakabra Feb 12, 2024 updated at 15:55:11 (UTC)
Goto Top
"LDAP:" weg machen
$users = Get-ADUser -Filter * -SearchBase $ou
und hier hast du das Einsetzen der Variablen vergessen
Set-ADUser -Identity $user.SamAccountName -Replace @{l=$bundesland} 

By the way l ist der Ort nicht das Bundesland! Bundesland ist die LDAP Property st

Kurfassung für das Setzen des Bundeslands bei den Usern bei denen das noch nicht auf dem definierten Wert steht
$bundesland = "XXXX"  
$ou = "OU=Testuser,OU=it,OU=Zentrale,OU=Standorte_user,DC=Domain,DC=de"    
get-aduser -ldapfilter "(!(st=$bundesland))" -SearchBase $ou | set-aduser -Replace @{st=$bundesland} -verbose