2012-10-21 50 views

回答

3

RunAs因爲在不工作(我假設你正在使用)的Windows 7默認情況下禁用的管理員帳戶。

我發現啓動的命令提示符(甚至從一個批處理腳本)最簡單的方法是創建一個升高的捷徑。

First, Right-Click on your desktop and Click "New -> Shortcut" 
Next type CMD into the box labled "Type the location of the item:" 
Click "Next -> Finish" 

您現在在桌面上有一個名爲CMD.exe的新快捷方式。下一步...

Right Click "CMD.exe -> Properties -> Advanced..." 
Check "Run as administrator" 
Click "OK -> OK" 

現在你有一個快捷方式C:\Windows\System32\cmd.exe將推出cmd.exe行政privilidges。現在,您可以隨意移動的快捷方式,你想,只要確保它在PATH變量的地方,這樣你就不必指定調用它時它的路徑。我有一個特殊的批處理文件目錄,另一個用於第三方可執行文件。我將我移到批處理目錄。

現在根據Windows中,快捷方式的名稱是cmd.exe的,但如果你拖放到「DOS」,你就能看到它的實際命名cmd.exe.lnk。我將其重命名爲cmd.Admin.lnk,以指定它的功能。

您現在可以啓動幾種不同的方式。

單擊START Ball,並鍵入:cmd.exe.lnk返回(或cmd.admin.lnk,無論您選擇)。
打開命令提示和類型:cmd.exe.lnk返回
cmd.exe.lnk添加到一個批處理文件。

你甚至可以將它傳遞參數,如:

cmd.admin.lnk "/c echo. & echo %time% & echo. & pause.exe" 
cmd.admin.lnk "/c cd /d d:\tmp & x.bat & echo. & echo %time% & echo. & pause.exe" 
cmd.admin.lnk "/c title The Shiznit & echo. & echo %date% %time% & echo. & pause.exe" 
cmd.admin.lnk "/c title The Shiznit & echo. & echo %date% %time% & echo. & pause.exe & exit 999" 

最後一個例子將返回999的%errorlevel%雖然沒有其他變量將被傳遞迴。

通知我怎麼也得把.exe內部命令pause後。我發現你可以用這種方式強制執行很多內部命令。即使.com工程。

最後,不像runas,使用此快捷方式將做兩件事情

首先,它會創建一個彈出窗口,要求具有管理權限來執行權限。這與默認禁用管理員帳戶一樣,是一種防止惡意程序和腳本運行的安全措施。

,如果從命令提示符或批處理文件啓動,它會打開另一命令,解釋窗口。除非通過start啓動它,否則調用窗口將等待新窗口關閉,然後繼續執行批處理文件或命令解釋器。

0

CPAU.exe是一個很好的解決方法來解決這個問題