PowerShellでActive DirectoryのlastLogonを取得する方法とリストの活用

プログラミング

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コマンドとリストを活用する方法を紹介しました。これを基に、さまざまな管理作業を効率化することが可能です。

コメント

タイトルとURLをコピーしました