0

我正在搜索特定的 OU,然后为 OU 中的所有用户禁用 OWA。该脚本每天运行。

我有以下脚本可以正常工作,但正在更新 OU 中的所有用户。

$OU='OU=SomeOU,DC=Domain,DC=com'
$ext14='00254'
Get-Mailbox -OrganizationalUnit $OU| Where {$_.CustomAttribute14 -eq $ext14} | Set-CASMailbox -OWAEnabled:$false

$True我只想更新此 OU 和子 OU中 -OWAEnabled 设置为(并更改为 $false)的用户。这将减少我对 Exchange 的调用。不幸的是,Set-CASMailbox似乎没有要查询的OUorCustomAttribute 属性。

有什么建议么??

4

2 回答 2

0

CASMailbox 对象没有 OU 或 CustomAttribute 属性,但 Mailbox 对象有protocolsettings 属性集合,因此:

$OU='OU=SomeOU,DC=Domain,DC=com'
$ext14='00254'
Get-Mailbox -OrganizationalUnit $OU|
Where {($_.CustomAttribute14 -eq $ext14) -and ($_.protocolsettings -match 'OWA.1'} |
Set-CASMailbox -OWAEnabled:$false
于 2013-03-26T14:47:56.880 回答
0

尝试这个:

Get-CASMailbox -OrganizationalUnit $OU | ? {
  $_.CustomAttribute14 -eq $ext14 -and $_.OWAEnabled
} | % {
  Set-CASMailbox -Identity $_.Identity -OWAEnabled:$false
}
于 2013-03-26T14:45:35.110 回答