如何在Powershell中获取流程开始时间。我在powershell升级中试过这个:
(Get-Process MyProcessName).StartTime.ToString('yyyyMMdd')
这就是我得到的错误:
(Get-Process MyProcessName).StartTime.ToString('yyyyMMdd')
You cannot call a method on a null-valued expression.
At line:1 char:1
+ (Get-Process MyProcessName).StartTime.ToString('yyyyMMdd_h ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
但是当我进行Get-Process MyProcess时,我看到了我的过程:
> Get-Process MyProcess
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
2906 132 81136 79132 889 20656 myprocess
当我'Get-Date -format'yyyyMMdd'时,它返回'20151207',所以我认为日期格式是正确的。
答案 0 :(得分:2)
这样做:
(Get-Date (Get-Process explorer).StartTime).ToString('yyyyMMdd')
答案 1 :(得分:2)
作为一个单行程,您可以使用:
get-process ProcessName |select starttime
答案 2 :(得分:1)
您似乎未正确输入进程名称。
(Get-Process MyProcessName).StartTime.ToString('yyyyMMdd')
但它应该是
(Get-Process MyProcess).StartTime.ToString('yyyyMMdd')
根据你的例子。
答案 3 :(得分:0)
以管理员身份运行:
Get-Process | select name, starttime | findstr your_process_name_here
答案 4 :(得分:0)
如果要获取特定进程的开始时间,请使用“进程名称”替换其名称:
获取流程ProcessName |选择名称,开始时间
或Get-Process |选择名称,开始时间
获取所有正在运行的进程的开始时间