变量和变量值在同一语句中使用时返回不同的结果

时间:2018-04-10 19:13:31

标签: powershell

我遇到了一个我无法解释的问题。当我在下面的语句中使用变量时,我得到的结果不正确。如果我使用变量代表的值,那么我得到预期的数据。解决方法很简单,但我很好奇问题是什么。我希望字符串和字符串表示的值能够提供相同的结果。

我正在使用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.

0 个答案:

没有答案