此问题已经在这里有了答案:
[尝试通过组策略在域控制的计算机上运行登录脚本。在安装了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>}
我在做什么错?
在$using:var1
中使用$using:var1
,因为在新范围内未知变量Invoke-Command
。