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

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

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

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

我们最初如何将用户帐户从 Azure AD 转移到本地(windows-server)AD?

编辑1:有人使用 Microsoft Forefront Identity Manager 研究过这个问题吗?看起来这个工具是随 DirSync 提供的。在 DirSync 服务器上打开“miisclient.exe”(位于“C:\Program Files\Windows Azure Active Directory Sync\SYNCBUS\Synchronization Service\UIShell”)。可能可以将其配置为同步其他方向……可能。

答案1

@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,我可以在 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 帐户名。

无法导入国家/地区,因为 AD 要求该国家/地区确实存在,而 O365 接受自由文本。

密码将被设置为“Secret!”,因为如果没有提供密码,则会创建但禁用该帐户。

在 Excel 或其他工具中编辑 CSV 文件可能很方便,但我建议仅使用 PowerShell。Excel 会从电话号码中删除前导零或重新格式化其他内容。另外,请注意 UTF8。

答案2

您可以使用 Get-MsolUser PowerShell cmdlet 从 Azure Active Directory 导出用户数据,然后使用 New-ADUser cmdlet 获取该数据并在本地创建帐户。也就是说,没有一劳永逸的方法可以做到这一点。您必须编写一些脚本。

相关内容