Cmd / PowerShell / SQL服务器:有什么办法可以看到一个Windows服务已经运行了多久?

所以我设法检查一个服务是否运行sc查询“ServiceName”| find“RUNNING”或者net start | find“Service Name”,或者在SQL Server中使用xp_servicecontrol。 有没有办法看到服务的正常运行时间? 我怎样才能看到服务的正常运行时间?

Solutions Collecting From Web of "Cmd / PowerShell / SQL服务器:有什么办法可以看到一个Windows服务已经运行了多久?"

只要你的服务有自己的进程名称,这应该工作。

PowerShell_v4> (Get-Process lync).StartTime Friday, October 17, 2014 11:46:04 

如果你在svchost.exe下运行,我想你需要从事件日志中获取。

 PowerShell_v4> (Get-WinEvent -LogName System | ? Message -match 'DHCPv6 client service is started' | select -First 1).TimeCreated Friday, October 17, 2014 10:10:56 

对于正常运行时间,只需计算时间差异。

 $Start = (Get-Process Outlook).StartTime $Now = Get-Date $Now - $Start | Format-Table Days, Hours, Minutes, Seconds -AutoSize Days Hours Minutes Seconds ---- ----- ------- ------- 0 0 2 8 

或者作为一个单行的:

 (Get-Date) - (Get-Process Outlook).StartTime | Format-Table Days, Hours, Minutes, Seconds -AutoSize Days Hours Minutes Seconds ---- ----- ------- ------- 0 0 2 8