有没有一种方法可以在一堆远程计算机上运行regedit,而不会在Windows10上弹出UAC?在/s
命令行上不工作在我的Windows 10的测试计算机(我倒确信,将在我的Win7 systyems工作,但我的大多数客户端计算机是Win10)。
最终目标是
- 将注册表文件导入HKLM以将PowerShellexecutionPolicy提升为不受限制,
- 使用Powershell启用系统保护/还原,
- 使用PowerShell创建还原点,最后
- 导入一个reg文件,将executionPolicy设置回Restricted或RemoteSigned。(所有这些都是作为预修补任务完成的,顺便说一句)。
在我的测试计算机上,除了regedit ...即使带有/s
参数...也无法在Windows 10上没有UAC弹出窗口的情况下运行。
我已经尝试通过bat文件运行PowerShell提升权限:
powershell.exe -ExecutionPolicy Bypass -File .\MyScript.ps1
和
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList 'Set-ExecutionPolicy unrestricted -Force' -Verb RunAs}"
但是它们都失败了(即访问被拒绝,PowerShell执行策略未提升)。
导入reg文件然后运行我的Powershell脚本是我所获得的最接近成功的方法。
我还通过Sysinternals psexec尝试了此方法,它基于搜索到的其他解决方案(例如,对reg.exe的psexec调用进行导入),但这有其自身的一系列问题(psexec需要为EULA导入reg,所以同样的问题,而不是解)。
从中借用,我还尝试运行以下命令:
C:\Windows\System32\REG.exe ADD HKLM\\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
...但是,这种错误不断出现:“错误:无效的密钥名称”。我可能已经花了太长时间(现在3天了),只需要另一双眼睛。有人可以协助吗?