как написал @ekzorchik, что для выключения ПК нужно выключить профили встроенного брандмауера
Код: Выделить всё
C:\Windows\system32>netsh advfirewall set allprofiles state off
на деле достаточно включить одно правило
- Настройки брандмауэра.JPG (60.04 КБ) 12390 просмотров
Итак, выложу настройку от автора @ekzorchik удаленное выключение компьютера через majordomo с понятным языком.
1) Устанавливаем на ubuntu samba (если не стоит, то не будет работать удаленное выключение компьютера)
Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:
Код: Выделить всё
sudo apt-get install -y samba samba-common python-glade2 system-config-samba
Когда все будет установлено, можно переходить к настройке. Сначала создайте резервную копию оригинального файла конфигурации Samba:
Код: Выделить всё
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
После создания резервной копии, создайте свой файл конфигурации, этой командой:
Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:
Код: Выделить всё
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes
Рассмотрим подробнее что значат эти строки.
workgroup - рабочая группа, как уже говорилось должна одинакова на всех машинах
netbios name - имя компьютера, которое будет отображаться в Windows;
log file - адрес файла, куда будут складываться сообщения об ошибках и другая информация;
security - по умолчанию выполнять аутентификацию на уровне пользователя;
name resolve order - очередность разрешения IP адресов по NetBIOS имени. bcast - означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный;
passdb backend - способ хранения паролей пользователей;
unix password sync - синхронизация паролей пользователей samba с локальными паролями Unix;
map to guest - указывает, когда пользователю будет предоставляться гостевой доступ. Доступно три значения - never - никогда, bad
user - когда такого пользователя не существует, bad password - когда пароль введен неверно,
2) На Windows создаем УЗ с правами администратора, эту УЗ мы впишем в сценарии MD
3) Включаем службу Удаленный реестр и выставляем тип запуска “Авто”
- Удаленный реестр.jpg (65.32 КБ) 12390 просмотров
4) В брандмауэре включаем правило Удаленное управление службой
- Настройки брандмауэра.JPG (60.04 КБ) 12390 просмотров
5) В majordomo создаем сценарии
Код: Выделить всё
$shutdown = shell_exec("/usr/bin/net rpc shutdown -t 10 -f -C shutdown -U логин%пароль -I 0.0.0.0(IP вашего ПК) ");
Если получили такое сообщение
Shutdown of remote machine failed
result was: WERR_CALL_NOT_IMPLEMENTED
В этом случае на Windows системе нужно сделать следующее:
Код: Выделить всё
C:\Windows\system32>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
На этом все, теперь можно удаленно выключать компьютер