Guten Tag,
ich bin noch recht ein Anfänger mit Powersell und bräuchte Hilfe, da ich einfach nicht schaffe, bei Usern, welche vorher ÜÖÄ im Namen hatten zu erfassen und ihre Einträge zu ändern.
Der Script soll drei Sachen machen.
User über eine CSV Datei erstellen, wenn diese vorhanden sind, dann deren Einträge anpassen(Telefonnummer, Position, Titel, Straße etc) und wenn Sie noch Umlaute im Namen haben die dann beim erstellen umwandeln, da ansonsten Email und Domainlogin Umlaute im
Namen haben.
Import-Module ActiveDirectory Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn; $Import =Import-CSV “c:\temp\User.csv” -Delimiter ";" -Encoding:UTF8 $OU = “OU=Firma,OU=Testuser,DC=zero,DC=int” Foreach ($user in $Import) { function Convert-Umlaut { param ( [Parameter(Mandatory)] $Text ) $output = $Text.Replace('ö','oe').Replace('ä','ae').Replace('ü','ue').Replace('ß','ss').Replace('Ö','Oe').Replace('Ü','Ue').Replace('Ä','Ae') $isCapitalLetter = $Text -ceq $Text.toUpper() if ($isCapitalLetter) { $output = $output.toUpper() } $output } $VNkurz = Convert-Umlaut $user.Vorname $NNkurz = Convert-Umlaut $user.Nachname $kurz = ($NNkurz + $user.Domainname) #Überprüft, ob User schon existiert if (Get-ADUser -Filter { SamAccountName -eq $kurz}) { Set-ADUser -identity ($user.Nachname + $user.Domainname)` -Department $user.Position` -Title $user.Titel ` -Description $user.Visitenkarte` -Company $user.Firma ` -StreetAddress $user.Straße ` -PostalCode $user.PLZ` -City $user.Ort` -MobilePhone $user.Mobil` -OfficePhone $user.Phone` -HomePage $user.Website` } else { $password = $user.password | ConvertTo-SecureString -AsPlainText -Force New-ADUser -Name ($user.Nachname + " " + $user.Vorname) ` -GivenName $user.Vorname ` -Surname $user.Nachname ` -UserPrincipalName ($NNkurz + $user.Domainname + $user.UPN) ` -sAMAccountName ($NNkurz + $user.Domainname) ` -Department $user.Position` -Title $user.Titel ` -Description $user.Visitenkarte` -Company $user.Firma ` -StreetAddress $user.Straße ` -PostalCode $user.PLZ` -City $user.Ort` -MobilePhone $user.Mobil` -OfficePhone $user.Phone` -HomePage $user.Website` -Path $OU -AccountPassword $Password -ChangePasswordAtLogon $True -Enabled $True #Mailbox anlegen Get-User ($NNkurz + $user.Domainname + $user.UPN) | Enable-Mailbox -Alias ($VNkurz + "." + $NNkurz) -DisplayName ($user.Nachname +" "+ $user.Vorname) } }
Wenn ich den Code ausführe und die User schon existieren, dann bekomme ich folgende Fehlermeldung:
Set-ADUser : replace In C:\temp\Test4.ps1:33 Zeichen:2+ Set-ADUser -identity ($user.Nachname + $user.Domainname)`+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo : InvalidOperation: (ZimmermannM:ADUser) [Set-ADUser], ADInvalidOperationException+ FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.SetADUser
Ich habe schon einige Sachen versucht, was man an den verweisten Funktion sieht. Aber ich komme nicht dahinter, was falsch ist. Vielleicht wird auch mir die falsche Stelle als fehlerhaft angezeigt?