我是PowerShell的新手,遇到了一些障碍。我试图从多个服务器中提取程序名称和版本信息。
我有一个$ list变量中的程序名列表,但程序名也包含其中的版本号。我只是在没有版本号的列表变量中存储程序的名称。
我试图找出一种方法,将-like和-in参数与Where-Object cmdlet一起使用,以便将完整的程序条目名称(例如AdToUserCacheSync 1.10.1.10)与我在$ list变量(例如AdToUserCacheSync)。
我该怎么做?
class WelcomeController < ApplicationController
def download
view_context.content_for(:title, "My Awesome Title") # doesn't work :(
end
end
答案 0 :(得分:4)
Where-Object
FilterScript块只是一个返回$true
,$false
或什么都没有的脚本块 - 你可以在其中做各种疯狂的事情,包括在数组上循环以查看是否其中一个条目中存在通配符匹配:
Where-Object {
$ProductName = $_.Name
$_.pscomputername -like "940*" -and (
$list | ForEach-Object {
if($ProductName -like "*$_*"){ return $true }
}
)
}
答案 1 :(得分:0)
我通过PowerShell找到了Adobe版本:
Get-WmiObject -Class Win32_Product -ComputerName 127.0.0.1 |
Select-Object -Property PSComputerName, Name, Version |
Where-Object {$_.Name -like "Adobe*"} | Out-File Adobe_Log.log