● Windows10のHomeエディションの場合の、パスワードの有効期限を無制限から有限(日数限定/制限あり)に変える方法
Windows10のHOMEエディションの場合は、コマンドプロンプトで「net account」を実行すると
「パスワード有効期間 (日数):42」
と出るのですが、
「net user ユーザー名」を実行するとなぜか、
「パスワード有効期間 (日数):無制限」
と出ます。
これは、マイクロソフトコミュニティの「Win10Homeでパスワード有効期間の変更」によると、HOMEエディションの場合は、パスワードについては、「マシンのデフォルトとしては”一応”、42日ごとに変更しないといけない設定だけど、実際には、それをWindowsから求められることはなく、ユーザーを新しく作れば、必ず”無制限”になる」ということだそうです。
=============引用ここから================
「パスワードを無期限にする」にチェックが入っているユーザー アカウントの場合、secpol.msc や net accounts コマンドでパスワードの有効期限を設定しても、パスワード有効期限のチェック自体が行われないのでパスワードが無期限に有効になります。
「パスワードを無期限にする」の構成は wmic コマンドを利用しないとできないようですね。
=============引用ここまで================
確かに、HOMEエディションをを使っている人からは、新しいユーザーを作っても、「パスワードを変更するように出た」と聞いたことがありません。
@ 以下、Windows10のHOMEエディションで「net account」を実行した例
1 2 3 4 5 6 7 8 9 10 11 |
C:\Windows\system32>net accounts 強制ログオフまでの時間 (分): しない パスワード変更禁止期間 (日数): 0 パスワード有効期間 (日数): 42 最小パスワード長: 0 使用できない旧パスワード数: なし ロックアウトしきい値: しない ロックアウト期間 (分): 30 ロックアウト監視ウィンドウ (分): 30 コンピューターの役割: WORKSTATION コマンドは正常に終了しました。 |
・・・確かに「パスワード有効期間 (日数): 42」となっています。
@ 以下、Windows10のHOMEエディションで「net user ユーザー名」を実行した例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\Windows\system32>net user user01 ユーザー名 user01 フル ネーム コメント ユーザーのコメント 国/地域番号 000 (システム既定) アカウント有効 Yes アカウントの期限 無期限 最終パスワード変更日時 2017/07/16 10:11:33 パスワード有効期間 無期限 パスワード次回変更可能日時 2017/07/16 10:11:33 パスワードあり Yes ユーザーによるパスワード変更可能 Yes ログオン可能なワークステーション すべて ログオン スクリプト ユーザー プロファイル ホーム ディレクトリ 最終ログオン日時 2017/07/16 6:43:59 ログオン可能時間 すべて 所属しているローカル グループ *Administrators 所属しているグローバル グループ *なし コマンドは正常に終了しました。 C:\Windows\system32> |
・・・でもこちらでは「パスワード有効期間 無期限」となってしまっています。
これをちゃんと「42」日のパスワード日数を有効にするには、以下のコマンドをコマンドプロンプトの「管理者として実行」にて、実行します。
この例は、ユーザー名が「user02」で、何らかのパスワードが設定されている場合の例です。
(WindowsBATでローカルユーザの追加、ローカルグループの追加、パスワード無期限設定のメモ。よりの引用です。)
1 2 3 |
rem rem wmic useraccount where "Name='user02'" set PasswordExpires=TRUE |
これを「管理者として実行」で実行すると、例えば「net user user02」を実行したときに、以下の内容に変わり、パスワードの変更を求められるそうです。(無制限に戻したいときは TRUEをFALSEに変えて管理者として実行します。大文字小文字は区別されません。)
1 2 3 4 |
rem 最終パスワード変更日時 2017/07/16 10:11:33 パスワード有効期間 2017/08/26 10:11:33 パスワード次回変更可能日時 2017/07/16 10:11:33 |
これは、期限を有効化したいユーザーすべてに処置する必要があります。
複数ユーザー全部に一括適用したいなら、例えば次のようなバッチファイルを作って、これも右クリックの「管理者として実行」で実行します。(一括で無制限にしたいならTRUEをFALSEにして管理者として実行です。)
1 2 3 4 |
rem wmic useraccount where "Name='user02'" set PasswordExpires=TRUE wmic useraccount where "Name='user-mama'" set PasswordExpires=TRUE wmic useraccount where "Name='user-papa'" set PasswordExpires=TRUE |
このあとに、例えば「net accounts /maxpwage:1」を管理者として実行をすると42日の有効期限を1日に変更することができます。
この場合、「PasswordExpires=TRUE」に設定したすべてにユーザーに対して適用されます。
それぞれのユーザーでログインすると、バルーン表示のような形で「パスワードの変更を検討してください」と出ますので、Ctrl+Alt+Delete にて、パスワードを変更します。(net user コマンドでも変更できるそうです。)
逆に「PasswordExpires=FALSE」に設定したユーザーや、TRUEを一度も設定したことがないユーザーは「無制限」のままなので、「1日」や「42日」の設定は無視されます。
なお、Win10のバージョン1703(Creaters Update)適用後は、スタートボタンの右クリックでコマンドプロンプトの「管理者として実行」ができなくなってしまったので、以降のようにして、デスクトップやタスクバーに「管理者として実行」用のショートカットを作っておくと便利です。
基本、Win10では、コマンドの多くは「管理者として実行」でやるほうが無難かもしれません。
● コマンドプロンプトの管理者設定
Windows10(Vista以降もかも?)のコマンドプロンプトでの各種設定やバックアップは、「管理者として実行」でないと正常に実行されないものが多いです。
ただ、Windows10のバージョン1703では、コマンドプロンプトの「管理者として実行」が、スタートボタンの右クリックからできなくなってしまいました。
ですので、デスクトップに、管理者として実行ができる、コマンドプロンプトのショートカットアイコンを置いておきます。そしてそれをタスクバーにもピン留めしておきます。
スタートボタン
→Windowsシステムツール
→「コマンドプロンプト」を右クリック
→その他
→ファイルの場所を開く
で、コマンドプロンプトのショートカットアイコンが出てくるので、それをデスクトップにコピペします。
その後、
→そのショートカットを右クリックしてプロパティ
→詳細設定
→「管理者として実行」にレ点を入れます。
→OK、して、元の画面に戻ったときも OK、します。
以上で、毎回、コマンドプロンプトが「管理者として実行」されます。
このショートカットを右クリックして、「タスクバーにピン留めする」でタスクバーにもピン留めされるので便利です。