問題タブ [directoryentry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - DirectoryServicesCOMException が常にスローされるとは限らない - 場合によっては COMException
.NET 4.0 を使用し、DirectoryEntry.NativeObject を呼び出して、AD に対してユーザーの資格情報を検証しています。
AD でユーザーに対して「ユーザーは次回ログオン時にパスワード変更が必要」フラグが設定されている場合、DirectoryEntry.NativeObject 呼び出しは DirectoryServicesCOMException をスローします。その後、DirectoryServicesCOMException 内の情報を使用して、パスワード変更フラグが設定されているために失敗したかどうかを判断できます。
これは一部の Windows 2008 AD サーバーでは機能しますが、他の Windows 2008 AD サーバーでは、DirectoryServicesCOMException がスローされる代わりに COMException がスローされます。 DirectoryServicesCOMException。
サーバー間のどのような違いが原因で異なる例外がスローされるのかわかりません。
一部のサーバーで DirectoryServicesCOMException ではなく COMException がスローされる理由を知っている人はいますか?
COMException がスローされた場合にエラーに関する追加情報を取得する方法を知っている人はいますか? HRESULT では十分ではありません。
ありがとう。
active-directory - DirectoryEntry の RefreshCache を試行すると、DirectoryServicesCOMException (0x80072020) がスローされます。
非常にサンプルのテスト プログラムを作成し、ドメイン マシンでローカル システム アカウントとして実行します。コードは次のようになります。
ドメインの NetBIOS 名は「test」、完全なドメイン名は「test.com」です。「dc.test.com」は DC FQDN で、「gc.test.com」は GC FQDN です。
「test.com」、「dc.test.com」、「gc.test.com」では問題なく動作しますが、「test」と「Environment.UserDomainName」では DirectoryServicesCOMException (0x80072020) をスローします。
詳細な実行結果は次のとおりです。
ドミアン管理者アカウントとして実行すると、すべて正常に動作します。これの原因は何ですか?どうもありがとうございます!
authentication - DirectoryEntry 認証が DirectoryServicesCOMException ではなく COMException をスローする
私は .NET を使用して DirectoryEntry を作成し、NativeObject メンバーにアクセスして、AD に対してユーザーの資格情報を検証しています。
「ユーザーは次のログオン時にパスワードを変更する必要があります」フラグが設定されているか、ログオン時間が一致しないためにユーザーが現在ログオンを許可されていないために、ログインが失敗する状況がいくつかあります。
これらの状況のいずれかが発生したのか、ユーザーが間違ったパスワードを入力したのかを区別したいと考えています。
パラメーター AuthenticationTypes.None を使用して DirectoryEntry オブジェクトを作成すると、ログインに失敗すると DirectoryServicesCOMException がスローされます。この例外の情報は、たとえば「パスワード変更」フラグが設定されているかどうかを判断するために使用できます。
残念ながら、パスワードが送信されるため、AuthenticationTypes.None の使用は安全な方法ではありません。
パラメータ AuthenticationTypes.Secure を使用して DirectoryEntry オブジェクトを作成すると、DirectoryServicesCOMException ではなく COMException がスローされます。この例外は、常にエラー コード ERROR_LOGON_FAILURE を持つため、非常に一般的です。ユーザーが間違ったパスワードを入力したのか、それともパスワードを変更する必要があるのかを区別できません。
MSDN のドキュメントには、次のように記載されています。AuthenticationTypes.Secure が設定されている場合、WinNT プロバイダーは NTLM を使用してクライアントを認証します。これは、COMException のみがスローされる別の動作につながると思います。
動作しますが、安全ではありません:
安全ですが、COMException のみをスローします。
最初のオプションは基本認証を使用し、特定の DirectoryServicesCOMException をスローします。2 番目のオプションは NTLM を使用し、汎用の COMException のみをスローします。
ユーザーがパスワードを変更する必要があるかどうか、アカウントがロックされているか有効期限が切れているかどうか、ログオン時間が無効かどうか、またはユーザーが間違ったパスワードを入力したかどうかを検出する方法を知っている人はいますか?
どうもありがとう。
c# - アプリケーション プールをプログラムで作成、エラー設定 "ManagedPipelineMode"
次のコードを使用してプログラムで IIS 6 (Windows Server 2003R2) 用のアプリケーション プールを作成していますが、設定しようとしている行でエラーが発生します。ManagedPipelineMode
試行 1
試行 2
どちらの方法でも同じ例外がスローされます。
例外:
c# - ローカル グループが既に存在するかどうかを確認するエレガントな方法
ローカル グループが既に存在するかどうかを確認する方法はありますか? 私の「最善の」解決策は、例外をキャッチすることです。例外をキャッチせずに同じ目標を達成する方法はありますか?
c# - サーバーでの LDAP 認証
入力ユーザー名とパスワードを使用して、c# で LDAP ユーザーを認証する必要があります。
そして、ここで必要なレコードを取得します(詳細を見ることができます)ただし、以下のコードを使用して認証しようとすると、常に認証失敗と表示されます
それは常にエラーメッセージ付きのcatchブロックになります
ログオンの失敗: 不明なユーザー名または間違ったパスワード。失敗: ユーザー名が不明か、パスワードが正しくありません。
指定されたパスワードが正しいと確信しています。
提案してください。
Saadの提案に従って、コードで変更しました
それでもエラーが発生しています
どのパラメーターをどこに与えるかについて混乱していると思います。abc.comのような123.123.12.123ドメイン名のようなLDAPサーバーアドレスが あります。管理者のユーザー名とパスワード 、および 認証が必要なユーザー名とパスワードです。(これは OU=new users,OU=KK にあります)
サーバー名、ドメイン、管理者のユーザー名、およびパスワードを使用してディレクトリ エントリを作成しています
指定されたパスワードでユーザー名を検証するにはどうすればよいですか?
c# - LdapConnection と DirectoryEntry
ActiveDirectoryでユーザーを検索するためにLdapConnection/SearchRequestとDirectoryEntry/DirectorySearcherを使用することの違いを誰でも説明できますか?
ADとのやり取りに最も適しているのはどれですか?
c# - AD グループに対するユーザー ログインのチェック
DirectoryEntry メソッドを使用する C# Web アプリで LDAP ログインをセットアップしています。以下のコードは、私がこれまでに持っているものです。これにより、AD アカウントを持つすべてのユーザーがログインできるようになります。「commonusers」という名前のグループの人に限定する必要があります。
ログイン ボタンは、次のコードを使用します。
これらの機能の 1 つに、「commonusers」グループのユーザー アカウントをチェックする機能を追加することは可能ですか?
c# - C# LDAP ユーザーをグループに追加
Active Directory のユーザーを C# のカスタム グループに追加する次のメソッドを作成しています。「SHO Users」という名前の OU と「SHO Sharepoint User」という名前のサブ OU があります。すべてのユーザーはサブ OU に保存されます。最初の「SHO Users」の下に「Test GRP」という名前のグループがあります。次のコードを使用して、一部のユーザーを「Test GRP」グループに追加する必要がありますが、うまくいきません。どんな助けにも本当に感謝します。ありがとう