如何使用字符串“never log”替换Lastlogon
字段中的$ null值,并将此值放在“Last Logon days”列中
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,这是一个很远的地方。
答案 0 :(得分:1)
尝试将此作为您的选择语句:
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}}}
我现在无法测试,但过去我做过类似的事情并取得了成功。