PowerShellを使用してActive Directory (AD) のlastLogonを取得する方法について、初心者向けに解説します。特に、Get-ADUserコマンドを使って、ADのユーザー情報を取得する方法と、リストに基づいて複数のユーザーのlastLogonを取得する方法について詳しく説明します。
PowerShellでADのlastLogonを取得する基本的な方法
まず、Active DirectoryからlastLogonの値を取得するためには、Get-ADUserコマンドレットを使用します。以下のコマンドを実行することで、特定のユーザーのlastLogonを取得することができます。
Get-ADUser -Identity 'username' -Properties lastLogon | Select-Object Name, lastLogon
このコマンドで、指定したユーザー(’username’)のlastLogon属性を取得し、名前とともに表示します。
複数ユーザーのlastLogonを取得する方法
次に、複数のユーザーに対してlastLogonを取得したい場合、対象ユーザーのリストを作成し、そのリストを基に処理を行います。例えば、以下のようにしてリストを作成し、そのリストに基づいて複数のユーザーの情報を取得することができます。
$users = Get-Content 'C:\path\to\userlist.txt'ここでは、
userlist.txtというテキストファイルにユーザー名をリスト化しておき、そのリストを読み込んで処理を行います。次に、リストの各ユーザーに対してlastLogonを取得します。$users | ForEach-Object { Get-ADUser -Identity $_ -Properties lastLogon | Select-Object Name, lastLogon }このスクリプトでは、
$users変数に格納されたユーザー名に対して順番にlastLogonを取得し、結果を表示します。取得したlastLogonの表示形式と注意点
lastLogon属性は、タイムスタンプの形式で表示されます。これを人間が読みやすい形式に変換したい場合は、
lastLogonを[datetime]::FromFileTime()メソッドを使用して変換することができます。以下のようにして、日付形式に変換することができます。$users | ForEach-Object { Get-ADUser -Identity $_ -Properties lastLogon | Select-Object Name, @{Name='lastLogonDate';Expression={[datetime]::FromFileTime($_.lastLogon)}} }これにより、lastLogonが「日付と時間」の形式で表示されるようになります。
まとめ
PowerShellを使用することで、Active Directoryから特定のユーザーまたは複数のユーザーのlastLogonを簡単に取得することができます。初心者でも理解しやすいように、
Get-ADUserコマンドとリストを活用する方法を紹介しました。これを基に、さまざまな管理作業を効率化することが可能です。


コメント