【发布时间】:2023-03-20 04:50:01
【问题描述】:
我正在尝试确认每个使用get-mailbox 的用户的userprincipalname 和sip 地址是否匹配。我知道一些用户不匹配的事实,但我的脚本对每个邮箱都返回 true。知道我做错了什么吗?
Get-Mailbox -ResultSize Unlimited -OrganizationalUnit $_ | fl |
Select-Object DisplayName,
Samaccountname,
Userprincipalname,
@{n='EmailAddresses';e={$_.EmailAddresses | ?{$_ -match '^sip'}|%{$_ -replace 'sip:',''}}} | foreach{ If($_.emailaddresses -eq "$($_.Userprincipalname)"){'True'}else{'False'}}}
【问题讨论】:
-
你能给我一个你想要匹配的例子,另一个你不想匹配的例子
-
我不确定我是否理解。我正在针对多个 OU 运行 get-mailbox 并获取每个用户的输出显示名称、samaccountname、userprincipalname 和 sip 地址。对于每个用户,我正在尝试使用检查 $ 的 if 语句验证 userprincipalname 和 sip 地址是否相同_.emailaddresses 和 $_.userprincipalname 变量,但这些变量似乎不是正确的,因为我对每个人都是错误的,并且 99% 匹配,所以几乎所有人的输出都应该是正确的。
-
您是否手动检查了
EmailAddresses以确认它们是否正确?
标签: powershell variables object compare sip