はじめに
Windowsユーザーとグループがわかる一覧を出したいのですが、Powershellの「Get-LocalUser」コマンドだけだとグループとの紐づけが表示されないので、紐づけを出しつつ一覧を出す方法です。
コマンドその1
こちらはグループ名とユーザー名が1行ででます。グループにユーザーがいなかったらグループ名だけが表示されます。テキストに落としとけば差分取りやすいと思います。
PS> (Get-LocalGroup).name |%{$group_name=$_;(Get-LocalGroupMember $group_name).name|%{echo "$group_name,$_"}} 結果例: Administrators,LAPTOP-BFRR44EQ\user01 Administrators,LAPTOP-BFRR44EQ\Administrator Device Owners, ←ユーザーがいない Distributed COM Users, ←ユーザーがいない … …続く
その2
グループの紐づけの他にもパスワードの有効期限を取りたいときに
PS> ForEach($line in Get-LocalUser) {echo "---"; net user $line.name} 結果例: --- ユーザー名 Administrator フル ネーム コメント コンピューター/ドメインの管理用 (ビルトイン アカウント) ユーザーのコメント 国/地域番号 000 (システム既定) アカウント有効 No アカウントの期限 無期限 最終パスワード変更日時 2022/10/24 0:34:33 パスワード有効期間 無期限 パスワード次回変更可能日時 2022/10/24 0:34:33 パスワードあり Yes ユーザーによるパスワード変更可能 Yes ログオン可能なワークステーション すべて ログオン スクリプト ユーザー プロファイル ホーム ディレクトリ 最終ログオン日時 2020/09/04 21:37:12 ログオン可能時間 すべて 所属しているローカル グループ *Administrators 所属しているグローバル グループ *なし コマンドは正常に終了しました。 --- … …続く
以上