Windowsのローカルユーザーアカウントの管理は、システム管理者にとって重要な作業の一つです。
GUI(グラフィカルユーザーインターフェース)での管理も可能ですが、大量のユーザー設定を一括変更したり、自動化を実現したりする場合は、PowerShellを活用するのが効率的です。
Set-LocalUser
コマンドは、Windows 10以降の環境でローカルユーザーのプロパティを変更するためのPowerShellコマンドレットです。本記事では、Set-LocalUser
の基本的な使い方から応用例まで、実用的なスクリプトとともに詳しく解説します。
Set-LocalUser とは?
Set-LocalUser
は、Windowsのローカルユーザーアカウントの情報を変更するためのPowerShellコマンドです。
例えば、ユーザー名、説明、パスワードの更新などを簡単に行うことができます。
このコマンドは Windows 10, Windows Server 2016以降 で利用可能であり、Active Directoryのユーザーではなく、ローカルユーザーのみに適用 されます。
基本的な構文
Set-LocalUser -Name <ユーザー名> -Password <パスワード>
上記のように、-Name
で対象のユーザーを指定し、-Password
オプションでパスワードを変更できます。
次の章では、より詳しいオプションと実用例を紹介します。
Set-LocalUser の基本的な使い方
1. ユーザーの説明を変更する
ローカルユーザーの説明を変更するには、以下のコマンドを使用します。
Set-LocalUser -Name "TestUser" -Description "開発用アカウント"
このコマンドを実行すると、”TestUser” のアカウント説明が「開発用アカウント」に変更されます。
2. パスワードを変更する
パスワードを変更するには、まずセキュアなパスワードを作成し、それを適用する必要があります。
$Password = ConvertTo-SecureString "NewP@ssw0rd" -AsPlainText -Force
Set-LocalUser -Name "TestUser" -Password $Password
このスクリプトでは、ConvertTo-SecureString
を使用して、新しいパスワードをセキュアな形式に変換しています。
3. ユーザーの有効・無効化
ローカルユーザーアカウントを無効化するには、-Disabled
オプションを使用します。
Set-LocalUser -Name "TestUser" -Enabled $false
逆に、無効化されたアカウントを有効にする場合は $true
を設定します。
Set-LocalUser -Name "TestUser" -Enabled $true
4. ユーザーのフルネームを変更する
ローカルユーザーのフルネームを変更するには、以下のコマンドを実行します。
Set-LocalUser -Name "TestUser" -FullName "田中 太郎"
Set-LocalUser の応用例
1. 複数のユーザーのパスワードを一括変更
会社や組織で複数のローカルユーザーのパスワードを変更する場合、以下のスクリプトを使用できます。
$Users = @("User1", "User2", "User3")
foreach ($User in $Users) {
$Password = ConvertTo-SecureString "NewPassword123!" -AsPlainText -Force
Set-LocalUser -Name $User -Password $Password
}
このスクリプトは、指定したユーザーのパスワードを一括で変更します。
2. 特定の条件に合うユーザーの情報を更新
例えば、「説明が ‘旧アカウント’ になっているすべてのユーザーを無効化する」場合は、以下のようなスクリプトを実行します。
$Users = Get-LocalUser | Where-Object { $_.Description -eq "旧アカウント" }
foreach ($User in $Users) {
Set-LocalUser -Name $User.Name -Enabled $false
}
このスクリプトは、条件に該当するユーザーを取得し、Set-LocalUser
を用いて無効化します。
Set-LocalUser を使用する際の注意点
Set-LocalUser
を実行する際には、以下の点に注意してください。
- 管理者権限が必要
Set-LocalUser
を使用するには、PowerShellを 管理者として実行 する必要があります。 - Active Directoryのユーザーには適用不可
Set-LocalUser
は ローカルユーザー のみを対象とし、Active Directoryの管理にはSet-ADUser
などのコマンドを使用する必要があります。 - パスワードの取り扱いに注意
-Password
の値を直接入力するとセキュリティ上のリスクがあります。ConvertTo-SecureString
を使用して適切に処理しましょう。
まとめ
Set-LocalUser
コマンドを活用すると、Windowsのローカルユーザー管理が効率的に行えます。
今回紹介した内容をまとめると、以下のようになります。
Set-LocalUser
は、ローカルユーザーのパスワード、説明、フルネーム、有効・無効化を変更できる。- 複数のユーザーの設定を一括変更するスクリプトも作成可能。
- 管理者権限での実行が必要。
- パスワード管理にはセキュリティ対策を忘れずに行う。
このPowerShellコマンドを活用することで、ユーザー管理の負担を大幅に軽減できます。
ぜひ試してみてください!