クライアントがサーバー マシンにログインする ASP.NET で Web アプリの関数を作成しています。これは、サーバー上のローカル ユーザーに対して Windows 認証されています。私が書いている関数は、ユーザーのパスワードをリセットし、新しいパスワードをメールで送信します。私はこれを次のようにします:
String userPath = "WinNT://" + Environment.MachineName + "/" + username.Text;
DirectoryEntry de = new DirectoryEntry(userPath);
de.Invoke("SetPassword", new object[] { password });
フラグをチェックして、次回ユーザーがメールで送信されたパスワードでログインしたときにパスワードを変更するように強制するにはどうすればよいですか? pwdLastSet を次のように使用してみました:
de.Properties["pwdLastSet"].Value = 0;
しかし、これは明らかにWinNTではなくLDAPでのみ機能し、私はこれをローカルで行っています。
私よりもよく知っている専門家はいますか?プロセスを作成できるように、コマンドラインからこれを行う方法を探してみましたが、その方法を見つけることもできませんでした。