在powershell内的哈希表中搜索if语句

vyswwuz2  于 2022-12-04  发布在  Shell
关注(0)|答案(1)|浏览(148)

我正在尝试搜索从CSV导入的哈希表。
CSV中有几个标头,为了便于讨论,我们假设用户名、电子邮件、服务、日期、服务器ID
我将使用下面的行导入CSV,

$CSVData = Import-Csv $csv | group -AsHashTable -Property Username

我希望在我的脚本中执行if语句,检查用户名和服务是否存在于哈希表中。我已经对用户名和服务的所有变量进行了排序。

if (($username -and $service) -in ($CSVData.username -and $CSVData.service)) {
    Write-Host "some text I want" -ForegroundColor Yellow
} 
else 
{
    write-host "new entry"
}

谢谢你的帮助!
路加

px9o7tmv

px9o7tmv1#

我相信你要找的条件是:

if ($CSVData[$username].Service -eq $service) {
    Write-Host "some text I want" -ForegroundColor Yellow
}
else {
    write-host "new entry"
}

将条件分解为小块:

  • $CSVData[$username]获取哈希表,其中$username如果哈希表没有$username的现有键,则输出为空
  • .Service会从传回的对象取得Service属性的值。
  • -eq $service测试哈希表中$usernameService属性的值是否等于$service

相关问题