使用PowerShell AzureAD脚本将群组由静态更改为动态

3

尝试通过Powershell将某些Azure AD组从静态更改为动态(有75个组,因此我们需要以某种方式进行此操作)

最初,我试图使用以下脚本自动从TXT列表中运行它:

$grouplist = Get-Content -Path "C:\foldername\filename.txt"

Set-AzureADMSGroup -DisplayName $group -GroupTypes "DynamicMembership" -membershipRule "(user.department -eq "$group") and (user.jobTitle -eq "JobtitleXX")"

$counter += 1

if($counter -eq 1){​​​​​​
    Sleep -Seconds (60 * 1)
    $counter = 0
}​​​​​​

}​​​​​​

它失败了。

所以我将其尝试为一个简单的单一组脚本:

Set-AzureADMSGroup -Id XXXXXXXXXXXXXXXXXXXXXXXXXXXX -GroupTypes "DynamicMembership" -MembershipRule '(user.department -eq "DepartmentXX") and (user.jobTitle -eq "JobTitleXX")' -MembershipRuleProcessingState "On"

但是它遇到了这个错误:
Set-AzureADMSGroup : A parameter cannot be found that matches parameter name 'MembershipRule'.
At line:1 char:93
+ ... -102d855d224c -GroupTypes "DynamicMembership" -MembershipRule '(user. ...
+                                                   ~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-AzureADMSGroup], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.Open.MSGraphV10.PowerShell.SetMSGroup

尝试几次后,似乎没有任何作用。有人可以帮我吗?

1个回答

1
由于某些原因,Set-AzureADMSGroup 命令中的 -MembershipRule 参数仍然只能在 AzureAD 模块的预览版中使用。
# Install the preview module. May need to -AllowClobber
Install-Module AzureADPreview

# Import it into scripts instead of AzureAD. May need to -Force if AzureAD is loaded
Import-Module AzureADPreview

Get-Command Set-AzureADMSGroup | Select -ExpandProperty Parameters

Key                                                                 
---
GroupTypes
MembershipRule  # voila!
MembershipRuleProcessingState

截至目前 AzureAD 的当前版本为:2.0.2.130

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接