在nodejs或javascript中检查管理员或非管理员用户

时间:2019-07-12 14:48:39

标签: javascript node.js registry regedit

我已经构建了node.js应用程序来在系统或用户级别设置注册表。我需要检查用户是否具有管理员权限,据此,我将在系统级别或用户级别设置注册表值。

我如何在node.js或javascript代码中进行检查。

这是我使用regedit设置注册表的方式

对于非管理员,我设置了HKCU \环境


regedit.putValue({
      'HKLM\\System\\CurrentControlSet\\Control\\Session Manager\\Environment': {
        'XYZ': {
              value: regValue,
              type: 'REG_SZ'
            }
         }
        },function(err) {}

1 个答案:

答案 0 :(得分:0)

我通过执行net session命令解决了该问题,因为该命令仅在具有管理员权限的情况下才会执行。请注意,这仅适用于Windows!

var platform = require("os").platform();

if (platform == "win32" || platform == "win64") {
    require('child_process').exec('net session', function(err, stdout, stderr) {
        if (err || !(stdout.indexOf("There are no entries in the list.") > -1)) {
            console.log("You are not running this application as administrator");
        } else {
            console.log("This is being ran with administrator privileges!");
        }
    });
} else {
    console.log("Unknown");
}

使用管理员:This is being ran with administrator privileges!

没有管理员:You are not running this application as administrator