选择中两次之间的小时数?

时间:2015-04-24 04:25:20

标签: powershell

我正在尝试计算PID开始和当前时间之间的小时数,作为select的一部分,作为表达式。我正在尝试这样的事情,但它又回来了。我一直盯着这看了2个小时,无法到达任何地方。

非常感谢。

$Now = Get-date
$StartTime= @{n='StartTime';e={$_.ConvertToDateTime($_.CreationDate)}}

$serverlist = invoke-sqlcmd -serverinstance sqlservername -database myrepodb `
-query "SELECT server FROM dbo.ServerList" 

$serverlist|%{
    $computer = $_.server

    gwmi win32_process -cn $_.server -filter "Name='notepad.exe' `
       AND CreationDate IS NOT NULL" | 
    select @{Name = 'Servername'; Expression = {"$computer"}},$StartTime, processid, `
    @{Name = 'HoursDiff'; Expression = {([datetime]$Now - [datetime]$_.CreationDate)}}
    } 

1 个答案:

答案 0 :(得分:2)

假设它是HoursDiff空回来,问题似乎是将WMI DMTF日期转换为PowerShell(.NET)日期时间。通过调用System.Management.ManagementDateTimeConverter替换$_.ConvertToDateTime[datetime]$_.CreationDate。例如:

[System.Management.ManagementDateTimeConverter]::ToDateTime($_.CreationDate)