this MSDN sampleのように、LogonUser(...)
を使用してユーザーアカウントのアクセストークンを取得しようとしました。LogonUser(...)がドメインアカウントで機能しないのはなぜですか?
// Call LogonUser to obtain a handle to an access token.
bool returnValue = LogonUser(userName, domainName, Console.ReadLine(),
LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT,
out safeTokenHandle);
私は(管理者権限を持つ)のサンプルを実行すると.
のドメインとローカルユーザーアカウント名とパスワードが与えられたときにそれがうまく動作しますが、関係なく、私は何をすべきか、私は、エラーコード1326(ログオン失敗を取得していません:不明なユーザー名または不正なパスワード)ドメインアカウントを使用しようとすると私はドメインにゴミを入れれば同じ結果になるので、DCに実際に接触しているかどうか疑問に思う。
これが機能しなくなる原因は何ですか?私の場合は
これは残念なことに大量のものが原因である可能性があります。マシンはドメインに接続されていますか?ドメインユーザーはそのマシンにログオンできますか? DNS設定は正しく設定されていますか? (私はこれが問題になるかもしれないことを示唆したCitrixの記事を見ました)。次の記事では、ドメインのごみを入力する際に何が起こっているかについての情報があります。https://groups.google.com/group/microsoft.public.dotnet.languages.csharp/msg/dccfbf8b76120401?pli=1 –
これはConsole.ReadLine()呼び出しなしで動作することを検証しました(例えばパスワードを直接文字列として入力するなど)? –
パスワードはどこから来るのかは違います。パスワードは 'LogonUser'に渡されるときの文字列です。 – GraemeF