Active Directory にクエリを実行して、ユーザーがログインした日数を返したいと考えています。今のところ、2012 年 2 月 26 日 9:28:28 AM のような lastlogon 日を取得できますが、その lastlogon から今日までの日数を取得したいと考えています。
これは、stackoverflow の他の投稿で見つけたスクリプトです。
Search-ADAccount -UsersOnly -SearchBase "OU=users,OU=City,dc=mydomain,DC=local" -AccountDisabled:$false | Get-ADUser -Properties Name, manager, LastLogon | Select Name, manager, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}} | export-csv u:\Australia.csv -Delimiter ";" -NoTypeInformation
「lastlogon」に加えて、「lastlogon」に加えて、「lastlogon」が 50 日前であることを意味する 50 を示す整数を返す CSV 呼び出しに「Last Logon Days」という別の列が必要です。
アップデート:
@Musaab Al-Okaidiの返信に従ってこのコマンドを使用しました
Search-ADAccount -UsersOnly -AccountDisabled:$false | Get-ADUser -Properties Name, manager, LastLogontimestamp | select Name, @{manager,@{N='LastLogontimestamp'; E={[DateTime]::FromFileTime($_.LastLogontimestamp)}}, @{N='Last Logon Days'; E={$($(Get-Date) - $([DateTime]::FromFileTime($_.LastLogontimestamp))).Days}}