在PowerShell中禁用某个发件人的Outlook桌面警报

时间:2016-02-29 11:53:30

标签: powershell outlook alert outlook-2010

我正在尝试编写一个脚本,禁用所选发件人地址的桌面警报。我做了很多研究,但从未找到任何特定的代码,所以我想我会尝试自己写。我对代码非常乐观,但它没有用,我想我并不理解Powershell中Outlook规则语法的一部分。

到目前为止我的代码

$olFolders = "Microsoft.Office.Interop.Outlook.OlDefaultFolders"
$outlook = New-Object -ComObject outlook.application
$namespace  = $Outlook.GetNameSpace("MAPI")

$rules = $outlook.session.DefaultStore.GetRules()
$rule = $rules.create("New Rule: Disabling Alerts", [Microsoft.Office.Interop.Outlook.OlRuleType]::olRuleReceive)

$rule_Address = $rule.Conditions.SenderAddress
$rule_Address.Enabled = $true
$rule_Address.Address = "<Sender Adress>"
$action = $rule.Actions.DesktopAlert.Disabled
$action.Enabled = $false

$rules.save()

问题

我可以在我的Outlook客户端应用中看到该规则已添加,但我对其进行了测试,并且仍然显示了桌面提醒。

额外的问题

是否可以创建此规则并将其隐藏在Outlook GUI中?因此,任何其他人都无法在Outlook客户端中看到该规则,因此他/她无法禁用该规则。如果是这样,请帮助我,这将非常方便。

1 个答案:

答案 0 :(得分:0)

此处示例:https://blogs.technet.microsoft.com/heyscriptingguy/2009/12/16/hey-scripting-guy-can-i-use-windows-powershell-to-create-a-new-outlook-inbox-rule/

  

为&#34; RSS Feed&#34;创建规则的脚本使用&#34;桌面警报&#34;。我拿了   Dan Jansson的剧本并根据我的需要进行了修改:

 $DisplayAlert =  $rule.Actions.DesktopAlert
 $DisplayAlert.Enabled = $true
相关问题