2012-05-29 119 views
2

我想使用powershell来获取在远程计算机上运行的进程的启动时间。 在我的本地计算机上,我通过简单地使用get-process $processname | select StartTime来获取它。使用powershell在远程计算机上运行的进程的启动时间

我试过使用get-process $processname -computername $server1 | select StartTime但这没有任何回报。

请建议任何更好的方法。

回答

7

使用WMI。 powershell.exe过程中该代码返回开始时间:如果$ a包含多个进程

$a = gwmi win32_process -computername $server1| ? { $_.name -eq "powershell.exe" } 

$a | % { $_.ConvertToDateTime($_.CreationDate)} 
+1

这可能无法正常工作。我建议你管到foreach-object –

+0

@ShayLevy是啊!好点谢伊!修复答案。谢谢 –

+0

确定那很酷..现在我想以我想要的方式格式化它像2012年5月15日12:35:16 PM ..但没有格式机制工作,我用get-date命令..可以你帮助我呢? –

3
PS> $StartTime= @{n='StartTime';e={$_.ConvertToDateTime($_.CreationDate)}} 
PS> gwmi win32_process -cn $server1 -filter "Name='$processname' AND CreationDate IS NOT NULL" | select Name,$StartTime 
+0

更好的答案,恕我直言,作为它更容易添加其他字段。 – mbourgon

相关问题