0
我正在使用sql server從活動目錄導入組和用戶。我找到了下面的代碼來拉出組和用戶。從活動目錄獲取說明
CREATE TABLE ##Groups (CN VARCHAR(128), DN VARCHAR(1024), Email VARCHAR(128), ADSPath VARCHAR(1024));
CREATE TABLE ##Users (DistributionGroup VARCHAR(128), FirstName VARCHAR(50), LastName VARCHAR(50), EmailAddress VARCHAR(128));
DECLARE @sql VARCHAR(1024)
SET @sql = 'INSERT INTO ##Groups (CN, DN, Email, ADSPath) SELECT CN, distinguishedName DN, mail Email, ADSPath FROM OpenQuery(ADSI, ''<LDAP://controller.domain.com:389/DC=domain,DC=com>;(&(objectClass=Group));cn, distinguishedName, mail, ADSPath;subtree'') ORDER BY distinguishedName';
EXEC(@sql);
DECLARE @CN VARCHAR(128)
DECLARE @DN VARCHAR(1024)
SELECT TOP 1 @CN = CN, @DN = DN FROM ##Groups
WHILE EXISTS(SELECT DN FROM ##Groups WHERE DN > @DN)
BEGIN
SET @sql = 'INSERT INTO ##Users (DistributionGroup, Firstname, LastName, EmailAddress) SELECT '''[email protected]+''' [Distribution Group], ISNULL(givenName, '''') FirstName, ISNULL(sn, '''') LastName, mail EmailAddress FROM OpenQuery(ADSI, ''<LDAP://controller.domain.com:389/DC=domain,DC=com>;(&(objectClass=User)(memberOf='[email protected]+'));givenName, sn, mail;subtree'')';
EXEC(@sql)
SELECT TOP 1 @CN = CN, @DN = DN FROM ##Groups WHERE DN > @DN
END
SELECT * FROM ##Groups;
SELECT * FROM ##Users;
DROP TABLE ##Groups;
DROP TABLE ##Users;
工作很好。現在,我想抽出關於這些組的描述,但我似乎無法找出該字段被稱爲什麼。幫幫我?
好的。我向查詢添加說明並得到此錯誤:消息7341,級別16,狀態2,行1 無法從鏈接服務器「ADSIDSOObject」的ADLEDS提供程序「ADSDSOObject] .description」列中獲取當前行值」。由於符號不匹配或溢出以外的原因,無法轉換數據值。 – DForck42 2011-02-14 20:10:29