1

PowerShell を使用して Active Directory ドメイン ユーザーのログインおよびログオフ セッション履歴を生成するスクリプトを探しています。以下は私が試したスクリプトです。これらは、最後にログインしたセッションのみを表示します。

脚本:

$searcher = New-Object DirectoryServices.DirectorySearcher([adsi]"")
$searcher.filter = "(objectclass=user)"
$users = $searcher.findall()
Foreach($user in $users)
{
  if($user.properties.item("lastLogon") -ne 0)
  {
    $a = [datetime]::FromFileTime([int64]::Parse($user.properties.item("lastLogon")))
    "$($user.properties.item(`"name`")) $a"
  }
}

出力:

PS C:\Windows\system32> C:\Users\Administrator\Desktop\working\lastlogonworked.ps1
管理者 10/17/2013 13:11:31
デモ 10/17/2013 13:10:54
User0 10/17/2013 07:07:07 ユーザー 1 2013 年 10 月 17 日 06:29:27 ユーザー 2 2013 年 10 月 17 日 08:39:05 ユーザー 4 2013 年 10 月 17 日 08:41:36 ユーザー 5 2013 年 10 月 17 日
09:38:07
CPU054 2013 年 10 月 17 日 13:11:53


すべてのユーザーのログインとログアウトの履歴を取得するのを手伝ってください。

4

3 に答える 3

3

ADからそれを取得することはできません。ログオン/ログオフ イベントについては、DC のセキュリティ イベント ログを検索する必要があります。

于 2013-10-17T13:42:02.890 に答える
1
$searcher = New-Object DirectoryServices.DirectorySearcher([adsi]"")
$searcher.filter = "(objectclass=user)"
$users = $searcher.findall()
Out-File C:\logonfile.txt
Foreach($user in $users)
{
  if($user.properties.item("lastLogon") -ne 0)
  {
    $a = [datetime]::FromFileTime([int64]::Parse($user.properties.item("lastLogon")))
    "$($user.properties.item(`"name`")),$a" >> c:\logonfile.CSV

  }
}
于 2014-03-14T18:08:38.003 に答える