powershell - 使用 Powershell 调用命令的简单 SQL 插入
问题描述
尝试通过组策略在域控制的计算机上运行登录脚本。在安装了 SQLserver 模块的服务器上运行良好,但是当将代码转换为使用调用命令并从域控制的计算机运行时,输入到数据库中是空的——它从 null 变为空。
有效的代码:
$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
在内部使用,Invoke-Command
因为该变量$var1
在新范围内未知。
推荐阅读
- strapi - 如何将缓存标头添加到 Strapi API 端点
- react-native - 无法对未安装的组件执行 React 状态更新。取消 useEffect 中的所有任务
- spring - 如何使用@JoinTable 将 userid、roleid 和 privilegeid 存储在单个表中?
- r - 括号中的整数在 RMarkdown 脚本的 kable 表中被强制转换为不寻常的格式
- php - 在 PHP 上使用 fopen 导入 txt 文件会在字母之间产生空格
- post - 如何跟踪我从德国寄往印度的货物?
- azure-functions - 试图以与数组不兼容的类型访问元素。Azure 函数应用错误
- mongodb - 在 MongoDB 上保存机器学习日志
- angular - 为什么需要“NgTemplateOutlet”来访问“ng-template”中的元素?角 8
- rest-assured - 如何在 RestAssured API 测试框架中处理多个基本路径?