簡體   English   中英

從RPC執行時Windows START命令無法運行

[英]Windows START command failing to run when executed from RPC

長話短說,我寫了一個程序,使我可以在Windows機器上遠程安裝軟件和運行命令。 我一直在使用START命令(我了解從另一個崗位上計算器發現這里 )通過RPC,執行批處理文件,這樣我的服務器不必等待安裝完成。 在我為之編寫的學區中,大多數1000台計算機都可以正常運行,但是我有幾台START不能運行批處理文件的計算機。 我沒有收到任何錯誤消息,而我所做的所有搜索僅找到有關如何使用START命令的更多示例。 我一直無法運行,但找不到任何引用。

我的服務器是linux,並且正在使用winexe作為RPC。 這是我正在運行的命令。

winexe -W domain -U adminUser --password=adminPassword //compName.domain.internal --runas=domain\\adminUser%adminPassword "\\\\Server\\PathToBatch\\run.cmd \\\\Server\\PathToBatch\\install.cmd"

下面是run.cmd代碼。

START %1
exit

install.cmd批處理文件由我的程序生成,具體取決於他們要安裝的內容。 命令中多余的\\是轉義字符,因為\\是Linux中的轉義字符。

我得到的輸出是。

C:\WINDOWS\system32>start \\Server\PathToBatch\install.cmd 
C:\WINDOWS\system32>exit

沒有錯誤消息,並且在正確啟動的計算機上輸出是相同的。

我嘗試從計算機上的命令提示符處運行命令,就像通過RPC運行一樣,並且工作正常。 我可以使用RPC自行運行install.cmd,除了我必須等待安裝完成之外,它可以正常運行。 完全相同的批處理文件可以在其他計算機上運行而不會出現問題。

在工作正常的計算機上觀看任務管理器,我可以看到adminUser啟動了一個cmd進程,然后啟動了第二個cmd進程,第一個cmd進程消失了。 在無法正常運行的計算機上,它將啟動第一個cmd進程,然后消失,而第二個cmd進程從未啟動。

我無法在工作計算機和非工作計算機之間找到任何區別。 在計算機上沒有防火牆。

我們將在暑假期間對這些計算機進行重新映像,我希望它們在此之后可能會開始工作,因此我不急於解決這個問題。 我主要想知道為什么它不起作用,以便可以防止將來在其他計算機上失敗。

預先感謝您可以給我的任何幫助。

嘗試start "" %1而不是start %1 還要仔細檢查runas用戶是否可以實際訪問命令失敗的計算機上的\\\\Server\\PathToBatch

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM