2014-06-16 64 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 –

相关问题