我遇到了一个我无法解释的问题。当我在下面的语句中使用变量时,我得到的结果不正确。如果我使用变量代表的值,那么我得到预期的数据。解决方法很简单,但我很好奇问题是什么。我希望字符串和字符串表示的值能够提供相同的结果。
我正在使用Get-CSOnlineUser
并按StreetAddress
过滤。我将Super Secret Address
的地址指定给变量$location
。当我使用变量名称时,它返回错误的结果。当我使用变量的值时,它返回正确的结果
此代码给出了错误的结果:
#Returns a table of SFB Users filtered by location and whether or not they have enterprise voice
#Variables
$location = 'Super Secret Address'
#Get all enterprise voice users at specified address
Get-CsOnlineUser -Filter {StreetAddress -eq $location -and VoicePolicy -eq "BusinessVoice"} |ft DisplayName, Alias, Office, Phone, VoicePolicy, LineURI
#Get non-enterprise voice- users at specified address
Get-CsOnlineUser -Filter {StreetAddress -eq $location -and VoicePolicy -eq "HybridVoice"} |ft DisplayName, Alias, Office, Phone, VoicePolicy, LineURI
这给出了正确的结果:
#Get all enterprise voice users at specified address
Get-CsOnlineUser -Filter {StreetAddress -eq 'Super Secret Address' -and VoicePolicy -eq "BusinessVoice"} |ft DisplayName, Alias, Office, Phone, VoicePolicy, LineURI
#Get non-enterprise voice- users at specified address
Get-CsOnlineUser -Filter {StreetAddress -eq 'Super Secret Address' -and VoicePolicy -eq "HybridVoice"} |ft DisplayName, Alias, Office, Phone, VoicePolicy, LineURI
编辑:道歉。我应该澄清一下。错误的结果显示没有在StreetAddress
处工作的用户的不同子集。有趣的是,似乎那些用户是承包商。除此之外,我在这里看不到一种模式。
除了错误的用户子集外,我还看到此警告在结果中重复出现
WARNING: "OriginalRegistrarPool" with identity "123456789" assigned to "sip:user@company.com" has been removed from configuration store.