我的公司使用Office 365 for Exchange,SharePoint,Lync等,包括通过Azure Active Directory内置的用户pipe理。
现在我们要切换到Windows Server上的本地AD。 它应该将更改同步到Azure,但主要用户和组策略pipe理发生在Windows服务器上。
我们如何最初从Azure AD获取用户帐户到本地(Windows服务器)AD?
编辑1:有没有人使用Microsoft Forefront Identity Manager查看这个? 它看起来像DirSync这个工具。 在DirSync服务器上打开“miisclient.exe”(位于“C:\ Program Files \ Windows Azure Active Directory Sync \ SYNCBUS \ Synchronization Service \ UIShell”)。 可以将其configuration为同步其他方向…可以。
您可以使用Get-MsolUser PowerShell cmdlet从Azure Active Directory中导出用户数据,然后使用New-ADUser cmdlet获取该数据并在本地创build帐户。 这就是说,没有交钥匙的方式来做到这一点。 你必须编写一些脚本。
@MDMarra:感谢提示,所以我做了:
O365的用户可以使用PowerShell导出
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,我可以find一个看起来合适的映射。 这些不是全部列,但是其中许多不能被映射到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) }
这将创build名为Firstname.Lastname的新用户。 像SignInName的其他属性不能使用,因为它们不是有效的AD帐户名称。
国家不能import,因为AD要求国家实际存在,而O365接受自由文本。
密码将被设置为“秘密!”,因为如果没有提供密码,帐户将被创build,但被禁用。
在Excel中编辑CSV文件可能会很方便,但我build议只使用PowerShell。 Excel从电话号码删除前导零或重新格式化其他东西。 另外,介意UTF8。