Возможный дубликат:
Какие бывают популярные (бесплатные?) Варианты развертывания приложений?
У меня в офисе около 20-30 клиентов Windows. Мне нужно получить программный доступ к каждому из них и установить на них какое-то программное обеспечение.
Какой самый простой способ добиться чего-то подобного без использования готового программного обеспечения, а просто с помощью кода?
В Linux я бы использовал scp
для передачи исполняемого файла и подключения через ssh для запуска этого исполняемого файла (я даже не уверен, что это правильный способ сделать это в Linux).
Очень часто используемый и чрезвычайно полезный инструмент - это psexec, что позволит вам выполнять команды на удаленных компьютерах, копируя файл на целевую машину при необходимости. Вы также найдете остальные pstools под рукой.
Просто предупреждаем - большинство антивирусных программ возражают против psexec, поэтому вам нужно установить для него исключение.
psexec от Sysinternals / Microsoft позволит вам выполнить команду на удаленном сервере. Вы можете загрузить файл на каждую машину, используя стандартные сетевые диски.
Если это файл MSI, вы можете запустить его через политики GPO в системе Active Directory.
Другой альтернативой является получение программного обеспечения для создания сценариев, которое запускается программно, поэтому вы должны поместить программу установки в общую папку, а затем перейти на каждую машину и запустить файл сценария для выполнения всего, что-то вроде AutoIT (бесплатно).
Мы изучили методы автоматической установки и не нашли ничего, что было бы на 100% надежным с любой формой установщика. Иногда мы находим что-то, что близко к работе, но ломается в довольно неудобное время, в других случаях мы находим установщик, который ничего не делает с найденным нами методом автоматизации. Это также зависит от того, насколько однородна ваша среда, потому что иногда у вас может быть конфигурация, которая выдает ошибку или необычное диалоговое окно, которое вы не тестировали, и автоматизация, похоже, не нравится.
Какой бы метод вы ни выбрали, убедитесь, что вы его протестировали и еще раз протестировали, прежде чем настраивать и забывать о нем, думая, что он просто сработает.
Если ваши машины находятся в домене, вы можете использовать групповые политики для развертывания на них программного обеспечения, может быть, вам это подойдет?
Вы также можете использовать PowerShell для удаленного управления этими полями. Используя PowerShell, вы можете выполнять ряд задач, в том числе управлять на них программным обеспечением.
В зависимости от версии Windows на них может уже быть установлен PowerShell. NT6 и выше уже установлены, их просто нужно настроить ... что вы можете легко сделать с помощью объектов групповой политики. Если они клиенты Windows XP (извините!), Вам нужно будет установить эти биты.
В основном вам нужно настроить PowerShell, открыть брандмауэры на этих клиентах, а затем вперед. PowerShell использует протокол WS-Management (открытые стандарты - это хорошо).