2017-03-16 106 views
-1

我遇到了我的腳本的問題,旨在遠程安裝可執行文件。我的腳本的所有預備工作都很好。我從文本文件中獲取大約十幾臺電腦的主機名。我使用PSExec來啓用PSRemoting。然後將安裝程序複製到遠程計算機上的臨時目錄中。一切都很好,除了重要的部分。我無法安裝它。Powershell:遠程exe安裝

我已經試過如下:

Invoke-Command -ComputerName remoteComp -ScriptBlock {C:\temp\installer.exe} -ArgumentList /SILENT 
Invoke-Command -ComputerName remoteComp {Start-Process C:\temp\installer.exe -ArgumentList /SILENT -Wait} 

我一直在使用新的PSSession這樣的嘗試:

$s = New-PSSession -ComputerName remoteComp 
Invoke-Command -Session $s -ScriptBlock {C:\temp\installer.exe} -ArgumentList /SILENT 

沒有發送任何類型的錯誤,他們只是什麼也不做。有 - 只會永遠掛起的命令。如果我放了一個-Sleep,它只是等待所需的秒數,然後完成,完成任何事情。我不知道這是否重要,但是當我使用/ SILENT開關在本地計算機上運行可執行文件時,它不會請求任何提示,但會打開一個資源管理器窗口。

我試圖使用PSExec.exe,但我得到了類似的結果。它只是永遠掛起而沒有任何錯誤。預先感謝任何幫助!

+0

我在各種安裝程序上試過這個,有些工作取決於UAC級別。我最終寫了一些東西來執行在使用我所有的靜默安裝命令運行批處理文件的目標機器上創建計劃任務。 'SCHTASKS' – ssaviers

+0

在您的腳本塊示例中沒有將參數傳遞給您的exe。 '-ScriptBlock {C:\ temp \ installer.exe $ args [0]} -ArgumentList/SILENT'雖然可能會有更多的事情發生。這將解釋爲什麼它會永遠持續下去,因爲它無法與任何用戶交互。有免費的軟件可以處理像PDQ Deploy這樣的事情,而不是試圖做自己的事情。 – Matt

+0

出現的資源管理器窗口可能會導致安裝過程不結束,這就解釋了爲什麼當你使用'-Wait'時,它永遠不會結束。您可以在本地計算機上進行測試...打開任務管理器並使用無聲開關運行安裝程序,在任務管理器中快速找到'installer.exe'進程。當安裝程序打開資源管理器窗口時,「installer.exe」進程會消失嗎? –

回答

0

嘗試裏面的參數列表...如果exe支持它。

例如:

Invoke-Command -ScriptBlock { c:\temp\yourexe.exe /verysilent /norestart /log="c:\install.log"} 

請嘗試。

+0

不幸的是,如果/ verysilent不支持,這個exe不支持/ verysilent –

+0

嘗試/無聲與exe一起 – VGSandz

1

這個東西多一點戰鬥後,我就能夠創建一個批處理文件,然後使用

Invoke-Command -ComputerName remoteComp -ScriptBlock {C:\temp\installer.bat} 

成功安裝的exe所有這一切在批處理文件是

installer.exe /SILENT 

另一種適用於我的方式是由ssaviers提到的,我可以使用schtasks.exe來安排一次性任務。