运行命令help firewall | Select-Object Category help firewall | Select-Object Category 。 结果是一列空白Category 。 奇怪的是,空行数表示help firewall的行数,而不会将其调用管道到Select-Obj ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
组成员注册 MFA 后,我需要从一个 Azure AD 组中删除该成员并将其添加到另一个组。
当我运行脚本时,我没有收到任何错误,但它没有按预期删除/添加成员。 我可以验证它是否通过了第 2 步,但之后什么也不做。 我相信我在第 3 步开始时需要一个Select-Object
。
如果成员已注册 MFA,脚本将从 A 组中删除成员并将其移至 B 组。
Get-AzureADGroupMember -ObjectId "7d23abf4-4e30-4092-b4e6-a5297addad75" |
Where-Object {$_.StrongAuthenticationMethods -ne $null} |
Add-AzureADGroupMember -ObjectId "24db4ad9-8fe0-45f6-a71a-79b76395105a" |
Remove-AzureADGroupMember -ObjectId "7d23abf4-4e30-4092-b4e6-a5297addad75"
Step 1. Get member of Group A Step 2. Where member has enrolled in MFA Step 3. Add member to Group B Step 4. Remove member from Group A
脚本应审核一个 Azure 广告组 (A) 以查看哪些成员已注册 MFA,从该组中删除已注册的成员,并将其移至另一个组 (B)。
您的脚本有两个问题。
1. |
表示 powershell 管道,不是这样的用法,更多详细信息请参见此链接。
2. AzureAD
powershell 中的User
实体没有StrongAuthenticationMethods
属性,它存在于MSOnline powershell
中,所以你需要使用它来代替。
这是给您的示例,请确保您已使用Install-Module MSOnline
安装了MSOnline
powershell 模块。
注意:您需要确保用户尚未在 B 组中,否则您会收到错误消息The group member you are trying to add is already a member of this group
。
Connect-MsolService
$groupA = "<objectid of group A>"
$groupB = "<objectid of group B>"
#get the users(whose GroupMemberType is 0) in the group A
$userids = (Get-MsolGroupMember -GroupObjectId $groupA | Where-Object {$_.GroupMemberType -eq '0'}).ObjectId
#add the MFA-enrolled user to A and remove from B
foreach($item in $userids){
$user = Get-MsolUser -ObjectId $item
if($user.StrongAuthenticationMethods.Count -ne "0"){
Add-MsolGroupMember -GroupObjectId $groupB -GroupMemberType User -GroupMemberObjectId $item
Remove-MsolGroupMember -GroupObjectId $groupA -GroupMemberType User -GroupMemberObjectId $item
}else{
Write-Host The user $user.DisplayName is not MFA-enrolled.
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.