146544
Goto Top

Active Directory mit PowerShell Beschreibung Automatisch befüllen

Hey ich versuche das in den Benutzereinstellungen Automatisch bei Beschreibung das Department und der Ort steht.

hab mal etwas rumprobiert aber er nimmt es irgendwie nicht auch nicht wenn ich nur z.B. Department einfügen will aber mit dem Vor- und Nachnamen klappt es.
unbenannt

Content-ID: 619402

Url: https://administrator.de/forum/active-directory-mit-powershell-beschreibung-automatisch-befuellen-619402.html

Ausgedruckt am: 22.04.2025 um 16:04 Uhr

emeriks
emeriks 05.11.2020 aktualisiert um 13:40:41 Uhr
Goto Top
Hi,
Standort/Ort ist "location". Das Attribut dafür lautet einfach "l".

E.

Edit:
Wobei ich gerade sehe, dass das in PS auch als "City" geliefert wird.

Versuche mal:
$user | Set-AdUser -Description "$($user.department), $($user.city)"  
Doskias
Doskias 05.11.2020 aktualisiert um 13:40:57 Uhr
Goto Top
Hallo SirNiki,

nutze doch bitte für Codes kein eingefügtes Bild, sondern die entsprechende Code-Option beim erstellen des Beitrags. Du machst es allen einfacher deinen Code zu reproduzieren.
hab mal etwas rumprobiert aber er nimmt es irgendwie nicht

ist keine qualifizierte Beschreibung. Außerdem würde ich dir empfehlen es erstmal mit einem Benutzer zu testen und dann weiterzuarbeiten für alle. Nun zu deinem Anliegen. Ich habe mir das grade mit der City einmal angesehen und ich vermute, das du das Problem gar nicht seihst, welches du da hast. mache ich ein

$test=Get-ADUser -filter "samaccountname -like '*Doskias*'" -Properties * |Select-Object city  
$test 

So erhalte ich
City
---
Forum

Mache ich aber
$test=Get-ADUser -filter "samaccountname -like '*Doskias*'" -Properties * |Select-Object city  
$text= "test"+"$test"  
$text 
So ist das Ergebnis auf einmal: test@{city=Forum}

Ich vermute dein Problem beruht darauf, dass du einen Arrayeintrag in ein Textfeld eintragen willst was nicht klappt. ich würde daher deinen Code wie folgt in der schleife ändern:
$Beschreibung="$user.Department" +", "+"$user.City" -replace '@{City=', ' ' -replace '}','' -replace '@{Department=', ' '  
set-aduser -identiy $user.samaccountname -description $Beschreibung

Damit erzeugst du dann erst sauber einen Text ohne die Steuerzeichen und fügst anschließend den Text sauber ein. Zumindest im Test mit einem User funktioniert das bei mir gut face-smile

Gruß
Doskias
146544
146544 05.11.2020 um 14:30:01 Uhr
Goto Top
Geht nicht mein Problem er erkennt das nicht was ich manuell den Benutzer bei z.B. Department reingeschrieben habe da ist bei Beschreibung nur der , .
emeriks
emeriks 05.11.2020 aktualisiert um 14:41:10 Uhr
Goto Top
Ja nee is klar ...
Du must natürlich die entsprechenden Eigenschaften auch abfragen! Einfach nur
Get-ADuser -filter *
liefert nicht alle Eigenschaften, also auch nicht department und city.

Get-ADuser -filter * -properties *

oder
Get-ADuser -filter * -properties department,l
Bei letzterem ist "city" dann aber durch "l" zu ersetzen.
146544
146544 05.11.2020 um 15:22:28 Uhr
Goto Top
Ich will nur einen Code der für alle Benutzer greift das in der Beschreibung die Abteilung und der Ort von den Benutzer steht und ich bekomme das irgendwie nicht hin
Doskias
Doskias 05.11.2020 um 15:27:50 Uhr
Goto Top
Wie ich schon oben geschrieben habe: Versuch doch erstmal, dass dein Code bei einem Benutzer klappt. Wenn das funktioniert, dann bau eine Schleife für alle Benutzer drum herum.
emeriks
emeriks 05.11.2020 um 15:40:02 Uhr
Goto Top
Zitat von @146544:
Ich will nur einen Code der für alle Benutzer greift das in der Beschreibung die Abteilung und der Ort von den Benutzer steht und ich bekomme das irgendwie nicht hin
Ja, prima.
Hast Du meine letzte Anmerkung wahrgenommen und ausprobiert. Zaunpfahl "properties"?
146544
146544 05.11.2020 um 15:40:10 Uhr
Goto Top
Das bekomme ich ja nicht mal hin.
146544
146544 05.11.2020 um 15:43:48 Uhr
Goto Top
Ja hab ich probiert
emeriks
emeriks 05.11.2020 aktualisiert um 15:46:46 Uhr
Goto Top
Zitat von @146544:
Ja hab ich probiert
Und was passiert? Ist das Licht ausgegangen? Hat Deine Mutter angerufen? Irgendwas muss doch passiert sein, muss er gemeldet haben?
Der allumfassende Geht-Nicht-Fehler ist halt etwas schwer zu lösen.
Doskias
Lösung Doskias 05.11.2020 um 15:57:36 Uhr
Goto Top
Sorry, dann beschäftige dich ein wenig damit. Ich habe grade folgendes mal ebend ganz kurz ausprobiert:

$test1=Get-ADUser -filter "samaccountname -like '*Username*'" -Properties * |Select-Object city  
$test2=Get-ADUser -filter "samaccountname -like '*Username*'" -Properties * |Select-Object Office  
$Beschreibung="$test1"+", "+"$test2" -replace '@{City=', ' ' -replace '}','' -replace '@{Office=', ' '  
Get-ADUser -filter "samaccountname -like '*Username*'" -Properties * | Set-ADUser -Description $Beschreibung   

Das sind 4 Zeilen, die ich kurz mal in 10 Minuten da reingebastelt habe und das auch nur weil ich erst noch die AD-Attribute extra für die Füllen musste und nach meinem erfolgreichen Test wieder bereinigen musste. Deine Aufgabe ist es jetzt die Schleife drum herum zu bauen face-smile

Ach und noch ein Hinweis: Die Übersicht im AD füllt sich nicht automatisch. Du musst die Übersicht im AD händisch aktuallisieren.

Gruß
Doskias
146544
146544 05.11.2020 um 15:59:27 Uhr
Goto Top
Er hat wohl beim Auslesen der Felder des Benutzers Schwierigkeiten das Beschreibungsfeld ist immer noch leer
146189
146189 06.11.2020 aktualisiert um 12:19:48 Uhr
Goto Top
So ein Fass aufmachen für so ne Pillepalle, kein Wunder das der sich abgemeldet hat ...
Get-ADUser -Filter * -Properties Description,City,Department | %{Set-ADUser $_.SamAccountName -Description "$($_.Department) $($_.City)"}  
emeriks
emeriks 06.11.2020 um 12:32:04 Uhr
Goto Top
Zitat von @146189:
So ein Fass aufmachen für so ne Pillepalle, kein Wunder das der sich abgemeldet hat ...
Du meinen?