在 Windows 上通过脚本更改 hosts 文件

在 Windows 上通过脚本更改 hosts 文件

我有一个用于编辑本地文件的 PowerShell 脚本hosts。但由于访问被拒绝,它失败了。

是否有任何选项可以runas从脚本本身以管理员身份运行编辑命令(无需命令)?

尝试过“自提升脚本”的解决方案,但是在hosts编辑的时候失败了。

如果有帮助的话,我会用另一个批处理脚本调用 PowerShell 脚本。

答案1

代替runas命令cmd, 使用PowerShell 的Start-Processcmdlet 使用-verb runas,例如如下:

Powershell Start-Process PowerShell -verb runas -ArgumentList '"your_PS-script.ps1"'

我已经用附加参数测试过了

  • '-ExecutionPolicy Bypass'因为我的有效执行政策是Restricted针对LocalMachine范围的;
  • '-noexit'查看结果电源外壳窗户。

cmd窗口如下:

Powershell Start-Process PowerShell -verb runas -ArgumentList '-ExecutionPolicy Bypass', '-noexit', '"d:\PS_scripts\SE991958.ps1"'

相关内容