【发布时间】:2020-07-03 23:53:09
【问题描述】:
如何确定 node-webkit 是否在 Windows 上以管理员权限运行?
【问题讨论】:
标签: javascript node.js node-webkit
如何确定 node-webkit 是否在 Windows 上以管理员权限运行?
【问题讨论】:
标签: javascript node.js node-webkit
不要将 npm 包用于任何小任务 - 这是非常糟糕的做法。
var isElevated;
try {
child_process.execFileSync( "net", ["session"], { "stdio": "ignore" } );
isElevated = true;
}
catch ( e ) {
isElevated = false;
}
【讨论】:
在windows上,你可以使用npm包is-admin,检查节点进程是否被提升。
const isAdmin = require('is-admin');
isAdmin().then(elevated => {
if (elevated) {
console.log('Elevated');
} else {
console.log('Not elevated');
}
});
还有一个名为 is-elevated 的跨平台实现,它捆绑了 Unix 和 Windows 的提升检查
【讨论】:
使用node-windows模块,可以调用如下函数判断当前用户是否有管理员权限:
var wincmd = require('node-windows');
wincmd.isAdminUser(function(isAdmin){
if (isAdmin) {
console.log('The user has administrative privileges.');
} else {
console.log('NOT AN ADMIN');
}
});
【讨论】: