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:
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:
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
folgendes Szenario:
Wir haben von der Personalabteilung eine CSV-Datei mit allen Usern bekommen, die ungefähr so aussieht:
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 315014
Url: https://administrator.de/contentid/315014
Ausgedruckt am: 24.11.2024 um 15:11 Uhr
2 Kommentare
Neuester Kommentar
Set-ADUser -title $BBezeichnung
You forgot to mention which account has to be modified . 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