我正在使用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”,但它不接受命令。
有什么想法吗?
答案 0 :(得分:0)
以太使用'代替“或使用转义字符`或使用字符(36)
"blahblah`$blahblah"
'blahblah$blahblah'
"blahblah$([char](36))blahblah"