Exchange Powershell 循环分发列表
Exchange Powershell Loop Distribution List
我有这个 Gets-DistributionGroupMembers
和/或更新会员政策的 Powershell 脚本。
$DL = Get-DistributionGroupMember "Distribution List GroupName"
ForEach ($Member in $DL) { Set-CASMailbox -Identity $Member.Name -OwaMailboxPolicy "Allow Download Access" }
以上代码运行正常。
我的问题是:
如何判断$Member.Name
是个人账户还是群组
和IF是一个组,那么如何递归调用同一个Action Script。
提前致谢。
未经测试,但我认为您可以通过检查 RecipientTypeDetails 属性.
来确定该成员是否是一个组
类似于:
function Set-DistributionGroupPolicy([string] $group) {
Get-DistributionGroupMember $group -ResultSize Unlimited | ForEach-Object {
if ($_.RecipientTypeDetails -match "Group") {
Write-Verbose "Recursing on group '$($_.Name)'"
Set-DistributionGroupPolicy $_.Name
}
Set-CASMailbox -Identity $_.Name -OwaMailboxPolicy "Allow Download Access"
}
}
Set-DistributionGroupPolicy
我有这个 Gets-DistributionGroupMembers
和/或更新会员政策的 Powershell 脚本。
$DL = Get-DistributionGroupMember "Distribution List GroupName"
ForEach ($Member in $DL) { Set-CASMailbox -Identity $Member.Name -OwaMailboxPolicy "Allow Download Access" }
以上代码运行正常。
我的问题是:
如何判断
$Member.Name
是个人账户还是群组和IF是一个组,那么如何递归调用同一个Action Script。
提前致谢。
未经测试,但我认为您可以通过检查 RecipientTypeDetails 属性.
来确定该成员是否是一个组类似于:
function Set-DistributionGroupPolicy([string] $group) {
Get-DistributionGroupMember $group -ResultSize Unlimited | ForEach-Object {
if ($_.RecipientTypeDetails -match "Group") {
Write-Verbose "Recursing on group '$($_.Name)'"
Set-DistributionGroupPolicy $_.Name
}
Set-CASMailbox -Identity $_.Name -OwaMailboxPolicy "Allow Download Access"
}
}
Set-DistributionGroupPolicy