0
私たちのシステムで実行されているサービスのバージョンを確認する必要があります。だから私は近づいているが、それを理解できないようだ。私はGet-WmiObject
プロセスを使用して、実行中のサービスのプロセスを探しています。次に、 "the"サービスである実行可能ファイルのパスを取り戻します。次いで、前記実行可能ファイルのFileVersion
を検索する。Get-WMIobjectプロセスを使用してサービスのパスを特定し、バージョン情報を取得する
foreach ($Computer in $Computers) {
$zabbix = Get-WmiObject -Class Win32_Process -ComputerName $computer -Filter "name like '%zabbix%'" |
Select -ExpandProperty Path |
Get-ItemProperty |
Select-Object -Property VersionInfo |
? {$_.ProductVersion}
}
Write-Host "$zabbix - $Computer"
このような機能はありますが、リモートシステムではなくローカルホストのパスを引き出しているようです。これをテストするために、私は$コンピュータ変数を設定し、(Get-WmiObjectを実行して.ProductVersionを実行していましたが、エラーが発生します) 'code'Get-ItemProperty: 'C:\ Program Files \ Zabbix Agent \ zabbix_agentd.exe 'が存在しないため 行目:2文字:42 +選択-ExpandPropertyパス| Get-ItemProperty).VersionInfo.ProductVe ... 'code' そのマシンとサービスにログオンしました存在し、実行中です。 – Tram
'Invoke-Command'でラップして、' VersionInfo'の問い合わせをリモートコンピュータ上で行うことができます。私はそれを行うために私の答えを編集しました。 – BenH