
当社には、Active Directory グループを介して特定のユーザーに制限されているターミナル サーバーがあります。1 人のユーザーがアクセスできましたが、2015 年 3 月にそのアクセスが削除されました。
PowerShell で実行するとGet-WmiObject -class Win32_NetworkLoginProfile | Select-Object Name,LastLogon
、そのユーザーは今日の日付と時刻とともにリストされますが、ログインできません。
なぜ表示されるのでしょうか? 会社を辞めて削除された他のユーザーには、最後にログインした時刻が表示されます。
答え1
拒否されたユーザーには最近のログオン時間が表示されます
当社には、Active Directory グループを介して特定のユーザーに制限されているターミナル サーバーがあります。1 人のユーザーがアクセスできましたが、2015 年 3 月にそのアクセスが削除されました。
PowerShell で Get-WmiObject -class Win32_NetworkLoginProfile | Select-Object Name,LastLogon を実行すると、そのユーザーは今日の日付と時刻とともにリストされますが、ログインできません。
なぜ表示されるのでしょうか? 会社を辞めて削除された他のユーザーには、最後にログインした時刻が表示されます。
さて、会社を辞めたユーザーには期待されるLastLogon
値がありますが、PowerShell コマンドを実行すると、この「制限された」(ただし解雇された従業員ではない) アカウントには期待される値が設定されません。
を実行すると、Get-WmiObject -class Win32_NetworkLoginProfile
、ユーザーのネットワークログイン値を照会するこれは、使用している構文内の特定のマシンまたはサーバーに固有のものではないため、そのアカウントを持つ任意のデバイスへのネットワークへの最後のログオンの値になります。
- 比較するには、同じユーザー名で実行すると、質問内の WMI PowerShell コマンドなどと
NET USER /DOMAIN <Username>
同じ日付タイムスタンプがフィールドに表示されます。Last Logon
これが、制限されているが終了していないアカウントに対してこのメッセージが表示される理由です。そのアカウントは、終了したアカウントがログオンしていない環境内の他のドメイン参加マシンにログオンしている可能性があります。
以下は、もう少し具体的なクエリを改良したものです。特定のユーザーアカウントに特定のサーバーまたはマシン。
PowerShell コマンド (改良版)
# connecting to a remote machine using current identity:
$ComputerName = 'SomeServerNameOrIP'
$AccountName = 'AccountNameToSearch'
Get-WMIObject -Class Win32_NetworkLoginProfile -ComputerName $ComputerName |
Where {$_.name -match $AccountName} | Select-Object Name,LastLogon,LogonServer
その他のリソース
Win32_ネットワークログインプロファイル
Win32_NetworkLoginProfile クラスは、Win32 システム上の特定のユーザーのネットワーク ログイン情報を表します。これには、パスワードの状態、アクセス権限、ディスク クォータ、ログイン ディレクトリ パスなどが含まれますが、これらに限定されません。
最終ログオン
データ型 DateTime
LastLogon プロパティは、ユーザーが最後にシステムにログオンした日時を示します。この値は、1970 年 1 月 1 日 00:00:00 からの経過秒数から計算されます。この値の形式は、yyyymmddhhmmss.mmmmmm sutc です。例: 19521201000230.000000 000
NETLOGIN - Network login information for a particular user.