2013-02-21 93 views
0

我如何通过一个字符串“永远不能登录”,并把这个值列替换Lastlogon字段值为$ null“上次登录天”在multple场替换字符串空值

Search-ADAccount -UsersOnly -AccountDisabled:$false | Get-ADUser -Properties Name, LastLogon | select Name, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}, @{N='Last Logon Days'; E={$($(Get-Date) - $([DateTime]::FromFileTime($_.LastLogon))).Days}} 

我有从未在网络上登录的帐户,他们返回的最后登录日期为12/31/1600 7:00:00 PM,这是一个很远的地方。

回答

1

试试这个作为你的SELECT语句:

select Name, @{N='LastLogon'; E={` 
    if ([DateTime]::FromFileTime($_.LastLogon) -eq $null) { 
     return "Never log" } 
    else { return [DateTime]::FromFileTime($_.LastLogon) }}},` 
    @{N='Last Logon Days'; E={` 
    if ([DateTime]::FromFileTime($_.LastLogon) -eq $null) { 
     return "Never log" } 
    else { return $($(Get-Date) - $([DateTime]::FromFileTime($_.LastLogon))).Days}}} 

我现在不能测试此权利,但我已经成功了过去做过类似的事情。

+0

感谢@Nick它的工作,我不得不改变$空值值“12/31/1600 7:00:00 PM”,因为该字段不是空的。但是你的命令工作得很完美 – lotirthos227 2013-02-22 14:06:01