powershell MSOnline和AzureAD混用的一些坑

MSOnline与AzureAD实现机制不同,混用会到导致明显的问题
例如你用New-AzureADUser创建完账户,用Set-MsolUser企图修改用户属性就会出现找不到用户的情况。

其中Set-MsolUser提供了开启MFA 的-StrongAuthenticationRequirements的参数而Set-AzureADUser却没有,如果不用同一个包修改和创建用户修改失败。

如果需要创建用户的同时开启MFA必须统一使用MSOnline包


```powershell

$GivenName = "test"
$Surname = "test"
$JobTitle = "test"
$Department = "IT"

$Dsiplayname = (Get-Culture).TextInfo.ToTitleCase(-join($Surname,","," ",$GivenName))
$unp = -join((Get-Culture).TextInfo.ToTitleCase($GivenName),'.',(Get-Culture).TextInfo.ToTitleCase($Surname),"@xxxxx-xxx.xx")
Import-Module MSOnline
$PWord = ConvertTo-SecureString -String xxxxx -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList xxxx@xxxxx-xxx.xx, $PWord
$st = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement
$st.RelyingParty = "*"
$st.State = "Enabled"
$sta = @($st)

Connect-MsolService -Credential $Credential

New-MsolUser `
-FirstName $GivenName `
-LastName $Surname `
-DisplayName $Dsiplayname `
-UserPrincipalName $unp `
-ForceChangePassword $true `
-Password "xxxxx" `
-Title $JobTitle `
-Department $Department `
-LicenseAssignment "xxxxx:ENTERPRISEPACK" `
-UsageLocation CN

Set-MsolUser -UserPrincipalName $unp -StrongAuthenticationRequirements $sta 

对了New-MsolUser是有-StrongAuthenticationRequirements参数的但是亲测是无效的,所以请在Set-MsolUser中开启-StrongAuthenticationRequirements

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值