PowerShell ActiveDirectoryから色々取得する
恥ずかしながらパソコンのアカウント管理をエクセルで行っていました。
でもADサーバに管理者ログインせずに、ADサーバから一覧取得できることが分かりましたのでメモとして残します。
まずActiveDirectoryを手元のパソコンから操作する管理ツールを導入します。下の記事に説明があります。
そしてPowerShellのコンソールからコマンドを実行します。
ActiveDirectoryからユーザー一覧取得
#ADからユーザー一覧取得
Get-ADUser -Filter * -Property * | Sort-Object -Property Name | Export-Csv -Encoding Default -Delimiter "," -NoTypeInformation -Path c:\temp\ad-userlist.csv
ユーザーの最終ログオン日時を取得
#ユーザーの最終ログオン日時を取得
Get-ADUser -Filter * -Properties LastLogonDate, WhenCreated | Format-Table Name,SamAccountName, LastLogonDate, WhenCreated
ADからPC一覧取得
#ADからPC一覧取得
Get-ADComputer -Filter * -Property * | Sort-Object -Property Name | Export-Csv -Encoding Default -Delimiter "," -NoTypeInformation -Path c:\temp\ad-pclist.csv
PCの最終ログオン日時を取得
#PCの最終ログオン日時を取得
Get-ADComputer -Filter * -Properties LastLogonDate, WhenCreated | Format-Table Name, LastLogonDate, WhenCreated
パソコン一覧と最終ログイン時間とOSバージョンをCSVで出力する
#パソコン一覧と最終ログイン時間とOSバージョンをCSVで出力する
Get-ADComputer -Filter * -Properties * | Sort-Object -Property CN | select-object CN,Created,DistinguishedName,Enabled,IPv4Address,LastLogonDate,OperatingSystem,OperatingSystemVersion | Export-Csv -Path c:\temp\AD-PC.csv -Encoding Default
工夫すれば、長期ログインしていないアカウント(ユーザー)の自動無効化や、ADでアカウントを作成すると社内の業務システムにも同じアカウントを作るようにもできます。
#PowerShell #ActiveDirectory #ADサーバ #情シス #社内SE #業務効率化 #コマンドレット #プログラミング初心者 #プログラミング学習