昨日の「Hey, Scripting Guy」!*1を読んでいて知ったのだが、最新のPowershell*2ではローカルユーザーを管理できる。
実行環境
Microsoft Windows 10 Pro (10.0.14393)
Major Minor Build Revision
----- ----- ----- --------
5 1 14393 576
実際のコマンド
まずはどんなコマンドがあるか、手元の環境で確認してみる。
PS D:\SandBox>
PS D:\SandBox> Get-Command Get-LocalUser
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
PS D:\SandBox>
PS D:\SandBox> get-command -Module Microsoft.PowerShell.LocalAccounts
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Add-LocalGroupMember 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Disable-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Enable-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Get-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Get-LocalGroupMember 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Get-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet New-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet New-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Remove-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Remove-LocalGroupMember 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Remove-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Rename-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Rename-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Set-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts
Cmdlet Set-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts
続けていくつか使ってみる。
PS D:\SandBox>
PS D:\SandBox> (Get-LocalUser)[1..3]
Name Enabled Description
---- ------- -----------
DefaultAccount False システムで管理されるユーザー アカウントです。
Guest False コンピューター/ドメインへのゲスト アクセス用 (ビルトイン アカウント)
HomeGroupUser$ True コンピューターへのホームグループ アクセス用のビルトイン アカウント
PS D:\SandBox>
PS D:\SandBox> (Get-LocalGroup)[1..3]
Name Description
---- -----------
WinRMRemoteWMIUsers__ Members of this group can access WMI resources over management protocols (such a...
__vmware__ VMware User Group
Access Control Assistance Operators このグループのメンバーは、このコンピューター上のリソースの認証属性およびアクセス...
PS D:\SandBox>
PS D:\SandBox> Get-LocalGroupMember Administrators
ObjectClass Name PrincipalSource
----------- ---- ---------------
ユーザー examplePC\Administrator Local
もっと詳しい使い方は公式のリファレンスを読めばよい。
Microsoft.PowerShell.LocalAccounts
参考
PowerTip: Get a list of local Users in Windows 10 / Windows Server 2016 – Hey, Scripting Guy! Blog
⇒元ネタ
Tech TIPS:Windowsのnet userコマンドでユーザーアカウントを管理する - @IT
⇒該当コマンドレットが利用できない場合、昔ながらのnet user コマンドを使う。
余談
bashならどうするの?というメモ
ユーザーの情報を取得したいだけならgetentコマンドを利用する。/etc/groupだけではわからないようなLDAP連携の値も持ってこれる。
変更を加えたいなら
- user(add|del|mod)
- group(add|del|mod)