使用不同的凭据从sql运行powershell

时间:2015-01-16 22:04:27

标签: sql-server powershell

我在Active Directory中有一些sql server。 从他们我试图运行一个物理上位于的powershell脚本 远程机器。

问题是,当我运行xp_cmdshell脚本时,它正在使用 来自dc(domain \ domainuser)的SQL服务用户。

它给了我错误: -File的参数\ 192.168.1.10 \ PS \ myscirpt.ps1不存在。

如果我在我的远程服务器上查看具有本地Powershell脚本的事件查看器,我收到一个安全错误: "用户(domain \ domainuser)"

登录失败

这就是我需要使用远程用户和密码

运行脚本的原因

sql脚本:

EXEC xp_cmdshell 'powershell.exe -file \\192.168.1.10\PS\Myscript.ps1 -ExectionPolicy Unrestricted'

顺便说一句,PS是一个共享文件夹,拥有完整的所有人读写权限。

如果有可能,我不想使用网络驱动器,谢谢。

3 个答案:

答案 0 :(得分:0)

可以创建代理帐户以供此使用,但请注意使用超额配置帐户可能产生的安全隐患。

http://msdn.microsoft.com/en-us/library/ms190359.aspx

-Sean

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以通过start-process运行它并调用powershell.exe并传入凭据。

start-process