Set-EntraUser无ShowInAddressList参数,如何隐藏无邮箱用户于Teams?
解决无邮箱用户在Teams中可见性的问题
一、Set-EntraUser参数缺失的替代方案
目前正式版Set-EntraUser确实未支持-ShowInAddressList参数,文档存在滞后。可以通过修改用户的Exchange相关目录扩展属性实现需求,该属性即使无邮箱也能设置:
- 先定位目标用户:
$m365_user = Get-EntraUser -Filter "UserPrincipalName eq 'user@domain.com'" - 设置扩展属性隐藏用户:
Set-EntraUser -ObjectId $m365_user.ObjectId -ExtensionProperty @{"extension_fe2174665583431c953114ff7268b7b3_showInAddressList" = $false}
二、Microsoft Graph PowerShell实现方式
Update-MgUser无直接参数,但同样可以通过修改扩展属性完成:
$userId = "用户的ObjectId或UPN" $body = @{ "extension_fe2174665583431c953114ff7268b7b3_showInAddressList" = $false } Update-MgUser -UserId $userId -BodyParameter $body
需要确保账号拥有User.ReadWrite.All或Directory.AccessAsUser.All权限。
三、验证设置生效
设置后等待15-30分钟同步到Teams,可通过两种方式验证:
- 在Teams搜索框查找该用户,确认无法检索到
- 执行PowerShell命令查看属性值:
检查对应扩展属性是否为Get-EntraUser -ObjectId $m365_user.ObjectId | Select-Object -ExpandProperty ExtensionPropertyFalse
内容的提问来源于stack exchange,提问作者OneOfTheDamons
相关产品推荐
相关产品推荐

