【问题标题】:PowerShell Exchange disable OWA from OU sortPowerShell Exchange 从 OU 排序中禁用 OWA
【发布时间】:2013-03-26 14:26:39
【问题描述】:

我正在搜索特定的 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

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

有什么建议吗??

【问题讨论】:

    标签: powershell powershell-2.0 exchange-server-2010


    【解决方案1】:

    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
    

    【讨论】:

    • 太棒了。完美的。非常感谢
    • 不知道-MAPIBlockOutlookRpcHttp有没有类似的?
    • 是的,找到了。 MAPI.0 太棒了!!
    • 可能。我不知道您在哪里可以找到有关如何将其存储在这些协议设置字符串中的文档,但我敢打赌,您可以通过一些实验来弄清楚并编写匹配它所需的正则表达式。
    【解决方案2】:

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多