Windowsでローカルユーザーアカウントの最終ログオン日時を検索する

読者の1人からの最近のスクリプト要求への応答として、コンピューター内のすべてのユーザーアカウントの最終ログオン時間を確認する方法を説明する記事を次に示します。

VBScript:すべてのユーザーアカウントの最終ログイン日を見つける

これは私が思いついたVBScriptで、コンピューターの各ローカルユーザーアカウントの最終ログイン日時の詳細を表示します。

次のコード行をメモ帳にコピーし、ファイルをlast_logon.vbsとして保存します

 Option Explicit Dim objWMIService、colItems、WshNetwork、strComputer Dim objUser、objItem、dtmLastLogin、strLogonInfo Set WshNetwork = CreateObject( "Wscript.Network")strComputer = WshNetwork.ComputerName Set objWMIService = GetObject( "winmgmts:\\"&strComputer& "\ root \ cimv2 ")Set colItems = objWMIService.ExecQuery _(" Select * from Win32_UserAccount Where Domain = '"&strComputer&"' ")For each objItem in colItems dtmLastLogin =" "On Error Resume Next Set objUser = GetObject(" WinNT :// "&strComputer _&" / "&objItem.Name&"、user ")dtmLastLogin = objUser.lastLogin On Error Goto 0 strLogonInfo = strLogonInfo&vbCrLf&objItem.Name&": "&dtmLastLogin Next MsgBox strLogonInfo、vbOKOnly + vbInformation、 "ローカルユーザーの最終ログオン情報" 

スクリプトをダブルクリックして実行します。 30〜40秒待って、ユーザーアカウントと対応する「最後のログイン」時間のリストを確認します。

このスクリプトは、WMIのWin32_UserAccountクラスを使用してローカルユーザーアカウント情報のリストを取得し、各ローカルユーザーアカウントのLastLoginプロパティをクエリして、メッセージボックスに表示します。

ヒント:すべての起動時にすべてのユーザーアカウントの最終ログイン情報を知る必要がある場合は、スクリプトを起動フォルダーに配置します。 ユーザープロファイルのスタートアップフォルダーを開くには、Win + Rキーを押して[実行]ダイアログにアクセスし、 shell:startupと入力して[OK]をクリックします。 VBScriptファイルをスタートアップフォルダにドラッグします。

PowerShell:すべてのユーザーアカウントの最終ログイン日時を検索する

PowerShellを使用してすべてのローカルアカウントの最終ログイン情報を見つけるには、PowerShellウィンドウで次のいずれかのコマンドを実行します。

 Get-LocalUser |名前、Lastlogonを選択 

(または)

 $([ADSI] "WinNT:// $ env:COMPUTERNAME").Children | ここで、{$ _。SchemaClassName -eq 'user'} | 名前、Lastloginを選択します 

すべてのユーザーアカウントの最終ログイン日を確認するNET USERコマンドライン

NET USERコマンドは、ユーザーアカウントの最終ログイン時刻を表示します。

注: Windows 10 Microsoftアカウント(MSA)アカウントの場合、スクリプト、Netコマンドライン、またはPowerShellによって表示される最終ログイン情報は、実際の最終ログオン時間と一致しません。 これは、いったんローカルユーザーアカウントからMSAに切り替えると、Windowsはそれをローカルアカウントと見なさなくなるためです。

関連記事