Tôi đã tìm kiếm trên web và trên Stackoverflow nhưng không tìm thấy câu trả lời cho câu hỏi này. Làm thế nào bạn sẽ thực thi một kịch bản Powershell từ Node.js? Kịch bản lệnh nằm trên cùng một máy chủ với cá thể Node.js.Thực thi kịch bản Powershell từ Node.js
Trả lời
Bạn chỉ có thể đẻ trứng một quá trình con "powershell.exe" và lắng nghe thiết bị xuất chuẩn cho đầu ra lệnh và stderr cho các lỗi:
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
Ngoài các câu trả lời được chấp nhận, có một thư viện Node.js gọi Edge.js cho phép các langugages khác nhau được thực thi từ bên trong Nút. Bao gồm C#, J #, .Net, SQL, Python, PowerShell và các ngôn ngữ CLR khác.
Lưu ý rằng Edge.js yêu cầu PowerShell 3.0 & chỉ hoạt động trên Windows (nhiều tính năng khác cũng hoạt động trên Mac và Linux).
Tùy chọn này phù hợp với tôi, khi tập lệnh không có sẵn, nhưng bạn muốn tạo một số lệnh động, gửi chúng và làm việc với kết quả trở lại trên nút.
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;
Hoặc bạn chỉ có thể sử dụng Node-PowerShell.
Node-PowerShell tận dụng lợi thế của hai công cụ đơn giản, hiệu quả và dễ dàng tồn tại trong thế giới công nghệ ngày nay. Một mặt, NodeJS đã tạo ra một cuộc cách mạng trong thế giới javascript, và mặt khác, PowerShell gần đây đã ra mắt với một phiên bản nền tảng nguồn mở ban đầu, và bằng cách kết nối chúng lại với nhau, mang lại cho bạn sức mạnh tạo ra bất kỳ giải pháp nào mà bạn được yêu cầu, cho dù bạn là một lập trình viên, một công ty CNTT hay một anh chàng DevOps.
Chào mừng bạn đến với Stack Overflow! Liên kết đến giải pháp được chào đón, nhưng hãy đảm bảo câu trả lời của bạn hữu ích khi không có: [thêm ngữ cảnh xung quanh liên kết] (// meta.stackexchange.com/a/8259) để người dùng đồng nghiệp của bạn sẽ biết nó là gì và tại sao nó ở đó, sau đó báo giá phần có liên quan nhất của trang bạn đang liên kết đến trong trường hợp trang đích không có sẵn. [Câu trả lời có nhiều hơn một liên kết có thể bị xóa.] (// stackoverflow.com/help/deleted-answers) – FelixSFD
- 1. Làm thế nào để từ xa thực thi một kịch bản từ xa cao trong PowerShell
- 2. Gọi một kịch bản PowerShell từ Python
- 3. Cách gọi hàm trong kịch bản PowerShell khác khi thực thi kịch bản PowerShell bằng cách sử dụng 'Chạy với PowerShell'
- 4. Làm thế nào để chạy một đường dẫn/đường dẫn C# thực thi kịch bản PowerShell?
- 5. Cách Thực thi Tập lệnh PowerShell từ SSIS
- 6. Kịch bản PowerShell trong PostBuild
- 7. Kịch bản nâng cao Powershell
- 8. Làm thế nào để thực hiện một kịch bản PowerShell có sẵn trong máy từ xa?
- 9. Guard thực thi kịch bản shell hai lần
- 10. Kịch bản Adobe InDesign .jsx thực thi .jsx script
- 11. Nginx.conf và kịch bản thiết lập Node.js
- 12. Thoát đối số khi vượt qua% * từ kịch bản hàng loạt như $ args để kịch bản PowerShell
- 13. Kịch bản khởi động cho node.js repl
- 14. Làm thế nào để thực thi kịch bản lệnh shell từ LaTeX?
- 15. Giới hạn thời gian thực thi cho một kịch bản Lua được gọi từ C API
- 16. Làm thế nào để thực thi một kịch bản lệnh shell từ C trong Linux?
- 17. Làm thế nào để thực thi kịch bản Python từ Java?
- 18. thực thi kịch bản python với chức năng từ dòng lệnh, Linux
- 19. Kịch bản PowerShell không trả lại gì khi thực hiện IIS
- 20. Powershell kiểm tra nếu thực thi trong đường dẫn
- 21. Sự kiện xây dựng bài đăng thực thi powershell
- 22. Thực thi tệp Node.js từ bên ngoài đường dẫn tệp ngắt thư mục
- 23. Thực thi PowerShell Script từ C# với các đối số dòng lệnh
- 24. Cửa sổ PowerShell khi bắt đầu từ một tập tin thực thi
- 25. Sử dụng dơi để bắt đầu Powershell kịch bản
- 26. Xác định nếu PowerShell kịch bản đã được dot-sourced
- 27. Kịch bản Powershell không nhận ra chức năng của tôi
- 28. Javascript khối kịch bản thực hiện
- 29. Làm thế nào để làm cho các kịch bản python thực thi trên Windows?
- 30. Chạy các kịch bản Groovy từ Gradle
Hoàn hảo. Cảm ơn bạn rất nhiều vì sự giúp đỡ. Điều này thật đúng với gì mà tôi đã tìm kiếm. Làm việc hoàn hảo. –
Tôi biết điều này cũ nhưng có thể chạy quyền hạn với quyền quản trị? – Vandervidi
http://serverfault.com/a/464024/202283 – digitalextremist