2016-12-05 30 views
1

我正在嘗試使用PowerShell獲取進程的進程信息。使用腳本塊遠程調用Get-Process

所以,我有這樣的事情

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

我的輸出

System.Diagnostics.Process (process) 

當我登錄到框和運行Get-過程-Name過程中,我得到更多的信息,如手柄,NPM,PK,CPU等...

如何使用Invoke-Command獲得相同的信息?

回答

2

$res不是字符串對象,所以使用write-host將不會顯示該對象包含的數據。從最後一行刪除write-host所以它將是:

$res 

...和PowerShell是足夠聰明,知道如何顯示在對象中的數據。

2

除非這是你真正需要做非常的簡化版本,沒有必要讓一個單獨的PSSessionInvoke-Command這裏的額外開銷。 Get-ProcessComputerName作爲參數,將直接返回System.Diagnostics.Process對象的集合。