質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

Q&A

解決済

1回答

1662閲覧

【PowerShell】パスワード変更時にローカルセキュリティポリシーが反映されない

teratail_t

総合スコア15

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

1グッド

2クリップ

投稿2018/08/08 02:25

質問内容

Windows PowerShellを使用して、Windowsパスワードを変更する処理を作成しています。
以下のソースコードを作成して、Windowsパスワードの変更はできました。
しかし、ローカルセキュリティポリシーを一部を除き満たしていないにもかかわらずWindowsパスワードが変更できてしまいます。
一部というのは「パスワードの長さ:8文字以上」の設定をしているときに、8文字以下パスワードで変更した場合には、パスワードポリシーを満たしていませんとエラーが発生されますが、その他の条件ではエラーが発生せずWindowsパスワードを変更することができます。
具体的にいうと、「パスワードの履歴を記録する:2回」と設定しているにもかかわらず、現在のWindowsパスワードど同一のパスワードで変更することができてしまいます。

そこでご質問ですが、ローカルセキュリティポリシーをすべて満たしている場合のみWindowsパスワードを変更し、満たしていない場合はエラーを出力する方法はないのでしょうか。


PowerShell ソースコード

function ChangePassword($UserID, $Password){

$hostname = hostname
[ADSI]$UpdateUser = "WinNT://$HostName/$UserID,User"
$UpdateUser.SetPassword($Password)
$UpdateUser.SetInfo()

}

$UserID = "TEST"
$Password = "TEST123456"
ChangePassword $UserID $Password


ローカルセキュリティポリシー設定

パスワードのポリシー
Lパスワードの長さ:8文字以上
Lパスワードの変更禁止期間:1日
Lパスワードの有効期間:90日
Lパスワードの履歴を記録する:2回
L暗号化を元に戻せる状態でパスワードを保存する:無効
L複雑さの要件を満たす必要があるパスワード:無効


恐れ入りますが、ご教授願えますでしょうか。

milkteas👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決いたしました。
$UpdateUser.ChangePassword($oldPassword, $newPassword)
を使用して問題なくセキュリティポリシーを考慮しつつパスワード変更することが
出来ました。

投稿2018/08/09 05:32

teratail_t

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問