2012-11-30 46 views
0

我正在使用以下命令來獲取Windows進程的啓動時間。這是爲了讓進程的運行時間在運行時間過長時終止。使用Powershell從遠程服務器獲取進程啓動時間

$ProcessStartTime =(Get-Process $WinProcess -computer $computer).StartTime(不工作)

上面的代碼不從遠程服務器返回開始時間的值(它可以訪問其他處理信息)。但它通過以下命令獲取本地進程的值。

$ProcessStartTime =(Get-Process $WinProcess).StartTime(工作)

有人能幫助我。

回答

1

您可以使用WMI這個工作:

gwmi win32_process -computername $computer| 
? { $_.name -eq "powershell.exe" } | 
% { $_.ConvertToDateTime($_.CreationDate)} 
+0

您確定您在where對象scriptblock過濾器中使用過'myprocess.exe'(名稱和擴展名)嗎? –

+0

是的。它在那之後工作。謝謝(花了一些時間來找到)。 – SAN

0

我相同的結果,但是你可以在遠程計算機上的一個新的會話,然後使用調用命令運行腳本:

$sess=new-pssession $computer 
$ProcessStartTime =invoke-command -session $sess -ScriptBlock{ (Get-Process $WinProcess).StartTime} 
相關問題