You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Exchange Online中Set-AddressBookPolicy传变量AddressLists报错如何解决

解决方法

错误原因

  • Set-AddressBookPolicy的-AddressLists参数接受地址列表对象数组/地址列表标识字符串数组,你之前直接提取的.Id是ADObjectId类型数组,类型不匹配触发无效操作报错。
  • 你尝试的-join ','操作会将数组转为单个逗号分隔字符串,不符合参数的多值数组要求,因此会触发其他类型错误。

正确实现方案

方案1(推荐):直接传递地址列表对象

直接筛选获取符合条件的地址列表对象后传入参数,无需额外类型转换:

# 筛选符合条件的地址列表对象
$AddressLists = Get-AddressList | Where-Object {$_.Identity -like "*Company_1*"}
# 执行ABP配置
Set-AddressBookPolicy -Identity "Company1" -AddressLists $AddressLists `
          -RoomList "C1_Rooms" -GlobalAddressList "C1_GAL" -OfflineAddressBook "C1_OAB"

方案2:显式传递字符串标识数组

如果需要使用字符串形式的标识,将每个标识显式转为字符串后组成数组传入即可:

# 筛选并将标识转为字符串数组
$AddressLists = (Get-AddressList | Where-Object {$_.Identity -like "*Company_1*"}).Identity.ToString()
# 执行ABP配置
Set-AddressBookPolicy -Identity "Company1" -AddressLists $AddressLists `
          -RoomList "C1_Rooms" -GlobalAddressList "C1_GAL" -OfflineAddressBook "C1_OAB"

内容的提问来源于stack exchange,提问作者IT M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:45:06