SQLAgent job powershell 步骤失败,并出现"login failed for <DOMAIN><COMPUTER>$"



我正在使用SQL Server作业将一些wmiobject详细信息放入表中。 此代码使用默认安装运行,但在命名实例上执行时失败。到目前为止,我只看到连接的一个区别,对于命名实例,SQL 代理使用用户名时名称中包含"$"(即NT ServiceSQLAgent$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。打开() '...PowerShell 返回的错误信息 是:"使用"0"参数调用"打开"的异常:"登录失败 用户'(域)(计算机)$'。 进程退出代码 -1。

我尝试使用"身份模拟=true",但它不接受该命令。

有什么想法吗?

以太币使用 ' 代替 " 或使用转义字符 ' 或使用字符(36)

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

最新更新