2009-05-05 11 views
0

いいえ、既にサーバー上のActive Directoryへの既存の接続があります。私はアクティブなディレクトリのクエリを照合することを知っている。私ができるようにしたいのは、アクティブディレクトリ内のすべてのouおよび/またはグループのクエリだけでなく、それらのグループ/ ousに所属するユーザーを見つけることもできます。SQL Server 2005を使用するActive Directoryグループ

これは単なるユーザー情報(またはすべてのユーザーをプルするように設定ストアドプロシージャの一部を)引っ張る現在のクエリです:

SELECT 
    userAccountControl, 
    DisplayName AS [NAME], 
    givenName AS FIRSTNAME, 
    middleName, 
    sn AS LASTNAME, 
    employeeID AS EMPID, 
    telephoneNumber AS EXT, 
    Title, 
    Department AS DEPT, 
    Division, 
    sAMAccountName AS UserName, 
    mail AS Email, 
    homeDirectory AS HomeDir, 
    userPrincipalName AS LOGON, 
    manager 
FROM   OPENQUERY(ADSI, 
         ' 
select 
    userAccountControl, 
    DisplayName, 
    givenName, 
    middleName, 
    sn, 
    employeeID, 
    telephoneNumber, 
    Title, 
    Department, 
    Division, 
    sAMAccountName, 
    mail, 
    homeDirectory, 
    userPrincipalName, 
    manager 
from ''LDAP://name'' 
where sn > ''a'' 
    and sn <''h'' 
order by DisplayName 
') 
AS derivedtbl_1 

答えて

1

は、あなたがより多くのオブジェクトを照会することはできませんという事実に気づいていますADサーバーは1つの返信で返されますか?

ADSI SQLプロバイダは、結果のページングをサポートしていません。 ADサーバーは通常、最初の1000の結果のみを返すように構成されています。

ほとんどすべてのADオブジェクトを一度に照会すると、その上限に達する可能性が非常に高くなります。

達成しようとしていることを明確にすることはできますか?

+0

"これは、ユーザー情報(またはすべてのユーザーをプルするように設定されたストアドプロシージャの一部)をプルする現在のクエリです。" これはfrom spに5つの挿入/選択ステートメントがあり、私たちのデータウェアハウスDBのテーブルと比較され、テーブル – DForck42

+0

を更新します。私たちの広告には、IT、QA、ドキュメントコントロールなど、いくつかの異なるグループがあります。広告内のグループとユーザーの所属を確認したいどのグループ。 – DForck42

+0

私は、SQLがグループメンバーシップやディレクトリ内のすべてのユーザーをテーブルにマッピングするのに最適なツールだとは思わない。私は、ADとデータベースの間にプログラミングレイヤーを使用し、ADを照会するためにSQLを使用しないことをお勧めします。それは可能であり(そして誘惑的ですが)、道に沿って役に立つよりも苦痛を感じるかもしれません。 – Tomalak

関連する問題