如何调用命令并将路径作为参数传递给命令

fia*_*iat 1 powershell invoke-command

我试图调用命令撕裂我的头发但是将路径作为参数传递给exe

例如:我想接受这个命令

powershell Invoke-Command -ComputerName localhost -ScriptBlock { param($command ) C:\windows\system32\getmac.exe /$command } -ArgumentList ?
Run Code Online (Sandbox Code Playgroud)

并将其翻译成这样的形式

powershell Invoke-Command -ComputerName localhost -ScriptBlock { param($path, $command ) $path\getmac.exe /$command } -ArgumentList C:\windows\system32,?
Run Code Online (Sandbox Code Playgroud)

我已经尝试过各种引用,&符号和其他扭曲,但不能让它起作用.上述尝试导致

表达式或语句中出现意外的标记'\ getmac.exe'.在行:1 char:97

(我真的不想在localhost上调用getmac,这是runnable,SO的蒸馏版本)

Mit*_*tul 7

试试这个选项.它向我展示了帮助cscript.exe.

C:\>powershell.exe Invoke-Command -ComputerName localhost -ScriptBlock { param($path, $command ) cmd /c $path $command } -args '"C:\windows\system32\cscript.exe"','"/?"'
Run Code Online (Sandbox Code Playgroud)

我尝试使用其他选项&,然后使用路径和参数,它给了我遗漏的}异常.然后使用cmd /c而不是&内部scriptblock修复了问题.