0

我只是尝试使用 pssession 在远程机器上执行程序:

调用命令 -Session $session -ScriptBlock {cd c:\ powershell; 调用-WmiMethod -path win32_process -name create -argumentlist $arra y}

我的参数数组如下所示:

$array
c:\powershell\sqbconverter.exe
d:\Restore\xxxx\FULL_(local)_xxxx_PROD_20131016_230001.sqb
D:\Restore\xxxx\full\Restore_xxxx_full.bak
xxxxxx

这是结果:

PSComputerName     : hostname1
RunspaceId         : 92656a18-ca0f-4684-aff2-086f109fce59
PSShowComputerName : True
__GENUS            : 2
__CLASS            : __PARAMETERS
__SUPERCLASS       :
__DYNASTY          : __PARAMETERS
__RELPATH          :
__PROPERTY_COUNT   : 2
__DERIVATION       : {}
__SERVER           :
__NAMESPACE        :
__PATH             :
ProcessId          :
ReturnValue        : 21

我不确定如何调试远程机器上到底发生了什么,但我没有得到我想要的输出(exe 应该创建一个输出文件)。任何帮助将不胜感激,谢谢。

4

1 回答 1

0

您需要将您$array的注入到您传递给的脚本块中,Invoke-Command例如:

Invoke-Command -Session $session -ScriptBlock {param($arr)
    cd c:\ powershell
    Invoke-WmiMethod Win32_Process -Name create -ArgumentList $arr} -Arg $array
于 2013-10-23T19:45:18.387 回答