PowerShell-Skript zum Importieren ins AD aus einer csv
Hallo,
ich habe mir das ps-Skript von www.alitajran.com/import-ad-users-from-csv-powershell geholt und wollte es für meine Bedürfnisse anpassen:
Die csv-Datei schaut so aus:
Als Fehler erhalte ich in der PowerShell einzig das hier:
Warnung: Failed to create user . Der angegebene Name hat ein falsches Format für einen Kontonamen
Vielen Dank für Hilfe.
Gruß
Tobias
ich habe mir das ps-Skript von www.alitajran.com/import-ad-users-from-csv-powershell geholt und wollte es für meine Bedürfnisse anpassen:
$Csvfile = "Z:\import.csv"
$Users = Import-Csv $Csvfile
# Import the Active Directory module
Import-Module ActiveDirectory
# Loop through each user
foreach ($User in $Users) {
$GivenName = $User.'First name'
$Surname = $User.'Last name'
$DisplayName = $User.'Display name'
$SamAccountName = $User.'User logon name'
$UserPrincipalName = $User.'UPN User principal name'
# $AccountPassword = $User. 'User Password'
# Create new user parameters
$NewUserParams = @{
Name = "$Surname $GivenName"
GivenName = $GivenName
Surname = $Surname
DisplayName = $DisplayName
SamAccountName = $SamAccountName
UserPrincipalName = $UserPrincipalName
#AccountPassword = (ConvertTo-SecureString "$AccountPassword" -AsPlainText -Force)
Path = "OU=Pfad,OU=zu,OU=Benutzern,DC=Meine,DC=Firma,DC=de"
Enabled = $true
ChangePasswordAtLogon = $false # Set the "User must change password at next logon" flag
}
try {
# Create the new AD user
New-ADUser @NewUserParams
Write-Host "User $SamAccountName created successfully." -ForegroundColor Cyan
}
catch {
# Failed to create the new AD user
Write-Warning "Failed to create user $SamAccountName. $_"
}
}
Die csv-Datei schaut so aus:
"GivenName","Surname","DisplayName","SamAccountName","UserPrincipalName"
"Lisa","Muster","Muster Lisa","MusterLi","MusterLi@Meine.Firma.de"
Als Fehler erhalte ich in der PowerShell einzig das hier:
Warnung: Failed to create user . Der angegebene Name hat ein falsches Format für einen Kontonamen
Vielen Dank für Hilfe.
Gruß
Tobias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 8166839922
Url: https://administrator.de/contentid/8166839922
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar
Moin,
beim definieren der Parameter $GivenName, $Surname, usw. verwendest du falsche Properties, die nicht übereinstimmend sind mit deiner CSV.
Wenn du die CSV importierst kannst du ja mal in der Konsole folgendes eingeben:
Hier siehst du dann welche Properties deine Variable $Users beinhaltet.
Bspw. wird in Zeile 9:
eine Property mit "First Name" gesucht - den gibt es aber nicht. Deshalb ist auch die Variable $GivenName leer.
Müsste also:
sein.
Properties werden definiert durch die Columns der CSV.
Der Kollege der das PS-Script veröffentlicht hat, hat andere CSV Columns. Kannst natürlich auch einfach die Columns in der CSV anpassen und dann sollte das auch gehen.
Versuch es mal damit - bin leider kein PS-Experte. Hier hat bestimmt jemand anderes direkt die Lösung parat für dich :D
VG
beim definieren der Parameter $GivenName, $Surname, usw. verwendest du falsche Properties, die nicht übereinstimmend sind mit deiner CSV.
Wenn du die CSV importierst kannst du ja mal in der Konsole folgendes eingeben:
Get-Member -InputObject $Users[0]
Hier siehst du dann welche Properties deine Variable $Users beinhaltet.
Bspw. wird in Zeile 9:
$GivenName = $User.'First name'
Müsste also:
$GivenName = $User.'GivenName'
Properties werden definiert durch die Columns der CSV.
Der Kollege der das PS-Script veröffentlicht hat, hat andere CSV Columns. Kannst natürlich auch einfach die Columns in der CSV anpassen und dann sollte das auch gehen.
Versuch es mal damit - bin leider kein PS-Experte. Hier hat bestimmt jemand anderes direkt die Lösung parat für dich :D
VG