Arrays Powershell在其中插入对象数组
我正在尝试构建一个Powershell脚本,该脚本可以过滤CSV文件中的信息。但是我在使用数组作为参数时遇到了问题 当我导入CSV文件并手动键入时,此命令起作用:Arrays Powershell在其中插入对象数组,arrays,powershell,csv,Arrays,Powershell,Csv,我正在尝试构建一个Powershell脚本,该脚本可以过滤CSV文件中的信息。但是我在使用数组作为参数时遇到了问题 当我导入CSV文件并手动键入时,此命令起作用: $data | where-object { ( $_.PackageAffected -eq "BslEqipWebPkg" -or $_.PackageAffected -eq "BslIDealAdminPkg" -or $_.Pac
$data |
where-object {
(
$_.PackageAffected -eq "BslEqipWebPkg" -or
$_.PackageAffected -eq "BslIDealAdminPkg" -or
$_.PackageAffected -eq "ALL"
) -and (
$_.ENV -eq "PROD" -or $_.ENV -eq "ALL"
)
} |
select-object -property 'major step id','minor step id','PackageAffected',ENV,detail |
format-table -autosize
我正在尝试使用数组构建$\ PackageAffected
队列
以下是迄今为止的代码(不起作用):
在我放置的底部,$packageList
会在屏幕上显示我希望看到的字符串,即:
$_.PackageAffected -eq "pkgName1" -or $_.PackageAffected -eq "pkgName2" -or $_.PackageAffected -eq "ALL"
但是,当我在运行表之后查看它时,表上没有针对PackageAffected
的过滤器
我怀疑我已将该命令转换为字符串,当它运行时,Powershell无法将其识别为命令。您需要计算表达式。这可以通过调用表达式来完成,例如
Invoke-Expression $packageList
在代码的上下文中,这将是:
$data |
where-object{(Invoke-Expression $packageList) -and ($_.ENV -eq $environment -or $_.ENV -eq "ALL")} |
select-object -property 'major step id','minor step id','PackageAffected',ENV,detail |
format-table -autosize
$data |
where-object{(Invoke-Expression $packageList) -and ($_.ENV -eq $environment -or $_.ENV -eq "ALL")} |
select-object -property 'major step id','minor step id','PackageAffected',ENV,detail |
format-table -autosize