检查电子应用是否在Windows上以管理员权限启动
有没有办法检查是否使用管理员权限启动了电子应用程序?
我只发现了使用admin权限执行命令的electron-sudo lib. 但我有多个命令要执行,我不想每次都提示用户. 那么如何使用电子检查应用是否以管理员权限启动? 最好的办法就是在软件ex:.isAdminPrivilegesUsed(可以是在Windows上执行的脚本)中执行一个返回true或false的命令,如果为false: 我将提示用户必须使用管理员权限重新启动软件并关闭它 解决方法
我从Node检查了如何做到这一点,并找到了这个答案:
How to know if node-webkit app is running with Administrator/elevated privilege?.
我检查了答案,下载了node-windows并试了一下.但是,该解决方案启动了UAC对话框,并始终以“用户具有管理权限”作为响应. 我挖掘了处理isAdminUser命令的node-windows代码,发现它试图运行NET SESSION,如果没有权限,则尝试将其运行升级,从而导致UAC对话框. 我拿出了提升部分并最终得到了这个片段: var exec = require('child_process').exec; exec('NET SESSION',function(err,so,se) { console.log(se.length === 0 ? "admin" : "not admin"); }); 我通过正常运行应用程序并使用“以管理员身份运行”来测试它.上面的代码在不以管理员身份运行时正确显示“not admin”,以管理员身份运行时正确显示“admin”. 这应该适用于您在问题中引用的.isAdminPrivilegesUsed方法的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008-r2 – 在环回地址上禁用IPv6(Localhos
- 2008r2 DC上的Windows 7帐户随机被锁定
- 在Windows服务器上运行的Oracle的典型最大数据库连接数是多
- Windows PowerShell – 如何查看命令历史记录日期/时间
- 批处理文件 – 在Windows中批处理Pandoc转换
- xaml – WinRT中的DataTrigger?
- windows – 用perl处理退出代码> 255是否可行?
- windows-server-2012 – 在IIS 8中更改密钥交换机制
- windows-server-2008-r2 – 无法完成操作,因为该文件在IIS
- 新的Windows 10放大镜使用了什么算法?