2

我需要在数千台计算机上更改 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”。在 line:1 char:1 + $abdialog.InitialAddressList = $Session.AddressLists | ? {$_.name -eq 'BAE 系统 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: ( :) [], SetValueInvocationException + FullyQualifiedErrorId : ExceptionWhenSetting

请帮助我要疯了!

4

1 回答 1

0

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

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

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

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

之后你的代码对我有用。

于 2013-04-06T05:00:31.037 回答