Powershell 从变量运行命令

Dom*_*nik 3 powershell command-line

我正在尝试运行一个已作为字符串存储在变量中的命令,但是当我尝试使用“Invoke-Command”运行它时,我被告知它需要是“ScriptBlock”而不是字符串。\n该命令是:

\n\n
ASIMPORT.EXE -rexactdb-01 -DTEST001 -u -~ I -URL X:\\test.xml -Tglentries -OPT18 \xe2\x80\x93Oauto\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在尝试将其运行为:

\n\n
Invoke-Command -ScriptBlock $command\n
Run Code Online (Sandbox Code Playgroud)\n\n

尝试使用和不使用“ScriptBlock”,总是得到相同的错误。谷歌搜索后,老实说我不明白我应该如何解决这个问题,所以任何建议都是值得赞赏的。

\n

Paw*_*Dyl 5

相反Invoke-Command,您需要Invoke-Expression

$command = 'svn help patch'
Invoke-expression $command
Run Code Online (Sandbox Code Playgroud)

请参阅 cmdlet 说明:

Invoke-Expression cmdlet 将指定的字符串作为命令求值或运行,并返回表达式或命令的结果。如果没有 Invoke-Expression,在命令行提交的字符串将原样返回(回显)。