alex94g
Goto Top

AD-Felder für User mittels Powershell befüllen aus CSV-Datei

Hallo Admins,

folgendes Szenario:

Wir haben von der Personalabteilung eine CSV-Datei mit allen Usern bekommen, die ungefähr so aussieht:

tabelle_bild

Nun soll mittels Powershell das AD abgeklappert werden - hier ein Beispiel:

"Suche den User, der im Feld 'Description' die Personalnummer x hat und fülle dann bei diesem User die Felder 'title' mit den Daten aus dem Feld 'Planstelle' und 'department' mit den Daten aus dem Feld 'Organisationseinheit'.

Folgenden Code habe ich gebastelt:

Import-Module ActiveDirectory

# User einlesen; Trennzeichen angeben
$Users = Import-CSV  'C:\+\Test.csv' –Delimiter ';'  

ForEach($User in $Users) {

# Properties in Variablen schreiben
$Personalnummer = $User.Personalnummer.Text
$Nachname = $User.Nachname.Text
$Vorname = $User.Vorname.Text
$BBezeichnung = $User.Planstelle.Text
$Kostenstelle = $User.Kostenstelle.Text
$Abteilung = $User.Organisationseinheit.Text

Get-ADUser -Filter "description -like '$Personalnummer'" |  
ForEach-Object {
Set-ADUser -title $BBezeichnung
Set-ADUser -department $Kostenstelle
}
}

Leider bin ich in Powershell nicht so fit, da ich mich relativ selten damit befassen muss - könntet ihr mir einen Denkanstoß geben, warum das nicht funktioniert?

Grüße
Alex

Content-ID: 315014

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

Ausgedruckt am: 24.11.2024 um 15:11 Uhr

129813
Lösung 129813 11.09.2016 aktualisiert um 16:46:58 Uhr
Goto Top
Set-ADUser -title $BBezeichnung
You forgot to mention which account has to be modified face-smile. Using foreach is not enough for set-aduser to know what should be modified.
Set-ADUser $_.SamAccountName -title $BBezeichnung 
$User.Nachname.Text
There is no property Text in a csv-object: You have to use $User.Nachname (for the others too.)

Regards
Alex94G
Alex94G 11.09.2016 um 16:58:15 Uhr
Goto Top
@129813, you just made my day! Thank you so much! face-smile

Regards,
Alex