2014-11-08 107 views
0

我試圖從VBScript運行可執行文件。試過這個:從vbs運行exe錯誤

oShell = CreateObject("Shell.Application") 
oShell.ShellExecute("cmd.exe", , , "runas", 1) 
oShell.Run("File.exe") 

但是,它給了我第二行的子錯誤。我在哪裏犯錯誤?

+1

到底是什麼,你得到的錯誤? – Matt 2014-11-09 00:19:35

+0

腳本中的每一行都是錯誤的。也許你應該從描述你究竟想達到什麼開始? – 2014-11-09 00:20:39

+0

我想從vbs文件運行File.exe。 – user198989 2014-11-09 00:26:57

回答

3

我假設你想用提升的權限執行file.exe並保持窗口打開。

的VBScript:

set oShell = CreateObject("Shell.Application") 
oShell.ShellExecute "cmd.exe", "/K file.exe", "", "runas", 1 

注意runas動詞無證。

的PowerShell:

Start-Process -FilePath "cmd.exe" -ArgumentList @("/K", "file.exe") -Verb "runas" 
+0

謝謝,它的作品,但提示窗口要求允許。可能會自動允許它? – user198989 2014-11-09 00:56:55

+0

@ user198989配置UAC以允許在不提示的情況下進行提升(通過'secpol.msc')。 – 2014-11-09 00:58:55

+0

動詞不*完全*無證。雖然它沒有列爲規範動詞之一,但[documentation](http://msdn.microsoft.com/zh-cn/library/windows/desktop/bb776886%28v=vs.85%29.aspx)表示* 「可用於對象的動詞本質上就是您在對象的快捷菜單」*上找到的項目,即「HKEY_CLASSES_ROOT \ {對象名稱|類別ID} \ shell」的子項。 – 2014-11-09 01:04:45