Powershell - csv - UPN erzeugen
Guten Morgen
Ausgangslage: Eine csv-Datei mit vorname, nachname und abteilung.
Ziel: Die User sollen in Office365 angelegt werden. Hiezu soll der UserPrincipalName generiert werden, also Vorname.Zuname@contoso.onmicrosoft.com.
Dies funktioniert ja tadellos, wenn eben in der csv ein UPN eingetragen ist.
Der Teil "@contoso.onmicrosoft.com" kann ruhig hardcoded sein, er ist überall gleich.
Versucht habe ich es auf die Art, wie man Variable zusammenführt, mit und ohne + Zeichen, mit und ohne Klammern aller Art und im Netz habe ich nur Anleitungen gefunden, wo bereits die Spalte UPN befüllt war.
Hat hier irgendwer eine Idee?
Ausgangslage: Eine csv-Datei mit vorname, nachname und abteilung.
Ziel: Die User sollen in Office365 angelegt werden. Hiezu soll der UserPrincipalName generiert werden, also Vorname.Zuname@contoso.onmicrosoft.com.
Import-Csv -Path "C:\My Documents\NewAccounts.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\My Documents\NewAccountResults.csv"
Dies funktioniert ja tadellos, wenn eben in der csv ein UPN eingetragen ist.
Der Teil "@contoso.onmicrosoft.com" kann ruhig hardcoded sein, er ist überall gleich.
Versucht habe ich es auf die Art, wie man Variable zusammenführt, mit und ohne + Zeichen, mit und ohne Klammern aller Art und im Netz habe ich nur Anleitungen gefunden, wo bereits die Spalte UPN befüllt war.
Hat hier irgendwer eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 341734
Url: https://administrator.de/forum/powershell-csv-upn-erzeugen-341734.html
Ausgedruckt am: 09.04.2025 um 15:04 Uhr
4 Kommentare
Neuester Kommentar

Ich seh hier kein Problem ...
Gruß
Import-Csv -Path "C:\My Documents\NewAccounts.csv" -delim ";" | % {New-MsolUser -DisplayName $_.DisplayName -UserPrincipalName "$($_.Vorname).$($_.Nachname)@contoso.onmicrosoft.com" -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId}

Du hast vermutlich einfach Klammern um deinen Ausdruck vergessen wenn du das direkt hinter dem Parameter zusammensetzt.
.
PS: Wo und wie findet man solche "Schmankerl"?
In der regulären Doku von MS zu PowerShell! Die liest nur anscheinend keiner mehr komplett durch