vbs脚本访问被拒绝权限更改

时间:2013-10-17 05:48:47

标签: windows vbscript

我想更改etc / host文件的权限。

我正在运行此vbs脚本

Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell")
objShell.run "cmd cacls C:\Windows\System32\drivers\etc /e /p everyone:f  "
Set objShell = Nothing

现在的问题是每当我运行这个时我都会被拒绝访问。是的,我是管理员。 但是当我手动点击文件并转到安全设置并更改权限时,它会提示输入域名管理员名称和密码,当我输入它时,它会有效。

但是使用命令行,如何启用域用户名和密码以便不拒绝访问。我想在vbs脚本中集成它。

我希望我很清楚,谢谢你

1 个答案:

答案 0 :(得分:1)

看起来您已启用UAC,因此尝试通过ShellExecute运行命令并设置“runas”动词:

cmd  = "cacls.exe"
args = "C:\Windows\System32\drivers\etc /e /p everyone:f"

Set app = CreateObject("Shell.Application")
app.ShellExecute cmd, args, "", "runas", 0

但是,我建议使用icacls而不是cacls。此外,授予每个人对etc目录的完全控制权是一个不好的想法。实际上不要这样做。