批量脚本,Powershell,而不是在Windows中触发UAC
我正在寻找远程以高架模式运行批处理文件(runas管理员),以便它不会使UAC跳闸以提示用户交互.我们在登录脚本中进行了一些注册表编辑,这些编辑触发UAC提示每个运行的注册表.
我意识到这种方式违背了UAC的目的,但如果在启用了UAC的计算机上运行批处理文件有一些方法,那就太好了. 这些批处理文件需要能够在没有任何用户交互的情况下运行(它们主要是登录脚本和一些管理脚本).我们没有使用Active Directory域,因此希望没有AD域的解决方案. 到目前为止我找到的解决方案如下: >完全禁用UAC – 我们通常会这样做,但我们可能会遇到一些我们无法禁用它的情况. >此解决方案似乎有效,但是快捷方式的初始运行会导致UAC提示出现.批处理文件中运行的所有命令都不会导致UAC提示.接近解决方案,但不提出任何提示会很好. 3. >我试过这个,但它仍然没有达到提升以防止UAC提示. 我想的另一件事,但我还没有真正研究过,在启用UAC的环境中,powershell脚本是否运行/工作得更好? Windows是否“信任”经过认证的PowerShell脚本并允许它们在不触发UAC的情况下畅通无阻地运行? 从我所看到的,这些是围绕UAC的其他方法,然后禁用它.但我只是想看看是否有人能够对这一主题有所了解. 谢谢, 干杯 解决方法
当前用户有权访问的注册表操作本身不会触发UAC提示.
但是,如果作为未提升的管理员运行,则使用具有需要提升的清单的应用程序将提示. 您是否尝试使用regedit.exe执行批处理操作?如果是这样,请使用reg.exe替换(使用cmd.exe),或者更好的是,使用PowerShell内置的注册表支持. 例如. get-itemproperties 'HKLM:SOFTWAREClassesFolder' 不需要提升(因为每个人都可读取该键),但在该键上设置属性将需要提升的PSH会话. 另一种方法,如果您正在执行需要管理访问的操作(需要使用ACL修改对某些对象的访问权限,以限制对管理员的修改).或者,如果没有输入管理员帐户的凭据,非管理员永远不会做UAC的事情. 考虑使用任务计划程序:用户登录的触发器,但在特定的提升的管理员帐户下配置. 总结:确实需要知道至少有一件你正在做的事情,它们会详细触发UAC. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Ansible,Chef,Puppet或____:哪个具有最强的Windows支持和最
- 来自Windows服务的WNetAddConnection2
- windows – 安装新版本的data.table(特别是来自Rforge的1.8
- [文档和源码分享] 基于WIN32 API界面编程实现的Flappy Bird
- windows-server-2008 – 路由和远程访问VPN设置
- windows-server-2008-r2 – Windows Server 2012可以作为Se
- 确定当前用户是否在Administrators组中(Windows / Python)
- 设置虚拟化Windows服务器以托管2-3个用户(运行QuickBooks)…
- windows-phone-8 – 如何获得Windows Phone 8设备的屏幕尺寸
- windows-server-2012 – 存储池基本上是JBOD的另一个术语吗