2013-02-21 3 views
0

comment puis-je remplacer une valeur de $ null dans le champ Lastlogon par une chaîne « ne log » et également placer cette valeur dans la colonne « derniers jours d'ouverture de session »Remplacer une valeur nulle avec chaîne dans multple champ

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}} 

J'ai des comptes qui ne se sont jamais connectés sur le réseau et ils retournent une dernière date de connexion du 31/12/1600 19:00:00 qui est une morsure loin.

Répondre

1

Essayez comme votre instruction 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}}} 

Je ne peux pas tester ce moment, mais je l'ai fait des choses semblables dans le passé avec succès.

+0

Merci @Nick cela a fonctionné, j'ai dû changer la valeur $ null par la valeur "12/31/1600 7:00:00 PM" parce que le champ n'était pas vide. Mais votre commande a parfaitement fonctionné – lotirthos227

Questions connexes