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への呼び出しが減ります。残念ながら、クエリを実行するor プロパティSet-CASMailboxがないようです。OUCustomAttribute

助言がありますか??

4

2 に答える 2

0

これを試して:

Get-CASMailbox -OrganizationalUnit $OU | ? {
  $_.CustomAttribute14 -eq $ext14 -and $_.OWAEnabled
} | % {
  Set-CASMailbox -Identity $_.Identity -OWAEnabled:$false
}
于 2013-03-26T14:45:35.110 に答える
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 に答える