Powershell EWS删除联系人上的电话号码条目
我尝试在使用ExchangeWebService和powershell时删除联系人中的电话号码条目 我可以用数字等创建新联系人。我甚至可以更改这些数字。但是我可以设置为Powershell EWS删除联系人上的电话号码条目,powershell,exchangewebservices,contacts,Powershell,Exchangewebservices,Contacts,我尝试在使用ExchangeWebService和powershell时删除联系人中的电话号码条目 我可以用数字等创建新联系人。我甚至可以更改这些数字。但是我可以设置为$null或“” 使用“1”参数调用“Update”时,它总是给我异常:“变更描述中的对象必须包含且仅包含一个要修改的属性。” 我知道我不允许将其设置为“”或null。但必须有办法删除电话号码条目 所以可能有人会帮我解决这个问题 到目前为止,我检查电话号码是否有变化,只在有变化的地方更新 $enumBusinessPhoneVal
$null
或“
”
使用“1”参数调用“Update”时,它总是给我异常:“变更描述中的对象必须包含且仅包含一个要修改的属性。”
我知道我不允许将其设置为“”或null。但必须有办法删除电话号码条目
所以可能有人会帮我解决这个问题
到目前为止,我检查电话号码是否有变化,只在有变化的地方更新
$enumBusinessPhoneValue = [Microsoft.Exchange.WebServices.Data.PhoneNumberKey]::BusinessPhone
if($c.PhoneNumbers[$enumBusinessPhoneValue] -ne "" -and $c.PhoneNumbers[$enumBusinessPhoneValue] -ne $null){
if($busPhone -ne ""){
if($c.PhoneNumbers[$enumBusinessPhoneValue] -ne $busPhone){
echo "="
$c.PhoneNumbers[$enumBusinessPhoneValue] = $busPhone
}
} else {
$c.PhoneNumbers[$enumBusinessPhoneValue] = ""
}
} else {
if($busPhone -ne ""){
$c.PhoneNumbers[$enumBusinessPhoneValue] = $busPhone
}
}
$c.Update([Microsoft.Exchange.WebServices.Data.ConflictResolutionMode]::AlwaysOverwrite)
问题在于这一行$c.PhoneNumbers[$enumBusinessPhoneValue]=”
,即使我输入$null
,我也会得到相同的错误
问候
skratter在这种情况下,您需要为商务电话使用扩展属性(这与EmailAddAddress相同),例如
这看起来很有希望。你从哪儿弄来的地址?
$PidTagBusinessTelephoneNumber = new-object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition(0x3A08,[Microsoft.Exchange.WebServices.Data.MapiPropertyType]::String);
$c.RemoveExtendedProperty($PidTagBusinessTelephoneNumber)
$c.Update([Microsoft.Exchange.WebServices.Data.ConflictResolutionMode]::AlwaysOverwrite)