VBS访问被拒绝

时间:2012-07-18 05:35:51

标签: vbscript

我想制作一个可以将文件复制到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)

1 个答案:

答案 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的全部目的是“阻碍”运行此类脚本并在进程尝试特权访问时发出警告。