"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Active Directory Daten bei allen Usern ändern

Umlüx 20.08.2018 - 13:42 2298 4
Posts

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8897
Da wir unser Rufschema vereinheitlichen wollen, müsste ich nun bei allen Usern in der AD die hinterlegte Telefonnummer ändern.
Nun stellt sich natürlich die Frage, wie ich das am elegantesten angehen könnte? Sind jemanden irgendwelche (batch) Tools oder Vorgangsweisen bekannt um das zu automatisieren? Oder vielleicht ein PS Script?

Im Prinzip müsste ich das Feld "telephoneNumber" mit einer fixen Nummer + "ipPhone" füllen/überschreiben. Und das pro Bundesland (eigene OU).
Vielleicht noch eine Log mitschreiben und ich bin glücklich!
Bearbeitet von Umlüx am 03.09.2018, 14:40

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15844
Ich hab letzte Woche ein Import Export Script geschrieben, da wären die nötigen Dinge drinnen, ich bin die Woche aber in Italien :D
Wennst Zeit hast könn ma das nächste Woche gach machen, sollt in 3-4 Zeilen erledigt sein

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8897
Danke, aber wies oft so läuft sollts der GF nach am besten Gestern schon laufen :D

Ich arbeite ja selber gerade an einem PS Script gefrickel.. aber wenn hier schon wer eine fertige Lösung hätte, wär mir das sehr recht!

mr.nice.

endlich fertig
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6296
https://blogs.technet.microsoft.com...via-powershell/

Das hier kommt deiner Anforderung schon sehr nahe, musst halt noch die fixe Nummer definieren und das ipPhone Feld auslesen.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8897
das sieht schonmal nicht so übel aus. zumindest sind die benötigten commands und argumente drin.
danke.

edit:
Hinbekommen! (schneller als erwartet :D)
Ich les alle User in der betroffenen OU aus, check ob es das Attribut ipPhone gibt (dort steht die Durchwahl), und schreib die neue Nummer + DW zurück. Dazu ein kleiner Logeintrag der betroffenen User und fertig.

Code:
$users = (Get-ADUser -Filter * -SearchBase "OU=xxxxx,DC=xxxxx,DC=com" -Properties telephonenumber, ipphone  | select  SamAccountName, telephonenumber, ipphone)
foreach ($user in $users) {
    if($user.ipphone) {
        $new_number = "+43 463 3870 " + $user.ipphone        
        Set-ADUser -Identity $user.SamAccountName -OfficePhone $new_number
        $logline = $user.SamAccountName + ", " +  $user.ipphone + " set to $new_number"
        $logline | Out-File ad.log -Append
    }
}
Bearbeitet von Umlüx am 20.08.2018, 14:54
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz