Выполнение сценариев PowerShell в Node.js: методы и примеры кода

Чтобы выполнить сценарий PowerShell в Node.js, вы можете использовать различные методы. Вот несколько примеров:

Метод 1. Использование модуля child_process

const { exec } = require('child_process');
exec('powershell.exe -File script.ps1', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error: ${error.message}`);
    return;
  }
  console.log(`Script output: ${stdout}`);
});

Метод 2: использование модуля child_processс spawn

const { spawn } = require('child_process');
const ps = spawn('powershell.exe', ['-File', 'script.ps1']);
ps.stdout.on('data', (data) => {
  console.log(`Script output: ${data}`);
});
ps.stderr.on('data', (data) => {
  console.error(`Error: ${data}`);
});
ps.on('close', (code) => {
  console.log(`Script process exited with code ${code}`);
});

Метод 3. Использование пакета node-powershell(требуется установка)

const shell = require('node-powershell');
const ps = new shell({
  executionPolicy: 'Bypass',
  noProfile: true
});
ps.addCommand('./script.ps1');
ps.invoke()
  .then(output => {
    console.log(`Script output: ${output}`);
    ps.dispose();
  })
  .catch(error => {
    console.error(`Error: ${error}`);
    ps.dispose();
  });

Не забудьте заменить 'script.ps1'путем к реальному сценарию PowerShell.