Powershell键/值对匹配问题

时间:2020-02-11 10:47:07

标签: powershell

我正在寻找检查Powershell中的键值对。我尝试了各种方法,但似乎没有一种能像我期望的那样工作。

即使在写出的内容中看到KeyValue对,我仍然在查找True时得到$checked_group响应。

if (!($checked_groups[$varDomain] -eq "$varName"))

即使keyValue对在$checked_groups字典中,上述语句也是True。你以前见过吗?

我无法使用下面的代码段重新创建问题,即使其逻辑与我的实时代码几乎相同。值的来源不同,因为我正在实时代码中动态收集这些值。然后在一个循环中对其进行迭代,我的$checked_groups = @{ }不在此循环中,以在所有迭代中维护dict键/对,并且我可以确认它们在每次迭代中都得到保留。

我不知道为什么该语句总是会解析为True:(

$checked_groups = @{ }
$varDomain = "example.com"
$varName = "Administrator"

if (!($checked_groups[$varDomain] -eq "$varName"))
{
    write-host 'Not In There'
}

foreach ($thing in $checked_groups)
{
    Write-Host ($thing | Out-String)
}

$checked_groups += @{$varDomain = $varName}

if (($checked_groups[$varDomain] -eq "$varName"))
{
    write-host 'In There'
    foreach ($thing in $checked_groups)
    {
        Write-Host ($thing | Out-String)
    }
}

0 个答案:

没有答案
相关问题