Powershell - 测试列表中值的问题
Powershell - Issues to test a value in a list
我有两个变量:
$Listgivenname = Get-aduser -filter * | Select-Object givenname
$Usergivenname = "Tom"
实际上,汤姆在 $Listgivenname
,所以我决定发表一个 if
声明,例如:
If($Listgivenname -contains $Usergivenname) {Write-Host "blablabla"}
但实际上此命令输出 false
,即使 $Usergivenname -in $Listgivenname
。
奇怪的是,当我选择在 $Listgivenname
中手动编写列表时,例如“Tom”、“Jerry”。它确实有效,所以我相信我需要了解关于我分配给变量的命令 的事情。
Get-aduser -filter * | Select-Object givenname
似乎不像手动编写的列表那样工作。
我不寻求解决方案,但我试图理解为什么会这样。
尝试添加-ExpandProperty
(获取每个对象的值):
$Listgivenname = Get-aduser -filter * | Select-Object -ExpandProperty givenname
我有两个变量:
$Listgivenname = Get-aduser -filter * | Select-Object givenname
$Usergivenname = "Tom"
实际上,汤姆在 $Listgivenname
,所以我决定发表一个 if
声明,例如:
If($Listgivenname -contains $Usergivenname) {Write-Host "blablabla"}
但实际上此命令输出 false
,即使 $Usergivenname -in $Listgivenname
。
奇怪的是,当我选择在 $Listgivenname
中手动编写列表时,例如“Tom”、“Jerry”。它确实有效,所以我相信我需要了解关于我分配给变量的命令 的事情。
Get-aduser -filter * | Select-Object givenname
似乎不像手动编写的列表那样工作。
我不寻求解决方案,但我试图理解为什么会这样。
尝试添加-ExpandProperty
(获取每个对象的值):
$Listgivenname = Get-aduser -filter * | Select-Object -ExpandProperty givenname