Ho cercato sul Web e su Stackoverflow ma non ho trovato una risposta a questa domanda. Come eseguiresti uno script PowerShell da Node.js? Lo script si trova sullo stesso server dell'istanza Node.js.Esegui lo script PowerShell da Node.js
risposta
Si può solo generare un processo figlio "powershell.exe" e ascoltare stdout per l'uscita di comando e stderr per gli errori:
var spawn = require("child_process").spawn,child;
child = spawn("powershell.exe",["c:\\temp\\helloworld.ps1"]);
child.stdout.on("data",function(data){
console.log("Powershell Data: " + data);
});
child.stderr.on("data",function(data){
console.log("Powershell Errors: " + data);
});
child.on("exit",function(){
console.log("Powershell Script finished");
});
child.stdin.end(); //end input
Oltre alla risposta accettata, v'è una biblioteca Node.JS chiamato Edge.js che consente l'esecuzione di vari langugages dal nodo. Compresi C#, J #, .Net, SQL, Python, PowerShell e altri linguaggi CLR.
Nota che Edge.js richiede PowerShell 3.0 & funziona solo su Windows (molte delle altre funzioni funzionano anche su Mac e Linux).
Questa opzione funziona per me, quando lo script non è già lì, ma si desidera generare alcuni comandi in modo dinamico, inviarli e lavorare con i risultati sul nodo.
var PSRunner = {
send: function(commands) {
var self = this;
var results = [];
var spawn = require("child_process").spawn;
var child = spawn("powershell.exe", ["-Command", "-"]);
child.stdout.on("data", function(data) {
self.out.push(data.toString());
});
child.stderr.on("data", function(data) {
self.err.push(data.toString());
});
commands.forEach(function(cmd){
self.out = [];
self.err = [];
child.stdin.write(cmd+ '\n');
results.push({command: cmd, output: self.out, errors: self.err});
});
child.stdin.end();
return results;
},
};
module.exports = PSRunner;
Oppure è sufficiente utilizzare Node-PowerShell.
Node-PowerShell che sfrutta due degli strumenti più semplici, efficaci e facili che esistono nel mondo tecnologico attuale. Da un lato, NodeJS che ha fatto una rivoluzione nel mondo di javascript e, d'altro canto, PowerShell che recentemente è uscito con una versione open-source e multipiattaforma iniziale e collegandoli insieme, ti dà il potere di crea qualsiasi soluzione che ti è stata richiesta, non importa se sei un programmatore, un IT o un DevOps.
Benvenuti in Stack Overflow! Un collegamento a una soluzione è il benvenuto, ma per favore assicurati che la tua risposta sia utile senza di essa: [aggiungi contesto intorno al link] (// meta.stackexchange.com/a/8259) in modo che i tuoi utenti abbiano qualche idea di cosa sia e perché è lì, quindi citare la parte più pertinente della pagina a cui si sta collegando nel caso in cui la pagina di destinazione non è disponibile. [Le risposte che sono poco più di un collegamento potrebbero essere eliminate.] (// stackoverflow.com/help/deleted-answers) – FelixSFD
- 1. Esegui solo script powershell firmati da C#
- 2. Esegui script PowerShell da C# con argomenti Commandline
- 3. Come chiamare una funzione in un altro script PowerShell quando si esegue lo script PowerShell usando 'Esegui con PowerShell'
- 4. Chef Powershell Esegui da file
- 5. Come eseguire uno script PowerShell da SSIS
- 6. Esegui script Python da PHP
- 7. Esegui script con rc.local: lo script funziona, ma non all'avvio
- 8. Esegui script ruby da cron
- 9. PowerShell: Esegui il comando dalla directory dello script
- 10. Esegui codice C# utilizzando Powershell
- 11. PHP: esegui lo script 5 minuti dopo l'esecuzione dello script
- 12. Esegui script bash da un altro script senza attendere che lo script finisca di essere eseguito?
- 13. Esegui PowerShell come amministratore da C#
- 14. Chiamata Powershell Script PowerShell
- 15. Esegui comando Drush da uno script PHP
- 16. Esegui più script Powershell in sequenza - su una cartella - Combina gli script in uno script principale
- 17. Esegui uno script SQLite
- 18. Esegui script vim da vim commandline
- 19. PowerShell script da scorciatoia per cambiare tavolo
- 20. Esegui uno script bash da uno script R
- 21. Esegui del codice sempre prima che lo script Perl termini
- 22. Script powershell utente da inviare all'URL?
- 23. Invoca gli script Powershell da Java
- 24. Script PowerShell in PostBuild
- 25. determinare se lo script PowerShell è stato dot-sourced
- 26. SQLite - Esegui lo script SQL multilinea dal file?
- 27. Lo script PowerShell non restituisce nulla sull'esecuzione di IIS
- 28. PowerShell - Trova l'utente che ha invocato lo script
- 29. Elevare gli script Powershell
- 30. Run R script PowerShell
Perfetto. Grazie mille per l'aiuto. Questo e 'esattamente quello che stavo cercando. Ha funzionato perfettamente. –
So che questo è vecchio ma è possibile eseguire il powershell con le autorizzazioni di amministratore? – Vandervidi
http://serverfault.com/a/464024/202283 – digitalextremist