powershell - 在 Powershell 中远程安装 vbs
问题描述
我最近开始学习 powershell,这是我的第一个项目。我正在尝试自动远程安装。我试图到处寻找解决方案,但我找不到合适的解决方案。这是问题所在:
我需要在远程计算机上安装多个具有多个版本的应用程序。
我尝试了几件事,但到目前为止没有任何效果:(
这个对我有用,但前提是我不使用变量。如果我使用它们 PS(或者我猜是 cscript.exe)无法识别它们。
$hostname = "yourPc"
$app= "app_0001"
$ver = "v1.0.0"
Invoke-Command -ComputerName $hostname -ScriptBlock {cscript.exe \\$hostname\directory\install.vbs /p:$app /v:$ver}
所以我基本上最终\\$hostname\directory\install.vbs /p:$app /v:$ver
不存在。cscript.exe可以做到这一点吗?
谢谢。
解决方案
win 脚本块中的代码在远程计算机上运行,因此它无法访问您的本地变量。
您可以将using:
范围修饰符添加到希望 PowerShell 复制到远程计算机的变量中:
Invoke-Command -ComputerName $hostname -ScriptBlock {
cscript.exe \\$using:hostname\directory\install.vbs /p:$using:app /v:$using:ver
}
...或者您可以通过参数将值作为参数参数显式传递给远程脚本块-ArgumentList
:
Invoke-Command -ComputerName $hostname -ScriptBlock {
param($Path,$Application,$Version)
cscript.exe \\$Path\directory\install.vbs /p:$Application /v:$Version
} -ArgumentList $hostname,$app,$ver
推荐阅读
- angular - 如何使用 Angular 路由禁用 url 更改
- sas - 使用 SAS/SQL 插入函数
- python-3.x - 为什么 Python 3 换行符 \n 不能与打印和子进程 Popen 标准输出一起使用?
- c++ - 使用关系运算符 C++ 比较字符串
- javascript - 将数据从 Vue 发送到 PHP?
- java - 获得概率图中位数的更好方法是什么?
- python - 将 Python 列表与外部文件(.xls 或 .csv)进行比较
- python - 如何将两个二进制数合并为一个三进制数
- owasp - OWASP ZAP 导出到 CSV?
- haskell - Haskell“堆栈”不会加载 ghc-mod