問題タブ [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.

0 投票する
4 に答える
14605 参照

directoryentry - ユーザーの SID から、AD DirectoryEntry を取得するにはどうすればよいですか?

ユーザーの SID は にbyte[]ありますwindowsPrincipal.getIdentity().getSid()。SID から Active Directory エントリ (DirectoryEntry) を取得するにはどうすればよいですか?

0 投票する
2 に答える
3651 参照

c# - c# DirectoryEntry InvokeSet HomeDirectory と HomeDrive、エラー

指定された OU 内の各 AD ユーザーのプロファイル / ホーム ディレクトリ / ホーム ドライブの設定を変更しようとしています。

この偉業を達成するはずの非常に基本的なコードを以下に示しますが、代わりに次の例外をスローしています。

要求された操作は、オブジェクトのクラスに関連付けられた 1 つ以上の制約を満たしていませんでした。

誰かがこの問題を抱えていましたか? もしそうなら、それを修正する方法はありますか?

ありがとうございました。

0 投票する
1 に答える
862 参照

c# - AD ドメイン名から Windows ログオン ドメイン名を取得する方法

MyDomain.com のような AD ドメイン名と、MD (MD=MyDomain) のような Windows ログオン ドメイン名があります。DirectoryEntry.Propertiesコレクションを使用して AD ドメインから win logon ドメイン名を取得するにはどうすればよいですか?

0 投票する
2 に答える
8188 参照

vb.net - ADDirectoryEntryを介してVB.NETでAccountExpiresを設定する方法

AD DirectoryEntryでaccountExpiresプロパティを設定する必要がありましたが、簡単な答えが見つかりませんでした。いくつかの情報が見つかりました。

http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.userprincipal.aspx

http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/182bfb6a-8b23-4c96-9379-101a4d91241a

http://www.rlmueller.net/AccountExpires.htm

ADS ****。dllに関するいくつかの記事を見ましたが、この方法を使用する必要があるとは思いませんでした

ブライアンのおかげで、上で書いた大量のコードを単純化できるようです。

AccountExpiresおよびその他のlargeIntegerの問題をVB.NETで返す関数

使用例:

別の方法

LDAP AccountExpiresをC#でDateTimeに変換します

0 投票する
1 に答える
1754 参照

c# - .NET で LDAP がセカンダリ ローカル IP アドレスを使用するように強制するにはどうすればよいですか?

ユーザー認証のために、(C#/.NET を使用して) ファイアウォールの背後にあるリモート LDAP サーバーにアクセスする必要があります。

リモート サイトのファイアウォールは特定の IP アドレスを許可するように設定されていますが、それはサーバーのプライマリ IP アドレスではありません。つまり、デフォルトでは、リモート LDAP サーバーへの接続にはプライマリ IP が使用されます。

.NET で LDAP にセカンダリ IP アドレスを使用させるにはどうすればよいですか?


特にSystem.DirectoryServices.DirectoryEntryandSystem.DirectoryServices.AccountManagement.PrincipalContextクラスを使用していますが、ローカル エンドポイントを制御する方法がわかりません。

これは、TcpClient を使用してローカル IP アドレスにバインドする方法です。

注意: この場合、サーバーのプライマリ IP アドレスは変更できません。

PS: ここでは「バインド」という言葉をローカル エンド ポイントへのバインドを意味するために使用していますが、LDAP ではディレクトリへの接続/認証に「バインド」という言葉を使用します。

0 投票する
2 に答える
1019 参照

c# - Active Directory への接続試行中の例外

私の会社のプロジェクトとして、asp.net c# で 2 つの AD をクエリしようとしています。ローカルのものとリモートのもの。ローカルのものは私に問題を与えず、接続し、質問し、すべてがうまく機能しています.

問題は、リモートのもの (ISP の場所にあるサーバー ファームにあります) にあります。

「ローカル エラーが発生しました」というエラーが表示されます。

私が書いた接続コード:

ポートを確認しましたが、ファイアウォールで開いています。AD ユーザーを照会しようとしていますが、はい、ユーザー リストはユーザーの下ではなく、別の OU の下にあります。

これ知ってる人いるかも?何を探す?IP を使用している場合、DC 部分を使用する必要がありますか?これに関するドキュメントが見つかりません...

ドキュメントで読んだように、389ポートを開く必要がありましたか??? ありがとう、エレズ

0 投票する
1 に答える
3516 参照

c# - DirectoryEntryで使用されるポートはどれですか?

私の目標は、リモートサーバーからWebサイト名のリストを取得することです。しかし、私は例外を取得しています:

RPCサーバーは利用できません。

コードは次のとおりです。

マシンでファイアウォールがオフになっている場合、これは正常に機能します。

私が知る必要があるのは、DirectoryEntryによってどのポートが使用されているかということです。または、ファイアウォールをオフにせずにWebサイト名を取得する他の方法はありますか?

0 投票する
2 に答える
5385 参照

asp.net - ASP.Net (IIS 7.5) ユーザー資格情報を使用しない Active Directory のクエリ

イントラネット用に構築した複数の Web アプリケーションがあります。ユーザーがログインについて心配しないようにしたかったので、これらのアプリは、サイトにアクセスしたときに現在ログオンしているユーザーをプルします。これを実現するために、次のコードを使用しました。

これは魅力のように機能しますが、ここでは問題ありません。次のステップは、ログインしているユーザーの Active Directory にクエリを実行して、さまざまな情報を取得することです。私が現在どのようにコーディングしているか、それは開発側の魅力のように機能します (私は IIS を実行していないため、典型的です)。

問題は、IIS サーバー (IIS 7.5 を実行している Windows Server 2008 R2) に公開すると、Active Directory をクエリするコード内の特定の行を指すエラー メッセージが表示されます。興味深いのは、これらのアプリが先週うまく機能していたことです。私のサーバー管理者が Windows Update の最新のバッチを実行した後、それらは壊れました (注意してください、私は .Net Framework 4.0 を使用してそれらを実行しています)

Windows 認証が有効になるように各アプリをセットアップする前に、他の認証タイプを無効にしました。プロバイダーの場合、ネゴシエートが 1 位、NTLM が 2 位です。詳細設定では、拡張保護 = オフ、およびカーネル モード認証を有効にするがオンになっています。

私のweb.configには次のセットがあります:

これらは私が持っていた設定であり、すべてが魅力的に機能しました. NTLM が 1 位で、Negotiate が 2 位になるように、プロバイダーを交換する必要があります。このため、ユーザーの資格情報が正しく渡されず、AD クエリが失敗します。これは、クエリに使用しているコーディングです。

更新以来、前にネゴシエートを使用してサイトをロードすると、DirectoryEntry にユーザー名/パスワードが設定されていないため、その最終行で失敗します。ユーザー名/パスワードを設定しても、以前のように 100% 機能しません。

だから私の質問は、ユーザーがサイトにアクセスし、ユーザー名を知り、DirectoryEntry でユーザー名/パスワードを使用せずに Active Directory を照会できるようにするには、どうすればよいですか??

IISの設定ですか?または、再コーディングする必要がありますか? おそらくweb.config設定?サーバーの更新を元に戻し、中断が発生した原因を特定する必要がありますか?

アドバイスありがとうございます。ご不明な点がございましたら、お気軽にお問い合わせください。

アップデート

Matt が提案したように、次のクリップを web.config ファイルに追加してみました。

これはうまくいきませんでした。いくつか読んだ後、このセクションをさらに変更しました。

これを行う際に、web.config セクションの上位にある文字列も削除しました。これも機能しませんでした(fyi、これは素晴らしいリファレンスでしたhttp://www.iis.net/ConfigReference/system.webServer/security/authentication

次に、この記事に出くわしました: http://social.technet.microsoft.com/Forums/en/winserverDS/thread/7deba16b-295a-4887-98f9-9f291ed49871同様の状況のようです。この記事は最終的に「Double Hops」を参照しました。これを調べていくつかのことを試した後、これでも問題は解決しませんでした。

次のステップ

別の Server 2008 R2 システムで新しい IIS 7.5 の実装を試し、基本的に最初からやり直して、問題が再現するかどうかを確認します。

新しい提案は非常に役立ちます。

0 投票する
2 に答える
2103 参照

c# - NT AUTHORITY\IUSR を Administrators グループに追加する方法

winforms アプリケーションの管理者グループに IUSR アカウントを追加したいと考えています。次のコードは、「NT AUTHORITY\IUSR」のユーザーが見つからないため失敗します。

これは悪い考えだと思います。これを行っているのは、IIS7 で開発目的のみに新しい Web サイトをプログラムで作成する winforms アプリケーションを作成しているためです。Web サイトは正常に作成されていますが、ページを読み込もうとすると ASP.NET が「アクセスが拒否されました」というエラーを表示します。IUSR を管理者グループに追加すると、すべて正常に動作します。他に何を試すことができますか?以下は、新しいウェブサイトを作成するために使用しているコードです。