問題タブ [adsi]

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 投票する
1 に答える
1144 参照

winapi - ドメイン間でネストされたグループを列挙する方法は?

MemberOf属性を使用して、ネストされたグループを列挙しています。私は2つのドメイン、2つのグループ、1つのユーザーを持っています。構成については、以下を参照してください。

  • ドメインDOMAIN-Aには、ドメイングローバルグループGROUP-AとUSER-Aがあります。
  • ドメインDOMAIN-Bには、ドメインローカルグループGROUP-Bがあります。
  • USER-AはGROUP-Aのメンバーです。
  • GROUP-AはGROUP-Bのメンバーです。

理想的には、GROUP-AのMemberOf属性にGROUP-Bが含まれている必要がありますが、MemberOf属性すら含まれていません。(私はSofterra LDAPブラウザ2.6を使用しています)

レプリケーション後にデータが入力されますか?はいの場合、レプリケーション間隔を変更するにはどうすればよいですか?インスタントレプリケーションが必要です。

ありがとう

0 投票する
0 に答える
2867 参照

delphi - WinNT プロバイダーと Delphi を使用して ADSI にクエリを実行すると、「ネットワーク パスが見つかりません」と表示される

次のようなコードで WINNT プロバイダーを使用して ADSI を照会しています。

ここで、GetObject は次のように定義されます。

これは数年間問題なく機能しています.1つのインストールがありますが、特定のドメインで別のドメインからクエリを実行すると、ネットワークパスが見つかりませんというエラーが発生します. このセットアップには 4 つの異なるドメインがあります。ドメイン間には完全な信頼があり、ドメイン内からクエリを実行すると、問題のあるドメインでクエリが正常に機能します。これが他のドメインの 1 つから試行されたときです。他の多くのツールを使用してドメインを照会することは可能であるため、すべて問題ないようです。この特定のドメインがこの問題を引き起こしている理由はありますか?

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

active-directory - ADSI を使用して新しく作成した AD LDS インスタンスを開く

Active Directory ライトウェイト ディレクトリ サービス セットアップ ウィザードを使用して、新しいインスタンスをCN=MyName,DC=MyComponent正常に識別名で作成しました。インスタンスは実行中の Windows サービスとして表示されます。ADSI 内で、その識別名に接続しようとすると、次のようになります。

操作に失敗しました。エラー コード 0x202b サーバーから紹介が返されました。データ 0、1 アクセス ポイント

私のパスは次のとおりです。 LDAP://CN=MyName,DC=MyComponent

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

windows - ADSI API を使用してプログラムで Windows グループを作成する例を探す

ADSI API を使用して Windows グループをプログラムで作成する例を探しています。AD は Windows Active Directory http://en.wikipedia.org/wiki/Active_Directoryです。

「SI」はおそらくサービスインターフェイスですか?

とにかく、この領域は十分に文書化されていません。. . PowerShell スクリプトをいくつか見てきました。. . しかし、PowerShellがインストールされていることを確認する必要は本当にありません.MY_XYZ_GROUPがウィンドウのグループのセットに追加されることを実行して確認する単純なプログラム.....

簡単なはず....そう簡単ではないようです。

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

c# - ディレクトリ サービスを使用しているすべてのローカル ユーザーを一覧表示する

私が作成した次の方法は機能しないようです。foreach ループでは必ずエラーが発生します。

NotSupportedException が処理されませんでした...プロバイダーは検索をサポートしていないため、WinNT://WIN7,computer を検索できません。

ローカル マシンにクエリを実行しています

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

permissions - Active Directory オブジェクトで有効なアクセス許可を照会するにはどうすればよいですか?

現在のユーザーが特定の Active Directory オブジェクトに対して特定のアクセス許可を持っているかどうかをプログラムで判断しようとしています (具体的には、この場合、ユーザーが別の Exchange ユーザーまたは配布リスト オブジェクトに対する "送信者" アクセス許可を持っているかどうかを判断しようとしています)。 )。

ADSI を使用して属性にアクセスする方法は既に理解しました。のプロパティntSecurityDescriptorで ACE を列挙できます。しかし:IADsSecurityDescriptorDiscretionaryACL

  • そのデータから、トラスティに対して "Send As" アクセス許可が明示的に許可されているか拒否されているかを判断するにはどうすればよいですか?
  • グループ メンバーシップを介して間接的にアクセス許可が付与されている場合、どうすればこれを発見できますか? ユーザーがメンバーであるすべてのグループを (再帰的に) チェックして、有効なアクセス許可を自分で解析する必要がありますか? 確かにそのタスクのための API があるに違いありません...

FWIW、私は ActiveDs.dll タイプライブラリを使用して Delphi (つまり、ネイティブ Win32 コード) でコーディングしているため、ネイティブで同じことを行う方法の手がかりがソース コードから得られない限り、.NET 固有のソリューションはあまり役に立ちません。コード。同じことが PowerShell にも当てはまります。


PR_EMS_AB_PUBLIC_DELEGATES始める前に:およびPR_EMS_AB_PUBLIC_DELEGATES_BL_OExtended MAPI プロパティについては既に知っています。しかし、これは私が求めているものではありません。これらのプロパティは、「代理人として送信」権限ではなく、「代理人として送信」権限 (代理人) を参照しており、これはまったく別のものです。

0 投票する
3 に答える
51840 参照

asp.net - アプリケーション プール ID を使用する IIS アプリケーションはプライマリ トークンを失いますか?

(これはあいまいな問題に関する質問です。誰かが役立つ情報を持っていることを願って、関連するすべてのデータを提示しようとしています。長い説明で申し訳ありません。)

私たちのウェブアプリ

Active Directory と SQL Server データベースにアクセスする IIS 7.5 で実行されている .NET 4 Web アプリケーションがあります。

この Web アプリケーションは、アプリケーションのアプリケーション プールの ID をApplicationPoolIdentityに設定することにより、仮想の「アプリケーション プール ID」の下で実行されます。仮想 ID の簡潔な説明は、StackOverflow の回答とそれが参照するブログ投稿にあります。アプリ プール ID は、「ネットワーク サービス」として実行されている Web アプリケーションのワーカー プロセスに追加される単なる追加のグループです。ただし、ある情報源は、「Network Service と ApplicationPoolIdentity には、IIS.net サイト ドキュメントが公開していない違いがある」と漠然と示唆しています。したがって、仮想 ID は単なる追加のグループ以上のものになる可能性があります。

NetworkService とは対照的に、ApplicationPoolIdentity を使用することを選択しました。これは、IIS 7.5 でデフォルトになったため (たとえば、ここを参照)、Microsoft の推奨に従って、「この ID により、管理者は、アプリケーションがその下にある ID にのみ関連するアクセス許可を指定できます。プールが実行されているため、サーバーのセキュリティが向上しています。」( applicationPools の add の processModel 要素 [IIS 7 設定スキーマ]より) 「アプリケーション プール ID は強力な新しい分離機能です )

アプリケーションは統合 Windows 認証を<identity impersonate="false"/>使用しますが、.

このアプリケーションは、 System.DirectoryServicesクラス、つまり ADSI APIを使用して Active Directory にクエリを実行します。ほとんどの場合、これは追加のユーザー名/パスワードまたはその他の資格情報を指定せずに行われます。

このアプリケーションは、接続文字列を使用して SQL Server データベースにも接続しIntegrated Security=trueます。IIS APPPOOL\OurAppPoolNameデータベースがローカルの場合、それがデータベースへの接続に使用されていることがわかります。データベースがリモートの場合、マシン アカウントOURDOMAIN\ourwebserver$が使用されます。

私たちの問題

動作中のインストールが次のいずれかの方法で失敗し始めるという問題が定期的に発生します。

  • データベースがリモート システム上にある場合、データベース接続が失敗し始めます。前のエラーは「エラー: 18456、重大度: 14、状態: 11」です。そのため、現在OURDOMAIN\ourwebserver$は使用されていないようですが、代わりに匿名アクセスが試行されています。(この問題は、UAC をオフにしたときに発生し、UAC をオンにすると消えたという逸話的な証拠があります。ただし、UAC を変更するには再起動が必要であることに注意してください...) 同様の問題がIIS.net スレッドで報告されています。 SQLに接続するには」、具体的には1回の返信で。

  • ADSI (System.DirectoryServices) による Active Directory 操作が、エラー 0x8000500C (「不明なエラー」)、0x80072020 (「操作エラーが発生しました」)、または 0x200B (「指定されたディレクトリ サービスの属性または値が存在しません」) で失敗し始めます。 .

  • Internet Explorer からアプリケーションにサインインすると、HTTP 401 エラーで失敗し始めます。しかし、IIS で Negotiate の前に NTLM を配置すると、再び機能します。(Kerberos には AD へのアクセスが必要ですが、NTLM には必要ないことに注意してください。) 同様の問題が、IIS.net スレッド「AppPool ID で失敗するウィンドウ認証」で報告されています。

私たちの仮説と回避策

少なくとも、アプリケーション プールを ApplicationPoolIdentity から NetworkService に切り替えると、AD とサインインの問題は常に解消されるようです。(これを確認するレポートが 1 つ見つかりました。)

ページ「ASP ページでの認証の問題のトラブルシューティング」には、プライマリ トークンとセカンダリ トークンに関連するいくつかの提案があり、私が心強いと思うのは、最初の 2 つのエラーにリンクしていることですNT AUTHORITY\ANONYMOUS LOGON。属性または値が存在しません。」

(同じページで ADSI スキーマ キャッシュの問題についても言及されていますが、そのトピックで見つけられるものはすべて古いものです。今のところ、これは無関係であると考えています。)

上記に基づいて、私たちの現在の作業仮説は、仮想アプリ プール ID の下で実行されている場合にのみ、Web アプリケーション (IIS? ワーカー プロセス?) が突然そのプライマリ トークンを失い、 IIS がセカンダリ トークンのみを持つようになるというものです。 Active Directory と SQL Server へのアクセスは匿名で行われるため、上記のすべてのエラーが発生します。

今のところ、ApplicationPoolIdentity から NetworkService に切り替える予定です。これにより、上記の問題がすべて解消されることを願っています。しかし、確かではありません。可能であれば元に戻したいと考えています。

私たちの質問

上記の仮説は正しいですか? もしそうなら、これは IIS/Windows/.NET のバグですか? このプライマリ トークンの損失はどのような状況で発生しますか?

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

sql-server-2008 - SQLServer2008の説明フィールドからADをクエリするとエラーが発生します

次のSQLクエリを使用してActiveDirectoryにクエリを実行しようとしていますが、これは完全に機能します。

属性を追加するdescriptionと、次のエラーが発生します。

メッセージ7346、レベル16、状態2、行6
リンクサーバー「ADSI」のOLEDBプロバイダー「ADSDSOObject」から行のデータを取得できません。符号の不一致またはオーバーフロー以外の理由により、データ値を変換できませんでした。

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

sql - SQL Server 2008 経由で LDAP ユーザーを認証する

LDAP を使用して SQL Server 経由で Active Directory からユーザーを認証することは可能ですか? ADSI SQL Select クエリで Windows ドメインのユーザー名とパスワードを入力するとします。

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

delphi - ユーザーアカウント管理のためのDelphiでのLDAPまたはADSIの使用

大規模なヘルスケア請求処理組織および企業向けの大規模なトランザクション処理システム(バッチ処理)ERPソリューションがあります。現在、独自のユーザーアカウント管理を実装しています。つまり、適切な権限/ロールを持つユーザーは、アカウントを作成、編集、または削除し、ニーズに基づいて権限とロールを割り当てることができます。

各ユーザーは割り当てられたアカウントでログインし、機能へのアクセスは権限と役割に基づいて割り当てられます。

LDAPまたはActiveDirectoryをサポートするかどうかをクライアントから尋ねられました。ユーザーアカウントは仮想ドメインコントローラーで管理されており、ログインすると、ユーザーは追加のソフトウェアにログインする必要がありません。たとえば、私たちのもの。

LDAPプロトコルとActiveDirectoryサービスインターフェイスを確認しています。

誰かがこれを経験したことがあるかどうか、そしてこれらをサポートするこの移行に取り組むための最良の方法は何ですか?特に、現在のアカウント管理とログインシステムの使用をやめる必要があるかどうかが気になりますか?

現在、Delphi 2010とUNIDAC(データベース接続用)を使用して開発しています。

ありがとう