我一直在编写一个简单的脚本来从远程 PC 上读取 win32_product,它工作正常。但是,我希望查询忽略我域中的一些常见应用程序。我一直在构建应用程序列表及其标识号,并将标识号放入 txt 文件中。我用脚本将文本文件加载到一个变量中,我试图弄清楚如何让查询过滤变量中的每个项目......所以我有这个::
$PC = Read-Host "What is target workstation..."
$logfile = "d:\$PC.txt"
$ignore = [IO.File]::ReadAllText("D:\INCOMING\AppListing\ignore.txt")
get-wmiobject -class win32_product -computer $PC | where {$_.IdentifyingNumber -notlike $ignore} | Select Name, IdentifyingNumber | sort-object Name | export-csv $logfile -encoding "unicode"
但是,这根本不是过滤,甚至不是 txt 文件中的第一项或最后一项。我使用 write-host $ignore 来验证它正在加载项目......但我不知道如何使这项工作。也许是一个 foreach 循环?我找不到任何关于将 foreach 循环放入where过滤器的信息......
感谢您的帮助...