2016-12-05 16 views
1

私は、プロセスのプロセス情報をpowershellで取得しようとしています。スクリプトブロックを使用してリモートからGet-Processを呼び出す

だから、私は私の出力が

System.Diagnostics.Process (process) 

私はボックスにログインします。Get-プロセス-Nameプロセスを実行すると、私は、このようなハンドルなど多くの情報を得ることである

$command = { Get-Process -Name process* } 
$res = Invoke-Command -session $session -scriptblock $command 
Remove-PSSession $session 
Write-Host $res 

このようなものを持っています、NPM、PK、CPUなど...

Invoke-Commandを使用して同じ情報を取得するにはどうすればよいですか?

答えて

2

$resは文字列オブジェクトではないため、write-hostを使用するとオブジェクトに含まれるデータは表示されません。それだけになりますので、最後の行からwrite-hostを削除します。

$res 

...とPowerShellは、オブジェクト内のデータを表示する方法を知っているのに十分スマートです。

2

これは、あなたが本当に何をする必要があるかの非常に簡略化されたバージョンである場合を除き、ここでは別のPSSessionInvoke-Commandの追加のオーバーヘッドを関与させる必要はありません。 Get-ProcessComputerNameをパラメータとして取り、System.Diagnostics.Processオブジェクトのコレクションを直接返します。

関連する問題