2011-11-23 47 views
110

我有一個名爲test.bat的批處理文件。我打電話下面的說明中test.bat文件:如何從命令提示符下以「以管理員身份運行」運行應用程序?

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1 

當我通過在命令提示符下運行此,我testscript運行成功。我想以管理員身份運行它(就像我創建了桌面快捷方式並以管理員身份運行一樣,不應提示輸入任何用戶名或密碼)。

我試過在test.battest.bat的參數中加入/elevate/NOUAC,但沒有運氣。我如何解決這個問題?

我知道如何手動執行它,但我希望這是從命令提示符執行。

(通過Marnix Klooster):...不使用任何額外的工具,像那些在an answer to Super User question How to run program from command line with elevated rights建議)

+1

可能重複[以管理員身份運行批處理文件 - Windows 7 - 從網絡文件系統運行命令](http://stackoverflow.com/questions/10415653/run-batch-file-as-administrator-windows -7-command-run-as-from-network-file) –

+75

這個問題可以在這裏提出,不應該作爲關閉主題關閉。這是一個編程和軟件開發相關的問題。 DotNet程序和C++都可以通過調用控制檯命令或簡單地通過批處理文件來與系統和其他程序進行迭代。 –

+1

這對我很有用:http://superuser.com/questions/55809/how-to-run-program-from-command-line-with-elevated-rights有時「以管理員身份運行」預計意味着「運行與提高的權利「。 – User

回答

21

看到這個TechNet文章:Runas command documentation

從命令提示符:

C:\> runas /user:<localmachinename>\administrator cmd 

或者,如果您已連接到域名:

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd 
+0

我重新讀你的問題,你不想成爲提示。我的建議會導致密碼提示。抱歉! –

+8

我試過這個命令,它是要求憑證,它不應該要求憑證。正如我在查詢中提到的那樣。如果我右鍵單擊桌面項目作爲管理員運行它是預期的行爲。 –

80

試試這個:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

它保存密碼的第一次,從來沒有再問。也許當您更改管理員密碼時,系統會再次提示您。

+1

雖然這可能正常工作,但這是一個絕對可怕的想法,因爲它破壞了UAC的整個概念。 –

+7

@BenVoigt請建議一個替代方案然後 –

+6

嘗試'powershell -Command「啓動進程'C:\ program.exe'-Verb runAs」'(用你的命令替換'C:\ program.exe'),參見http://superuser.com/questions/55809/how-to-run-program-from-command-line-with-elevated-rights –

6

看起來psexec -h是這樣做的方法:......似乎這不是聯機文檔中Sysinternals - PsExec上市

-h   If the target system is Windows Vista or higher, has the process 
      run with the account's elevated token, if available. 

但它適用於我的機器。

+0

這裏不起作用。相反,我只是得到幫助輸出。 – ygoe

+6

這似乎不適用於我,除非我從已具有管理員權限的進程運行它:「無法安裝PSEXESVC服務」 – Vince

+1

我甚至沒有在Windows 10中執行此命令。命令提示符或Power Shell。 – BrainSlugs83

相關問題