SQL Server 2005からActive Directoryにクエリを送信する方法を教えてください。SQL Server 2005からActive Directoryをクエリする
7
A
答えて
10
かなり一般的な質問ですが、ここにいくつかの指摘があります。
これは、ADSI(Active Directory Service Interface)を指すSQL Server上に作成するリンクサーバーが必要です。
EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource'
次に、あなたは、クエリの次の並べ替えを使用することができます。あなたはLDAPを設定する必要があります
SELECT *
FROM OPENQUERY(ADSI, 'SELECT sAMAccountName
FROM ''LDAP://DC=MyDC,DC=com,DC=uk''
WHERE objectCategory = ''Person''
AND objectClass = ''user'')
:適切//行を(詳細については、ADの管理者に問い合わせてください)と分散型アドホックはOPENQUERYを使用して照会することに注意しては、SQL Serverのデフォルトでは無効になっています。一度あなたが上記を持っていれば、それはかなり簡単に特定のバリエーションのためにGoogleにする必要があります。
5
はい。
リンクサーバー:
EXEC master.dbo.sp_addlinkedserver
@server = N'ADSI',
@srvproduct=N'Active Directory Services',
@provider=N'ADsDSOObject',
@datasrc=N'Servername.domain.com'
問合せ:
select * from openquery
(
ADSI,'SELECT name
FROM ''LDAP://Servername.domain.com''
WHERE objectCategory = ''Person'' AND objectClass = ''user''
')
リンクサーバーとLDPAがGoogleで検索した場合の例がたくさんあります。 LDAPは非常に複雑に動作する可能性があるので、これは私が言うことです。
3
Active Directoryのクエリから一度に返される最大1000件のレコードを克服するために、以下で記述した関数を使用できます。
CREATE FUNCTION [dbo].[tf_GetAllUsersFromActiveDirectory]
()
RETURNS
@USERS TABLE
(
sAMAccountName VARCHAR(25) PRIMARY KEY CLUSTERED
, givenName VARCHAR(200)
, SN VARCHAR(200)
, userAccountControl VARBINARY(8)
, mail VARCHAR(200)
)
AS
BEGIN
INSERT INTO @Users
SELECT sAMAccountName,givenName, sn, userAccountControl,mail FROM OpenQuery(ADSI, '<LDAP://YourDomain.com:389>;(&(objectClass=User)(|(sAMAccountName=A*)(sAMAccountName=B*)(sAMAccountName=C*)(sAMAccountName=D*)));sAMAccountName,givenName, sn, mail,userAccountControl;subtree')
UNION ALL
SELECT sAMAccountName,givenName, sn, userAccountControl,mail FROM OpenQuery(ADSI, '<LDAP://YourDomain.com:389>;(&(objectClass=User)(|(sAMAccountName=E*)(sAMAccountName=F*)(sAMAccountName=G*)(sAMAccountName=H*)));sAMAccountName,givenName, sn, mail,userAccountControl;subtree')
UNION ALL
SELECT sAMAccountName,givenName, sn, userAccountControl,mail FROM OpenQuery(ADSI, '<LDAP://YourDomain.com:389>;(&(objectClass=User)(|(sAMAccountName=I*)(sAMAccountName=J*)(sAMAccountName=K*)(sAMAccountName=L*)));sAMAccountName,givenName, sn, mail,userAccountControl;subtree')
UNION ALL
SELECT sAMAccountName,givenName, sn, userAccountControl,mail FROM OpenQuery(ADSI, '<LDAP://YourDomain.com:389>;(&(objectClass=User)(|(sAMAccountName=M*)(sAMAccountName=N*)(sAMAccountName=O*)(sAMAccountName=P*)));sAMAccountName,givenName, sn, mail,userAccountControl;subtree')
UNION ALL
SELECT sAMAccountName,givenName, sn, userAccountControl,mail FROM OpenQuery(ADSI, '<LDAP://YourDomain.com:389>;(&(objectClass=User)(|(sAMAccountName=Q*)(sAMAccountName=R*)(sAMAccountName=S*)(sAMAccountName=T*)));sAMAccountName,givenName, sn, mail,userAccountControl;subtree')
UNION ALL
SELECT sAMAccountName,givenName, sn, userAccountControl,mail FROM OpenQuery(ADSI, '<LDAP://YourDomain.com:389>;(&(objectClass=User)(|(sAMAccountName=U*)(sAMAccountName=V*)(sAMAccountName=W*)(sAMAccountName=X*)));sAMAccountName,givenName, sn, mail,userAccountControl;subtree')
UNION ALL
SELECT sAMAccountName,givenName, sn, userAccountControl,mail FROM OpenQuery(ADSI, '<LDAP://YourDomain.com:389>;(&(objectClass=User)(|(sAMAccountName=Y*)(sAMAccountName=Z*)));sAMAccountName,givenName, sn, mail,userAccountControl;subtree')
RETURN
END
GO
3
関連する問題
- 1. SQL Server 2008からActive Directoryをクエリする
- 2. SQL Server 2005を使用するActive Directoryグループ
- 3. Active Directory SQLクエリからSystem.Object []を返す
- 4. Active DirectoryがSQL Serverにリンク
- 5. SQL Server 2005 XMLクエリ
- 6. クエリSQL Server 2008 R2の電子メールアドレスのActive Directory?
- 7. SQL Server 2005からSQL Server 2005へのクエリの結果セットをMS Excelにインポート
- 8. SQL Server 2005からExcel 2003-2007にデータをインポートするSQLクエリ
- 9. Active Directory + IIS + SQL + ASP.NET
- 10. SQL Server 2005でSQL Server 2005から移行されたTimeoutException
- 11. 無効なActive DirectoryアカウントのSQLクエリ
- 12. SQL Server 2005クエリXML列データ
- 13. SQL Server 2005クエリのヘルプ
- 14. SQL Server 2005の集計クエリ
- 15. SQL Server 2005のクエリは、
- 16. SQL Server 2005のクエリ統計
- 17. SQL Server 2005 db_denydatawriterの例クエリ
- 18. SQL Server 2005の選択クエリ
- 19. sql server 2005 'update from'クエリ
- 20. SQL Server 2005のクエリからパラメータを渡すSQLエージェントジョブを呼び出すクエリ?
- 21. SQLクエリ、ワイルドカード、MS SQL Server 2005の
- 22. 異なるActive Directoryドメイン資格情報を持つSQL Serverリンクサーバー
- 23. SQL Server 2000からSQL Server 2005レポートDBをセットアップする
- 24. Active DirectoryのデータをSQLテーブル
- 25. iOSからActive Directory(Windows Server 2012 R2)にアクセスする方法は?
- 26. Active Directoryクエリの並列化
- 27. SQL Server 2005 IF
- 28. ASP.NET Active DirectoryメンバシッププロバイダとSQLプロファイルプロバイダ
- 29. サーバからActive Directoryモジュールをインポートする
- 30. SQL Server 2005 Clustered Indexクエリの速度
ADへのリンクは読み取り専用か、このルート経由でも挿入できますか? – Kristen
いいえ選択するだけですが、ADSI COMオブジェクトモデルを使用してユーザーを作成できます。ここに紹介があります。http://en.csharp-online.net/User_Management_with_Active_Directory –