SQLAgent作业powershell步骤失败,“<domain> \ <computer> $登录失败”

时间:2017-06-09 13:38:07

标签: sql-server powershell login powershell-v2.0

我正在使用SQL Server作业将一些wmiobject详细信息放入表中。 此代码使用默认安装运行,但在命名实例上执行时失败。到目前为止,我看到连接中只有一个区别,对于命名实例,SQL Agent使用的用户名为“$”作为名称的一部分(即NT Service\SQLAgent$instance

无论如何我能克服这个吗?更改代理帐户不是一个选项,因为大多数服务器都使用此帐户运行,而我的代码需要与所有帐户一起使用。

    $conn = New-Object System.Data.SqlClient.SqlConnection("Data Source=$SqlSvr;Initial Catalog=$Database; Integrated Security=SSPI") 

$conn.Open()
  

以用户身份执行:NT Service \ SQLAgent $ instance。收到了工作步骤   PowerShell脚本中第21行的错误。相应的行是   '$ conn.Open()'... PowerShell返回的错误信息   是:'异常调用“打开”与“0”参数:“登录失败   user'(DOMAIN)(COMPUTER)$'。“'。处理退出代码-1。

我尝试使用“identity impersonate = true”,但它不接受命令。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

以太使用'代替“或使用转义字符`或使用字符(36)

"blahblah`$blahblah"

'blahblah$blahblah'

"blahblah$([char](36))blahblah"