设置Outlook的“首先显示此地址列表”选项

时间:2013-04-05 19:20:37

标签: powershell

我需要在数千台计算机上更改Outlook 2010中的默认地址列表。要在Outlook中手动执行此操作,请转到地址簿>工具>选项>并从“打开地址簿时,首先显示此地址列表:”下拉框中选择一个地址簿。

这是我到目前为止所做的:

$outlook = $(New-Object -ComObject Outlook.Application)
$Session = $outlook.Session
$Session.Logon()
$ab = $Session.AddressLists | ? {$_.Name -eq 'Example Address Book')}
$abdialog = $Session.GetSelectNamesDialog()
$abdialog.InitialAddressList = $ab

我收到的错误是:

  

异常设置“InitialAddressList”:“无法转换”System ._ ComObject“类型的值   “System。 _ComObject#{00063049-0000-0000-c000-000000000046}”键入“Microsoft.Office.Interop.Outlook.AddressList”。“   在行:1个字符:1   + $ abdialog.InitialAddressList = $ Session.AddressLists | ? {$ _。name -eq'BAE Syste ...   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:NotSpecified:(:) [],SetValueInvocationException       + FullyQualifiedErrorId:ExceptionWhenSetting

请帮助我疯了!

1 个答案:

答案 0 :(得分:0)

我不知道这是不是一个错字,而是在:

$ab = $Session.AddressLists | ? {$_.Name -eq 'Example Address Book')}

您应该删除最后一个右括号

$ab = $Session.AddressLists | ? {$_.Name -eq 'Example Address Book'}

之后你的代码适合我。