NEWS
Как организовать управление компьютером
-
Ну тут немного сложнее, чем с другими пакетами:
Нужно установить Python (2.7), VS 2013 express.
тогда должно заработать.
Здесь написано, что надо сделать:
-
Нужно установить Python (2.7), VS 2013 express. `
То есть он только под окна получается -
Нет. На линксе (debian) он сам собирается. нужно только до этого вызвать:
sudo apt-get update sudo apt-get install build-essential
-
или просто так, если не нужно знать, что там батник говорит:
require('child_process').spawn('cmd.exe', ['/c', 'c:/myBatchFile.bat']); ```` `
Не получается запустить файлик таким способом. Какие еще варианты есть?
По первому варианту получилось. Единственный момент от какого имени запускается cmd?
-
Если запускаю через radmin батник то удаленный комп отключается, если через iobroker то пишет что отказано в доступе.
! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: child process exited with code 5
! javascript-0 2015-08-22 19:29:10 info
! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: stderr: 192.168.1.10: �⪠���� � ����㯥.(5)
! javascript-0 2015-08-22 19:29:10 info
! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: stdout: shutdown /s /t 00 /m \192.168.1.10
! javascript-0 2015-08-22 19:29:10 info C:\Windows\system32>
! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: stdout: -
Запускаю батник скриптом:
require('child_process').spawn('cmd.exe', ['', 'c:/compoff.bat']); var spawn = require('child_process').spawn; function startBat(filename) { var ls = spawn('cmd.exe', ['/c', filename]); ls.stdout.on('data', function (data) { log('stdout: ' + data); }); ls.stderr.on('data', function (data) { log('stderr: ' + data); }); ls.on('exit', function (code) { log('child process exited with code ' + code); }); } startBat('c:/compoff.bat');
Содержимое батника:
net use \\192.168.1.10 /user:instalator shutdown /s /t 3600 /f /m \\192.168.1.10 net use /delete \\192.168.1.10
Вот что выдает в лог:
! javascript.0 2015-11-05 21:39:54 info javascript.0 script.js.Scenes: child process exited with code 0
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: \192.168.1.10 �ᯥ譮 㤠���.
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: use /delete \192.168.1.10
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: net
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: C:\Windows\system32>
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stderr: 192.168.1.10: �⪠���� � ����㯥.(5)
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: /s /t 3600 /f /m \192.168.1.10
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: shutdown
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: C:\Windows\system32>
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: ������� �믮����� �ᯥ譮.
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: use \192.168.1.10 /user:instalator
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: net
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: C:\Windows\system32>
! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
Я так понимаю он рвет команды? -
Он рвёт вывод. А команды нормальные
Тебе отказано в доступе
shutdown (5) access is denied
-
Он рвёт вывод. А команды нормальные
Тебе отказано в доступе
shutdown (5) access is denied ```` `
Как то читал эту кодировку не помню как), в какой он отдает?
Вот не пойму почему отказано, в безопасности добавил группу Все, если руками запускаю батник то все отрабатывает, а чз брокера нехотит.
-
Эту проблему можно решить так:
require('child_process').spawn('chcp 866 | cmd.exe', ['', 'c:/compoff.bat']); var spawn = require('child_process').spawn; function startBat(filename) { var ls = spawn('cmd.exe', ['/c', filename]); ls.stdout.on('data', function (data) { log('stdout: ' + data); }); ls.stderr.on('data', function (data) { log('stderr: ' + data); }); ls.on('exit', function (code) { log('child process exited with code ' + code); }); } startBat('c:/compoff.bat');
Кодировка либо 866 либо 65001. Надо просто попробовать
-