2014-08-28 153 views
0

我正在嘗試開發一個簡單的腳本,可以運行第二個腳本作爲機器的本地管理員。作爲第一個劇本,我目前正在努力:使用RUNAS使用本地管理員帳戶運行具有提升權限的第二批處理文件

set name=%computername% 
runas /noprofile /user:%name%\Administrator "cmd.exe /c %cd%bg2.2.bat"  

當我運行該腳本,它似乎永遠不會運行第二個腳本,它位於同一目錄中。第二個腳本僅用於複製文件。

del "C:\Windows\obh_logo.bmp" 
copy "%cd%obh_logo.bmp C:\Windows\obh_logo.bmp" 

當第一個腳本運行提示我輸入管理員密碼作爲預期,一旦我進入它,第二個命令提示符似乎閃爍屏幕然後消失的。它永遠不會運行第二個腳本。什麼似乎是這不起作用的原因?

回答

0

%cd%可能不會地步,你想這樣做,(只是測試它,當然命令之前調用的變量被替換,並實際上指向第一個腳本目錄,但問題在仍然存在第二個腳本)
runas將您正在啓動的cmd.exe實例的工作目錄更改爲C:\ Windows \ system32。
將其替換爲%~dp0,它產生當前批處理文件的驅動器和路徑。

但是!您的腳本不會運行第二個提升的文件,只是在Administrator帳戶下,這是不一樣的。手動確認始終是必需的,請參閱here以瞭解在腳本中請求提升的可能方式。

我現在假設缺少的權利是實際問題,請在第二個腳本中添加一條pause語句來觀看它,或者使用cmd /k來調用它,以便控制檯不關閉。

相關問題