2017-05-23 2 views
0

組織のコンピュータからすべてのログオンを収集し、コンピュータでの最後のユーザーログオンと最も多くのユーザーのアクセスを示すスクリプトが必要です。Powershellリモートコンピュータの最後のログオンユーザー

ドメインコントローラからこのスクリプトを実行しますが、コンピュータと最後のログオンのみを取得します。最後のユーザーログオンまたはログオン頻度はありません。

+1

。この情報を収集するには、コンピュータのセキュリティログを解析するか、ログオンスクリプトで何かを記録する必要があります。 – Vesper

+0

[関連](http://www.planetcobalt.net/sdb/lastlogon.shtml)。 –

+0

これを行うコードを知っていますか? – Luca9698

答えて

0

マシンのセキュリティイベントログを検索して、最後のログインを取得できます。

$startDate = (Get-Date) - (New-TimeSpan -Day 5) 
$UserLoginTypes = 2,7 
Get-WinEvent -FilterHashtable @{Logname='Security';ID=4624;StartTime=$startDate} | SELECT TimeCreated, @{N='Username'; E={$_.Properties[5].Value}}, @{N='LogonType'; E={$_.Properties[8].Value}} | WHERE {$UserLoginTypes -contains $_.LogonType} | Sort-Object TimeCreated | SElect -last 1 

これは、過去7日間、コンピュータ上の対話型ログインまたはロック解除を検索し、最新のものを返します。

更新ほとんどでログインして取得するために:あなたはログオンしません `は、Get-ADComputer`からユーザー

$startDate = (Get-Date) - (New-TimeSpan -Day 7) 
$UserLoginTypes = 2,7 
Get-WinEvent -FilterHashtable @{Logname='Security';ID=4624;StartTime=$startDate} | SELECT TimeCreated, @{N='Username'; E={$_.Properties[5].Value}}, @{N='LogonType'; E={$_.Properties[8].Value}} | WHERE {$UserLoginTypes -contains $_.LogonType} | group UserName | Sort-Object Count | Select -last 1 
+0

本当にありがとう、このコードは私のために良いですが、私は1つの最後のものが必要です: 私はコンピュータから複数のログオンを行うユーザーが誰かを知る必要があります。 たとえば、1台のコンピュータのActive Directoryのシナリオでは、多くのユーザーがコンピュータにログオンできますが、誰が最も使用されているのかを知る必要があります。 私を助けてください!!!!! – Luca9698

+0

ユーザの '$ _。userid'/sidを選ぶことができます。 –

+0

あなたが数えたければ、でグループを追加することができます。更新された投稿 –

関連する問題