gpt4 book ai didi

variables - 脚本 block 中的 Powershell 扩展变量

转载 作者:行者123 更新时间:2023-12-02 22:15:24 25 4
gpt4 key购买 nike

我正在尝试关注 this article扩展脚本块中的变量

我的代码尝试这样做:

$exe = "setup.exe"

invoke-command -ComputerName $j -Credential $credentials -ScriptBlock {cmd /c 'C:\share\[scriptblock]::Create($exe)'}

如何修复错误:
The filename, directory name, or volume label syntax is incorrect.
+ CategoryInfo : NotSpecified: (The filename, d...x is incorrect.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
+ PSComputerName : remote_computer

最佳答案

您绝对不需要为此场景创建新的脚本块,请参阅链接文章底部的 Bruce 评论,了解为什么不应该这样做的一些充分理由。

Bruce 提到将参数传递给脚本块,并且在这种情况下效果很好:

$exe = 'setup.exe'
invoke-command -ComputerName $j -Credential $credentials -ScriptBlock { param($exe) & "C:\share\$exe" } -ArgumentList $exe

在 PowerShell V3 中,有一种更简单的方法可以通过 Invoke-Command 传递参数:
$exe = 'setup.exe'
invoke-command -ComputerName $j -Credential $credentials -ScriptBlock { & "C:\share\$using:exe" }

请注意,PowerShell 可以很好地运行 exe 文件,通常没有理由先运行 cmd。

关于variables - 脚本 block 中的 Powershell 扩展变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25551893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com