我想制作一个可以将文件复制到c:\windows\system32\whatever.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 :(得分: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的全部目的是“阻碍”运行此类脚本并在进程尝试特权访问时发出警告。