将用户帐户从Azure AD迁移到本地AD?


9

我的公司将Office 365用于Exchange,SharePoint,Lync等,包括通过Azure Active Directory进行的内置用户管理。

现在,我们要切换到Windows Server上的本地AD。它应将更改同步到Azure,但是主要用户和组策略管理在Windows服务器上进行。

我们最初如何将用户帐户从Azure AD转换为本地(Windows服务器)AD?

edit1:有人使用Microsoft Forefront Identity Manager进行过调查吗?看来此工具是DirSync附带的。在DirSync服务器上打开“ miisclient.exe”(位于“ C:\ Program Files \ Windows Azure Active Directory Sync \ SYNCBUS \ Synchronization Service \ UIShell”中)。可能可以将其配置为同步另一个方向。


添加新的DC?这就是本地AD的工作方式。
内森·C

@TheCleaner:我之前已经阅读了可能的重复项,但我不会说它是重复项,因为我只想迁移用户,而不是将它们从Azure永久同步到内部部署。因此,我认为这里可能还有其他解决方案,例如脱机工具或某些无法永久同步的解决方案。
2014年

@NathanC是什么意思?您无法像使用本地域控制器那样将传统域控制器连接到Azure Active Directory。
MDMarra 2014年

@MDMarra -内森很困惑......同他在其他类似的问题:serverfault.com/questions/550595/...
TheCleaner

Answers:


8

您可以使用Get-MsolUser PowerShell cmdlet从Azure Active Directory导出用户数据,然后使用New-ADUser cmdlet接收该数据并在本地创建帐户。就是说,没有交钥匙的方式来做到这一点。您将不得不编写一些脚本。


1
+1为“在本地重建”方法,Azure Directory Synchronization是一条单向大街
Mathias R. Jessen 2014年

我只是调查了一下,从O365可以得到的56个属性中,我可以将17个属性映射到其内部类比。对于其余的部分,我希望它们不是那么重要...
犯了罪

8

@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。


不要忘记接受您自己的答案(单击左侧的绿色对勾)
Mathias R. Jessen 2014年

Azute AD Connect现在可用并解决了问题。azure.microsoft.com/en-gb/documentation/articles/...
伊戈尔Gatis

3
@Gatis Azure AD Connect不会创建从Azure AD到
本地

2
若要执行这些cmdlet,必须使用此链接msdn.microsoft.com/zh-CN/library/azure/hh974476.aspx
Niraj,

@sinned如果未提供密码,则不会创建该帐户..它将生成类似以下错误:“ New-ADUser:该密码不符合域的长度,复杂性或历史记录要求。”
Aravinda
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.