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-Key: 315014

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

Printed on: April 23, 2024 at 18:04 o'clock

Mitglied: 129813
Solution 129813 Sep 11, 2016 updated at 14:46:58 (UTC)
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
Member: Alex94G
Alex94G Sep 11, 2016 at 14:58:15 (UTC)
Goto Top
@129813, you just made my day! Thank you so much! face-smile

Regards,
Alex