@MDMarra:感谢您的提示,所以我做到了:
可以通过Powershell使用以下命令导出O365中的用户
Get-MsolUser | Select-Object City, Country, Department, DisplayName, Fax, FirstName, LastName, MobilePhone, Office, PasswordNeverExpires, PhoneNumber, PostalCode, SignInName, State, StreetAddress, Title, UserPrincipalName | Export-Csv C:\Temp\Azure_Export_2014_12_05.csv -Encoding UTF8
这会将所有列导出到CSV,在其中我可以找到看起来合适的映射。这些不是全部的列,但是其中许多不能映射到AD中的属性。其他(如密码)无法导出。
要将用户导入AD,请在powershell中运行
import-csv C:\Temp\Azure_Export_2014_12_05.csv -Encoding UTF8 | foreach-object {New-ADUser -Name ($_.Firstname + "." + $_.Lastname) -SamAccountName ($_.Firstname + "." + $_.Lastname) -GivenName $_.FirstName -Surname $_.LastName -City $_.City -Department $_.Department -DisplayName $_.DisplayName -Fax $_.Fax -MobilePhone $_.MobilePhone -Office $_.Office -PasswordNeverExpires ($_.PasswordNeverExpires -eq "True") -OfficePhone $_.PhoneNumber -PostalCode $_.PostalCode -EmailAddress $_.SignInName -State $_.State -StreetAddress $_.StreetAddress -Title $_.Title -UserPrincipalName $_.UserPrincipalName -AccountPassword (ConvertTo-SecureString -string "Secret!" -AsPlainText -force) -enabled $true }
这将创建名为Firstname.Lastname的新用户。无法使用其他属性,例如SignInName,因为它们不是有效的AD帐户名称。
无法输入国家/地区,因为O365接受自由文本时,AD要求该国家/地区实际存在。
密码将设置为“ Secret!”,因为如果未提供密码,则将创建该帐户,但是将其禁用。
在Excel等工具中编辑CSV文件可能很方便,但我建议仅使用PowerShell。Excel会从电话号码中删除前导零或重新格式化其他内容。另外,请注意UTF8。