在 Powershell 中远程安装 vbs
Remote install vbs in Powershell
我最近开始学习 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 可以吗?
谢谢。
脚本块中的代码在远程计算机 运行 上运行,因此它无法访问您的局部变量。
您可以将 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
我最近开始学习 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 可以吗?
谢谢。
脚本块中的代码在远程计算机 运行 上运行,因此它无法访问您的局部变量。
您可以将 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