【问题标题】:Update Active Directory mail user attribute from SQL server 2008从 SQL Server 2008 更新 Active Directory 邮件用户属性
【发布时间】:2014-06-16 03:39:26
【问题描述】:

你好 Stackoverflow 成员

我在一家教育机构工作,我们需要将某些信息推送到我们的学生管理应用程序的 MSSQL2008 数据库中。

我想知道是否有办法使用数据库触发器来自动更新 Active Directory 中的用户属性字段。这将特别允许我们在用户更新他们的记录时自动更新目录系统中的电子邮件别名。

有没有一种方法可以在不编写完整的中间件应用程序的情况下执行此操作,而不是通过数据库触发器触发存储过程来更新 Active Directory。

我看过一些关于将 AD 数据导入 SQL Server 的帖子,但到目前为止我还没有发现任何相反的帖子。

问候

格斯

【问题讨论】:

    标签: sql sql-server active-directory linked-server


    【解决方案1】:

    我不确定 SQL 命令是否适用,但 xp_cmdshell commands 允许您将给定的 windows 命令字符串/批处理文件作为操作系统命令 shell 执行,并将任何输出作为文本行返回。

    因此,使用xp_cmdshell,您可以通过 SQL 触发器运行批处理文件/窗口命令,该命令可以更新 Active Directory 中的用户属性字段。

    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

    希望它可以帮助您找到方法...

    【讨论】:

    • 首先,感谢您抽出宝贵时间回复。因为 AD 将是与 MSSQL 不同的服务器。我正在寻找可能能够利用“链接服务器”连接来更新 AD 的东西。我会尝试跨服务器运行批处理文件或命令字符串有它自己的一组问题,例如身份验证和权限。
    • 我们将使用 Powershell 尝试此解决方案,因此我接受了该解决方案。再次感谢普拉纳夫
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多