Назад | Перейти на главную страницу

Автоматическая инициализация сервера Windows от клиента Linux.

Наша компания создает серверное приложение C ++, которое может быть установлено установщиком Windows.

Я хотел бы иметь возможность удаленно войти на новый сервер Windows, установить это приложение C ++ вместе с набором тестов и сделать это с рабочей станции Linux. Я также хотел бы автоматизировать этот процесс с помощью сценария Bash, который я запускаю со своей рабочей станции Linux.

С сервером Linux это сделать довольно просто. Вы начинаете с базовой конфигурации с запущенным sshd, используете scp для перемещения серверного сценария bash с клиента Linux на сервер, а затем ssh на сервер Linux из клиента Linux и запускаете сценарий bash.

Но как мне это сделать, если клиент - Linux, а сервер - Windows Server (например, 2k8r2)?

Я думаю об использовании Chef Solo для некоторых из них, но мне все равно придется установить Chef Solo. Как бы мне сделать это удаленно с рабочей станции Linux.

Вы можете попробовать использовать winexe для этого он имитирует psexec из Linux. Пакет с исходным кодом (версия 1.00) фактически использует дерево исходных текстов Samba с этой утилитой в качестве дополнения.

Если в вашем дистрибутиве этого нет, вы можете скомпилировать его самостоятельно. Для версии 1.00 распакуйте tar-файл и оттуда:

$ cd source4
$ ./autogen.sh
$ ./configure 

(Вам понадобится подходящая среда сборки и Python 2.) Исполняемый файл находится в папке bin подкаталог после этого.

При первом запуске инструмента он установит (и запустит) службу на удаленном хосте Windows. Последующие звонки намного быстрее.

Пример использования:

./bin/winexe //hostname -U domain\\account "cmd.exe /c dir c:\\"

Мне пришлось установить раздел реестра, чтобы он работал на целевой Windows 7 (требуется перезагрузка):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
Key: LocalAccountTokenFilterPolicy
DWORD value: 1

KB 942817 есть информация о том, как установить это значение реестра при развертывании целевых объектов. Обратите внимание, что это явно имеет последствия для безопасности.