0

我想更改 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 脚本中。

我希望我很清楚,谢谢

4

1 回答 1

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目录的完全控制权是一个坏主意。实际上不要这样做。

于 2013-10-17T09:39:59.653 回答