Как использовать модуль node-powershell в службе Windows, созданной с использованием модуля node-windows?

Я использовал модуль node-windows для создания 'Demo Service' в service.js.

Service.js

var Service = require('node-windows').Service
var os = require('os')
var svc = new Service({
  name: 'Demo Service',
  description: 'This service get metro app list.',
  script: require('path').resolve(`C:\\Users\\${os.userInfo().username}\\index.js`)
})
svc.install()

Демонстрационная служба выполняет index.js, в котором я использовал модуль node-powershell, чтобы получить список приложений метро через 'Get-AppxPackage | Выберите Name'PowerShell команду.

index.js:

const shell = require('node-powershell');
var sysInfo = {}
var systemInformation = function () {
     let ps = new shell({
        executionPolicy: 'Bypass',
        noProfile: true
      });
      ps.addCommand('Get-AppxPackage | Select Name')
          ps.invoke()
          .then(installedMetroApps => {
            sysInfo.installedMetroApps = installedMetroApps;
            ps.dispose();
            next(null, 1)
          })
          .catch(err => {
            ps.dispose();
            throw err;
          });
}
systemInformation();

Когда я выполняю index.js, используя узел, то есть узел index.js, я получаю список установленного MetroApps, как и ожидалось, но когда я запускаю демонстрационную службу через службы в окнах, список установленного метрополитена пуст.

0 ответов

Другие вопросы по тегам