比较用户上次登录到180天前

时间:2015-09-15 22:57:57

标签: powershell-v2.0

到目前为止,我已经计算了180天前的日期和用户上次登录的日期。但是如何让它们相互比较呢?

$180_days_ago = (get-date) - (new-timespan - days 180)

GWmi Win32_NetworkLoginProfile | select @{label='LastLogon';expression={$_.ConvertToDateTime($_.LastLogon )}}

1 个答案:

答案 0 :(得分:2)

日期比较可以这样做:

$180_days_ago = (Get-Date).AddDays(-180)

Get-WmiObject Win32_NetworkLoginProfile | Where-Object {
  $_.LastLogon -and
  $_.ConvertToDateTime($_.LastLogon) -gt $180_days_ago
}

这将为您提供不到180天前登录的用户。如果您需要所有用户指明他们上次登录是在截止日期之前还是之后,您可以执行以下操作:

Get-WmiObject Win32_NetworkLoginProfile | Where-Object {
  $_.LastLogon
} | ForEach-Object {
  if ($_.ConvertToDateTime($_.LastLogon) -gt $180_days_ago) {
    "{0}:`tOK" -f $_.Caption
  } else {
    "{0}:`tNot OK" -f $_.Caption
  }
}
相关问题