在Format-Table中转换WMI Creationdate

时间:2015-09-13 10:23:43

标签: powershell datetime wmi

我试图将我的计算机上的所有svchost进程转换为格式良好的表,其中包含格式化的日期时间,但到目前为止还没有这样做。

这就是我将所有进程都放入数组的方法

$processes = @(gwmi -cl Win32_Process -f "name='svchost.exe'")

以下打印日期时间,因为我喜欢它们但是作为列表

$processes | % {$_.Caption, $_.ConvertToDateTime($_.CreationDate)} 
svchost.exe
vrijdag 4 september 2015 20:47:03
svchost.exe
vrijdag 4 september 2015 20:47:03
svchost.exe

在下面打印语句,因为我喜欢它们作为表,但没有日期时间的格式

$processes | ft Caption, CreationDate -a
Caption     CreationDate             
-------     ------------             
svchost.exe 20150904204703.429503+120
svchost.exe 20150904204703.861565+120

我不能为我的生活弄清楚如何打印它

Caption     CreationDate             
-------     ------------             
svchost.exe vrijdag 4 september 2015 20:47:03
svchost.exe vrijdag 4 september 2015 20:47:03

1 个答案:

答案 0 :(得分:2)

使用org.eclipse.equinox.p2.extras.feature 代替Select-Object。这样您就可以选择对象的特定属性,还可以添加calculated properties

ForEach-Object

如果您想使用Get-WmiObject -Class Win32_Process -Filter "name='svchost.exe'" | Select-Object Caption, @{n='CreationDate'; e={$_.ConvertToDateTime($_.CreationDate)}} 执行此操作,则必须创建新对象:

ForEach-Object