2013-03-26 112 views
0

我正在搜索特定的OU,然後爲OU中的所有用戶禁用OWA。這個腳本每天運行。PowerShell Exchange禁用OU中的OWA排序

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

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

我想只更新用戶是-OWAEnabled設置爲$True(和更改爲$ false)在這個OU和子OU中。這會減少我對Exchange的呼叫。 不幸的是,Set-CASMailbox似乎沒有OUCustomAttribute屬性進行查詢。

有什麼建議?

回答

0

的CASMailbox對象不具有OU或CustomAttribute性質,但郵箱對象確實有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 
+0

輝煌。完善。非常感謝 – GreetRufus 2013-03-26 15:26:36

+0

我不知道是否有類似的-MAPIBlockOutlookRpcHttp? – GreetRufus 2013-03-26 15:31:03

+0

是的,找到了。 MAPI.0優秀! – GreetRufus 2013-03-26 15:39:26

0

試試這個:

Get-CASMailbox -OrganizationalUnit $OU | ? { 
    $_.CustomAttribute14 -eq $ext14 -and $_.OWAEnabled 
} | % { 
    Set-CASMailbox -Identity $_.Identity -OWAEnabled:$false 
}