为O365设置不可变ID的脚本



我希望你能帮忙,如果以前有人回答过这个问题,但我找不到任何信息,我马上道歉。

我想从prem AD导出一个用户列表,并将他们的ObjectGUID转换为和不可变ID。(我已经完成了(

然后,我想获取导出的信息并使用它,以便为每个用户的O365帐户设置不可变ID,为Azure集成做准备。我想这样做,这样我就可以强制进行硬匹配,以避免重复帐户等。

以下是我到目前为止的代码,基本上需要帮助来完成它使用for循环等。(我猜(

Import-Module ActiveDirectory
$Users=Get-ADUser -Filter *

function guidtobase64
{
param($str);
$g = new-object -TypeName System.Guid -ArgumentList $str;
$b64 = [System.Convert]::ToBase64String($g.ToByteArray());
return $b64;
}
$Users | Select UserPrincipalName,@{Expression={(guidtobase64($_.ObjectGUID))}; Label="ImmutableID"} | Export-Csv c:AzureSync_ProcessingOps.csv -Delimiter ';' -NoTypeInformation

我设法让它工作起来,所以我想如果其他人需要为O365同步进行硬匹配,我会发布答案。

Import-Module ActiveDirectory
$Users=Get-ADUser -Filter *
function guidtobase64
{
param($str);
$g = new-object -TypeName System.Guid -ArgumentList $str;
$b64 = [System.Convert]::ToBase64String($g.ToByteArray());
return $b64;
}
$Users | Select UserPrincipalName,@{Expression={(guidtobase64($_.ObjectGUID))}; Label="ImmutableID"}
Connect-MsolService
foreach ($User in $Users)
{
try 
{
$UPN = $User.UserPrincipalName
$ImmutableID = $User.ImmutableID
Get-MsolUser -UserPrincipalName $UPN | Set-MsolUser -ImmutableId $ImmutableId
}

catch
{
Write-Output $_.Exception.Message
}
}

最新更新