Windows10でパスワードの有効期限を無期限に自動設定する方法。PowerShellスクリプトで複数ユーザを簡単に設定

アリスです。

Windows10でパスワードの有効期限を無期限にする方法について説明します。

他のサイトでもパスワードの有効期限を無期限にする方法がかかれていますが、どれも手動での設定です。

ユーザが一人しかいないならそれでいいですが、ユーザが複数いる場合、しかも100人以上いる場合は、いちいち手動でなんかやっていられませんよね。

ここでは自動で設定する方法について紹介します。私が探した限り、ここまで懇切丁寧に書かれた記事はありませんでした。

PowerShellスクリプトのコマンド

Powershellを開きます。PowerShellはWindowsに標準でインストールされています。

パスワードを無期限にするには、PowerShellから下記のコマンドを打ちます。ユーザ名には、パソコンのアカウント名として存在する名前を入れてください。

wmic useraccount where “Name=’ユーザ名'” set PasswordExpires=FALSE

FALSEの部分をTRUEにすると、パスワード無期限設定を解除できます。

スポンサーリンク

ユーザ全員のパスワードを無期限に設定する

上記コマンドを紹介しているサイトもたくさんありますが、、上記のコマンドが分かっても意味がないです。

やりたいことは、現在登録されている複数ユーザの全員のパスワードを無期限にする方法です。

順番に説明します。

登録されているユーザデータをエクスポートする

登録されているユーザがわからないことには話になりません。下記の方法で全ユーザのデータを取得します。

スタートメニューで右クリックし、コンピュータの管理を開きます。

画面が開くと、ローカルユーザとグループの項目がありますので、それを開きます。

ユーザのところで右クリックすると、エクスポートするメニューがありますので、それを選択します。

適当な名前のテキストデータで保存します。今回はAllUser.txetで保存。

保存したテキストデータを開きます。このときメモ帳ではなく、VS Codeやサクラエディタといったテキストエディタで開きましょう。

なぜかというと、あとで紹介するプログラムで使うためにデータを加工する必要があるからです。メモ帳では加工ができません。

では、加工の方法を説明します。先ほど取得した全ユーザのデータのテキストの中身を見ていただくとわかるのですが、最初に名前があり、そのあとタブでスペースがあり、次の項目が表示されていると思います。そしてまたタブのスペースという具合になっていると思います。

この中で必要なのは、名前だけなので、それ以外を消します。消すには正規表現を使って、空文字に置き換えます。

まず、テキストエディタで置換メニューを表示します。正規表現での置き換えを許可するチェックをつけましょう。そして、置き換え前の文字列に「\t.*$」を入力します。そして、置き換え後の文字列には何も設定しません。

できたら置き換えをしてください。各行の先頭の名前以外が削除されたと思います。

スポンサーリンク

PowerShellスクリプトを作って一括設定する

PowerShellスクリプトの中身のプログラムは下記のとおりです。

先ほど作った全ユーザのテキストデータを読み込み、順番にパスワードを無期限設定にするというプログラムです。

下記のプログラムを拡張子 「.ps1」のファイルで保存します。今回はパスワード無期限.ps1という名前のスクリプトファイルを作成。

それではいよいよ実行です。PowerShellを開き、上記のスクリプトと、ファイル名を指定します。スクリプト名とファイル名の間に空白をいれてください。

パスワード無期限.ps1    AllUser.txt

すると、PowerShellスクリプトで、AllUser.txt内に記載されているユーザ名を順番に読み取り、自動で設定されていきます。一人の設定に2秒ぐらいかかるので、100人いれば200秒かかりますが、自動で設定されます。

スポンサーリンク
関連記事と広告