AD User pflegen anhand einer CSV
Hallo,
ich habe folgendes Problem.
ich habe alle userdaten und darunter liegenden eigenschaften in eine .csv exportiert.
Nun möchte ich alle Daten in der AD pflegen, ergänzen und standardisieren.
Fehlercode
ich habe folgendes Problem.
ich habe alle userdaten und darunter liegenden eigenschaften in eine .csv exportiert.
Nun möchte ich alle Daten in der AD pflegen, ergänzen und standardisieren.
$OU_ADUSER="OU=Benutzer,OU=X,OU=X,DC=X,DC=de"
$userCSV="C:\userlist.csv"
Import-Module ActiveDirectory
Import-Csv $userCSV -delimiter ';' | %{
### User in AD suchen | AD-SAMName mit SAMName aus CSV vergleichen ########
Get-aduser -Filter * -SearchBase $OU_ADUSER| ForEach-Object {sAMAccountName -eq "$_.sAMAccountName"}
### Anhand der csv folgende werte ersetzen ####
Set-Aduser -Identity $_.sAMAccountName -Replace @{cn=$_.cn; Givenname=$_.Givenname; Surname=$_.Surname; telephoneNumber=$_.telephoneNumber; company=$_.company; description=$_.description; department=$_.department}
Fehlercode
sAMAccountName : Die Benennung "sAMAccountName" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt.
Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In C:\UserToGroup_test.ps1:6 Zeichen:62
+ Get-aduser -Filter * -SearchBase $OU_ADUSER| ForEach-Object {sAMAccountName -eq ...
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (sAMAccountName:String) , CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 248812
Url: https://administrator.de/contentid/248812
Ausgedruckt am: 21.11.2024 um 16:11 Uhr
4 Kommentare
Neuester Kommentar
Habs jetzt nochmal durchgespielt mit verschiedensten Varianten und steig auch nicht dahinter...
Anfang des Jahres hatte ich folgendes Script genutzt:
Ein wenig dran rumschreiben sollte eigentlich dein Problem lösen...
Hoffe das hilft dir mehr weiter als der vorherige Post.
Grüße
Anfang des Jahres hatte ich folgendes Script genutzt:
Import-Csv "Deine.csv" | ForEach-Object {
$userPrinc = $_."Logon Username" + "@yourdomain"
New-QADUser -Name $_.Name `
-ParentContainer $_."Container" `
-SamAccountName $_."Logon Username" `
-UserPassword "!12345qwert" `
-FirstName $_."First Name" `
-LastName $_."Last Name" `
-LogonScript "" `
-Description $_."Beschreibung" `
-UserPrincipalName $userPrinc `
-DisplayName $_."Name" ;`
Add-QADGroupMember -identity $_."Gruppe 1" -Member $_."Logon Username" ;`
Add-QADGroupMember -identity $_."Gruppe 2" -Member $_."Logon Username" ;`
Add-QADGroupMember -identity $_."Gruppe 3" -Member $_."Logon Username" ;`
Set-QADUser -identity $_."Logon Username" `
-UserMustChangePassword $true `
}
Ein wenig dran rumschreiben sollte eigentlich dein Problem lösen...
Hoffe das hilft dir mehr weiter als der vorherige Post.
Grüße
Moin LuciusCastus,
da ist ja auch einiges nicht stimmig, wenn dann sähe "dein" Script so aus.
Grüße Uwe
da ist ja auch einiges nicht stimmig, wenn dann sähe "dein" Script so aus.
Import-Module ActiveDirectory
$OU_ADUSER="OU=Benutzer,OU=X,OU=X,DC=X,DC=de"
$userCSV="C:\userlist.csv"
Import-Csv $userCSV -delimiter ';' | %{
$csv_username = $_.SAMAccountName
$user = Get-aduser -Filter * -SearchBase $OU_ADUSER | ?{$_.sAMAccountName -eq $csv_username}
if ($user){
# User wurde gefunden, ändere die Eigenschaften
Set-Aduser -Identity $_.sAMAccountName -Replace @{cn=$_.cn; Givenname=$_.Givenname; Surname=$_.Surname; telephoneNumber=$_.telephoneNumber; company=$_.company; description=$_.description; department=$_.department
}else{
# User wurde noch nicht gefunden, lege ihn hier an ....
# new-aduser .................................
}