2012-07-18 531 views
1

我想製作一個能夠將文件複製到c:\windows\system32\whatever.vbs的程序。問題是我的運行時遇到「拒絕訪問」。VBS訪問被拒絕

我試圖獲得管理員權限,但仍然出現UAC。任何人都可以給我一個腳本,以管理員身份運行我的vbs,並在運行時禁用UAC?

下面是代碼:

option explicit 
dim folder, root, f1, source, destination, regedit, WshNetwork 

function CopyFile(source, destination) 
dim filesys 

set filesys=CreateObject("Scripting.FileSystemObject") 
    If filesys.FileExists(source) Then 
    filesys.CopyFile source, destination 
    End If 
end function 

Set WshNetwork = WScript.CreateObject("WScript.Network") 

set folder = CreateObject("Scripting.FileSystemObject") 
set root = folder.GetFile(Wscript.ScriptFullName) 

source = root 
destination = "c:\Documents And Settings\" & WshNetwork.UserName &"\Start Menu\Programs\Startup\whatever.vbs" 

call CopyFile(source,destination) 

destination = "c:\Windows\System32\whatever.vbs" -> in here access is denied 

call CopyFile(Source,destination) 
+0

我們無法通過代碼 – Anuraj 2012-07-18 05:40:51

回答

3

你需要運行此腳本作爲管理員或用戶將管理員權限:

runas /user:Administrator cscript vbscript.vbs 

您也可以運行在提升的命令提示符或完全禁用UAC:

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f 

...並重新啓動系統。

沒有辦法以編程的方式去做你要問什麼。 UAC的全部目的是「阻礙」運行此類腳本,並在進程嘗試訪問特權時發出警告。

+0

修改UAC設置對於我來說,runas工作時沒有cscript:runas/user:Administrator vbscript.vbs – 2016-05-27 09:29:59