简单 SQL 使用 Powershell 调用命令插入

Simple SQL Insert with Powershell Invoke Command

尝试通过组策略运行域控制计算机上的登录脚本。在安装了 SQLserver 模块的服务器上运行良好,但是当将代码转换为使用 invoke-command 和来自域控制计算机的 运行 时,数据库输入为空——它从空变为空。

有效代码:

$var1 = $env:xxx
$var2 = $env:xxx
$var3 = $env:xxx

invoke-sqlcmd -Query "insert into tblxxx (abc, def, ghi) values('$var1', '$var2', '$var3')" -connectionstring <connectionstring>

无效代码:

$var1 = $env:xxx
$var2 = $env:xxx
$var3 = $env:xxx

invoke-command -computername <server> {invoke-sqlcmd -Query <same query as above> -connectionstring <connectionstring>}

我做错了什么?

Invoke-Command 中使用 $using:var1 因为变量 $var1 在新范围内未知。