如何知道 node-webkit 应用程序是否具有 运行 Administrator/elevated 权限?

How to know if node-webkit app is running with Administrator/elevated privilege?

如何确定 node-webkit 是否在 Windows 上具有 运行 管理员权限?

使用node-windows模块,可以调用如下函数判断当前用户是否拥有admin权限:

var wincmd = require('node-windows');

wincmd.isAdminUser(function(isAdmin){
  if (isAdmin) {
    console.log('The user has administrative privileges.');
  } else {
    console.log('NOT AN ADMIN');
  }
});

在 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

的提升检查

不要将 npm 包用于任何小任务 - 这是非常糟糕的做法。

    var isElevated;

    try {
        child_process.execFileSync( "net", ["session"], { "stdio": "ignore" } );

        isElevated = true;
    }
    catch ( e ) {
        isElevated = false;
    }