我是PowerShell的新手,遇到了一些问题。我试图从多个服务器中提取程序名称和版本信息。
我有一个包含程序名称的$list变量,但程序名称中也包含版本号。我只将程序名称存储在列表变量中,不包括版本号。
我正在尝试找出一种方法,在Where-Object cmdlet中同时使用-like和-in参数,以便将完整的程序条目名称(例如AdToUserCacheSync 1.10.1.10)与$list变量中的条目(例如AdToUserCacheSync)匹配。
我该怎么做?
我有一个包含程序名称的$list变量,但程序名称中也包含版本号。我只将程序名称存储在列表变量中,不包括版本号。
我正在尝试找出一种方法,在Where-Object cmdlet中同时使用-like和-in参数,以便将完整的程序条目名称(例如AdToUserCacheSync 1.10.1.10)与$list变量中的条目(例如AdToUserCacheSync)匹配。
我该怎么做?
$list = Get-Content "\\server\c$\temp\list.txt"
$storeTestServers = Get-Content "\\server\c$\temp\testStores.txt"
foreach ($server in $storeTestServers) {
Get-WmiObject -Class Win32_Product -ComputerName $server |
Select-Object -Property PSComputerName, Name, Version |
Where-Object {$_.pscomputername -like "940*" -and $_.name -like -in "*$list*"}
}