2013-10-23 85 views
0

我只是試圖使用的PSSession在遠程機器上執行程序的工作 powershell;調用-WmiMethod -path Win32_Process的-name創建-ArgumentList $ ARRA Y}調用-WmiMethod不使用PowerShell的PSSession(調用命令)

我的參數數組是這樣的:

$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應該創建一個輸出文件)。任何幫助將不勝感激,謝謝。

+0

爲什麼你運行'通過調用-WmiMethod''調用命令-Session',而不是直接運行它針對遠程主機('調用-Wmi方法 - 計算機...')? –

回答

0

您需要將$array注入傳遞給Invoke-Command的scripblock如:

Invoke-Command -Session $session -ScriptBlock {param($arr) 
    cd c:\ powershell 
    Invoke-WmiMethod Win32_Process -Name create -ArgumentList $arr} -Arg $array