使用 Psexec 工具連線到遠端桌面適用於 Powershell 和 Cmd,但不適用於 PowerShell ISE

使用 Psexec 工具連線到遠端桌面適用於 Powershell 和 Cmd,但不適用於 PowerShell ISE

我使用此命令psexec \\ip_address -u user_name -p psw cmd 連接到遠端桌面來運行命令,當您在 Power shell 或命令提示字元中使用此命令時它可以工作,但它在 Power shell ISE 中不起作用。我不會在 ISE 中收到任何錯誤,但一旦執行開始,它永遠不會結束,直到您停止它。

一旦執行開始,它就永遠不會結束,也不會連接到遠端桌面,您也不會收到錯誤,但它在 PowerShell 或 CMD 上完美運行。

答案1

首先,程式碼的螢幕截圖對我們來說確實沒有用。它迫使人們不得不重新輸入你所做的事情,而大多數人不願意這樣做。

因為psexec是互動式指令工具。您可以在 ISE 中使用它,但您必須傳遞所需的每個參數。

這不是 psexec 限制,請嘗試 nslookup 並查看相同的問題。您無法像在 cmd/控制台中那樣在 ISE 控制台或 IDE 腳本窗格中使用許多互動式 DOS/CMD 命令。這不是它的設計。

自 ISE 發布以來,這一點已被記錄。

ISE 中的控制台應用程式(非)支持

對於 ftp 和 netsh 等應用程序,您需要注意 ISE 如何與控制台應用程式互動存在一些限制。

首先,ISE 可以很好地運行不需要使用者輸入的控制台應用程式。例如,“ping www.microsoft.com”和“cmd /c dir /s”

管道在 ISE 中也能正常運作,例如,PS C:\Users\ibrar>“show mode”| netsh netsh>在線

不需要使用者乾預的腳本自動化應該沒問題。

但是,如果您執行需要輸入的“cmd /k”,ISE 將被卡住,您必須使用 Ctrl-Break 或按下停止按鈕來停止管道。

您可以根據需要使用 shell 到控制台主機來執行此類操作啟動進程 cmdlet。或其他啟動方法之一。

看:

在 PowerShell 中執行可執行檔 | IT專業人士

  1. 呼叫運營商和 Technet

原因:用於將字串視為單一命令。對於處理空間很有用。

在 PowerShell V2.0 中,如果您正在執行 7z.exe (7-Zip.exe) 或其他以數字開頭的命令,則必須使用命令呼叫運算子 &。

PowerShell V3.0 解析器現在可以更聰明地執行此操作,在這種情況下,您不再需要 & 。

詳細資訊:運行命令、腳本或腳本區塊。呼叫運算子也稱為“呼叫運算子”,可讓您執行儲存在變數中並由字串表示的命令。由於呼叫運算子不解析命令,因此無法解釋命令參數

Example: 

& 'C:\Program Files\Windows Media Player\wmplayer.exe' "c:\videos\my home video.avi" /fullscreen

所以你的 psexec..

& 'C:\Tools\psexec.exe' "Your command arguments" /accepteula

相關內容