2014-06-16 97 views
1

你好成員#1更新的Active Directory郵件用戶屬性2008

我在教育機構工作,我們需要推動某些信息,這保持在MSSQL2008數據庫爲我們的學生管理中的應用。

我想知道是否有辦法使用數據庫觸發器來自動更新Active Directory中的用戶屬性字段。這將特別允許我們在用戶更新記錄時自動更新目錄系統中的電子郵件別名。

有沒有辦法做到這一點,而不寫一個完整的中間件應用程序,而不是觸發存儲過程更新Active Directory的數據庫觸發器。

我已經看到了一些關於獲取AD數據到SQL服務器的帖子,但到目前爲止我還沒有發現任何其他方式的帖子。

問候

格斯

回答

1

我不知道該SQL命令,但xp_cmdshell命令可以讓你執行一個給定的Windows命令字符串/批處理文件作爲操作系統命令shell並返回任何輸出作爲行的文字。

因此,使用xp_cmdshell可以通過SQL觸發器運行批處理文件/ windows命令,該觸發器可以更新Active目錄中的用戶屬性字段。

語法xp_cmdshell是:

xp_cmdshell {'command_string'} [, no_output] 

參數

'command_string' 

是命令串在操作系統命令shell執行。 command_string是varchar(8000)或nvarchar(4000),沒有默認值。 command_string不能包含多個雙引號集。如果command_string引用的文件路徑或程序名中存在任何空格,則需要一對引號。如果您在嵌入式空間中遇到問題,請考慮使用FAT 8.3文件名作爲解決方法。

no_output 

是一個可選參數,它執行給定的command_string,並且不返回任何輸出到客戶端。

返回代碼值

0(成功)或1(失敗)

結果集

例如,執行該xp_cmdshell的語句返回當前的目錄列表目錄。

xp_cmdshell 'dir *.exe' 

有關xp_cmdshell詳情,請參閱:http://technet.microsoft.com/en-us/library/aa260689(v=sql.80).aspx

希望它可以幫助你找到一個辦法......

+0

首先,感謝您抽出時間來作出迴應的時間。由於AD將是與MSSQL不同的服務器。我正在尋找可能能夠利用「鏈接服務器」連接更新AD的內容。儘管我試圖在服務器上運行批處理文件或命令字符串,但它有自己的一套問題,如身份驗證和權限。 –

+0

我們將嘗試使用Powershell的解決方案,所以我接受了解決方案。 再次感謝Pranav –

相關問題