Во всех статьях обсуждаются постановка, упаковка и множество аспектов инфраструктуры.
Можно ли просто запустить скрипты локально или (желательно!) На удаленном сервере?
Например. без инфраструктуры, например, теперь я могу запускать команды ssh?
Да, то, что вы ищете, - это режим «Push». Вместо того, чтобы настраивать опрашивающий сервер и использовать GUID для именования файлов, вы просто запускаете Start-DscConfiguration
против локальной машины или удаленной машины.
Вам по-прежнему необходимо установить Windows Management Framework 4, а целевой узел должен разрешать входящие соединения WinRM, даже если целевой является локальным узлом.
Это не совсем сравнимо с использованием SSH, потому что как только вы примените конфигурацию, она будет применена повторно автоматически. При установке Windows PowerShell Desired State Configuration Service
Функция, он автоматически устанавливает LCM в режим извлечения. Чтобы увидеть это, запустите Get-DscLocalConfigurationManager
. Вы также увидите настройки того, как часто конфигурация проверяется на наличие изменений (30 минут по умолчанию) и как часто текущая конфигурация применяется повторно (15 минут по умолчанию). После того, как вы действительно отправили конфигурацию, запланированная задача под названием Последовательность появится под Task Scheduler Library\Microsoft\Windows\Desired State Configuration
который на самом деле работает здесь.
Я также хочу уточнить, что вы не применяете напрямую сценарии конфигурации, которые пишете на Powershell. Независимо от того, отправляете ли вы конфиги или вытаскиваете их, вам все равно нужно сначала выполнить сценарий, чтобы «скомпилировать» его в файл MOF, и именно этот файл будет применяться.
Лучшим аналогом SSH является удаленное взаимодействие Powershell, которое позволяет запускать код на удаленном компьютере или использовать интерактивную подсказку на удаленном компьютере. Для этого на целевой машине необходимо включить удаленное взаимодействие Powershell. Для этого вы бы использовали Enter-PSSession
для интерактивной подсказки или используйте Invoke-Command
для запуска блока сценария на удаленной машине (ах).