通常、GUIでローカルユーザーを管理するには、管理コンソールの「ローカルユーザーとグループ」(lusrmgr.msc
)を開きます。
Win+X -> G (コンピューターの管理) -> 「ローカル ユーザーとグループ」
PowerShellの場合、名前に LocalUser
と付いたコマンドレットを使えば
ローカルユーザーを簡単に管理することができます。
Get-LocalUserでユーザーの一覧を取得します。
> Get-LocalUser
Name Enabled Description
---- ------- -----------
sheepla True
Administrator False コンピューター/ドメインの管理用 (ビルトイン アカウント)
DefaultAccount False システムで管理されるユーザー アカウントです。
Guest False コンピューター/ドメインへのゲスト アクセス用 (ビルトイン アカウント)
WDAGUtilityAccount False Windows Defender Application Guard シナリオでシステムによって管理および使用され…
プロパティを全て選択すると、SID(セキュリティ識別子)、パスワードの変更情報、有効期限などの詳細情報を確認できます。
> Get-LocalUser guest | select *
AccountExpires :
Description : コンピューター/ドメインへのゲスト アクセス用 (ビルトイン アカウント)
Enabled : False
FullName :
PasswordChangeableDate :
PasswordExpires :
UserMayChangePassword : False
PasswordRequired : False
PasswordLastSet :
LastLogon :
Name : Guest
SID : S-1-5-21-4271572908-2597252306-2002241790-501
PrincipalSource : Local
ObjectClass : ユーザー
既存のnet user
コマンドを使っても構いません。
> net user
\\MYCOMPUTER のユーザー アカウント
-------------------------------------------------------------------------------
admin Administrator DefaultAccount
Guest WDAGUtilityAccount
コマンドは正常に終了しました。
> net user guest
ユーザー名 Guest
フル ネーム
コメント コンピューター/ドメインへのゲスト アクセス用 (ビルトイン アカウント)
ユーザーのコメント
国/地域番号 000 (システム既定)
アカウント有効 No
アカウントの期限 無期限
最終パスワード変更日時 12/25/2022 8:03:04 PM
パスワード有効期間 無期限
パスワード次回変更可能日時 12/25/2022 8:03:04 PM
パスワードあり No
ユーザーによるパスワード変更可能 No
ログオン可能なワークステーション すべて
ログオン スクリプト
ユーザー プロファイル
ホーム ディレクトリ
最終ログオン日時 なし
ログオン可能時間 すべて
所属しているローカル グループ *Guests
所属しているグローバル グループ *なし
コマンドは正常に終了しました。
新規で「sub」という名前のユーザーを作成し、パスワード有効期限を無期限に設定してみます。
-Description
パラメータに文字列を指定すれば説明文を追加できます。
実行するとパスワードの入力を促すプロンプトが表示されるので、続けてパスワードを入力します。
> New-LocalUser -Name sub -Description "サブとして使うローカルユーザーです。" -FullName "サブユーザー" -PasswordNeverExpires:$true
cmdlet New-LocalUser at command pipeline position 1
Supply values for the following parameters:
Password: ************
Name Enabled Description
---- ------- -----------
sub True サブユーザー
既存のnet user /add <ユーザー名> *
コマンドを使うこともできます。
パスワードを平文で直接指定するには *
の代わりにパスワードを記述して実行します。
net user /add user1 *
ユーザーのパスワードを入力してください:
確認のためにパスワードを再入力してください:
コマンドは正常に終了しました。
注: パスワードの有効期限の設定を忘れていると、 運用中のシステムに障害が発生するなどの思わぬトラブルの原因となります。 有効期限は必ず確認しておきましょう。
既存のユーザーの設定を変更します。 先ほど作成したユーザーのパスワードを変更不可にしてみます。
Set-LocalUser sub -UserMayChangePassword:$false
Windowsには、Unix系のOSと同様に複数のユーザーを加入させて共通した役割として管理できる「グループ」の概念があります。
Get-LocalGroup
でグループの一覧を確認してみると、デフォルトでも多くのグループが用意されています。
> Get-LocalGroup
Name Description
---- -----------
Access Control Assistance Operators このグループのメンバーは、このコンピューター上のリソースの認証属性およびアクセス...
Administrators コンピューター/ドメインに完全なアクセス権があります。
Backup Operators Backup Operators は、バックアップの作成またはファイルを復元するときには、セキュ...
Cryptographic Operators メンバーは、暗号化操作の実行を許可されています。
Device Owners このグループのメンバーは、システム全体の設定を変更できます。
...略...
特定のユーザーに管理者権限を付与してみましょう。
Administrators
グループに対象のユーザーを追加するだけです。
Add-LocalGroupMember
を使って「sub」ユーザーに管理者権限を付与してみます。
Add-LocalGroupMember -Group Administrators -Member sub
なお、-Member
パラメータは配列を受け付けているので
特定のグループに複数のユーザーを一度に加入させることもできます。
Add-LocalGroupMember -Group Administrators -Member @("user1", "user2", "user3")