Этот вопрос с самостоятельным ответом, посвященный Windows [1], касается следующих аспектов:
Теперь, когда существует две версии PowerShell - устаревшая, только для Windows Windows PowerShell и перекрестная -платформа PowerShell Core, оба могут быть установлены на данном компьютере с Windows:
Как узнать, какая версия PowerShell будет выполнять удаленные команды, например через
Invoke-Command -ComputerName
?Как с помощью конфигурации настроить таргетинг на конкретную версию, как ad hoc, так и постоянно?
Примечание:
Чтобы выпуск можно было настраивать с помощью удаленного взаимодействия на данном компьютере, он должен быть настроить для удаленного взаимодействия:
Только Windows PowerShell автоматически настраивается для удаленного взаимодействия, но только на серверах под управлением Windows Server 2012 или новее.
Начиная с версии 7, PowerShell Core еще не поставляется с Windows; если вы используете официальный установщик, вам предоставляется возможность включить удаленное взаимодействие во время установки.
В любом случае вы можете использовать _ 2_, чтобы (повторно) включить удаленное взаимодействие PowerShell по запросу, что:
должен быть запущен из соответствующей редакции.
должен запускаться с правами администратора
[1] То есть вопрос касается удаленного взаимодействия на основе WinRM (WinRM - это Windows- конкретная реализация DTMF (стандарт WSMan (WS-Management)).
Что касается кроссплатформенного удаленного взаимодействия с PowerShell Core:
Вы уже можете использовать Удаленное взаимодействие на основе SSH на всех платформах:
Использование удаленного взаимодействия на основе SSH включает в себя в основном те же командлеты, что и удаленное взаимодействие на основе WinRM, хотя задействованные параметры различаются; в частности, вы указываете целевой компьютер (-ы) с помощью параметра
-HostName
, а не параметра-ComputerName
.Ограничения (начиная с версии 7): «Удаленное взаимодействие на основе SSH в настоящее время не поддерживает конфигурацию удаленной конечной точки и достаточно администрирования (JEA)».
Для удаленного взаимодействия между Unix и Windows (Unix относится к Unix-подобным платформам, таким как macOS и Linux), то есть удаленное взаимодействие в Windows с Unix-подобной машины - в качестве альтернативы вы можете использовать удаленное взаимодействие на основе WinRM с дополнительной конфигурацией:
На машине с Windows:
- SSL connections must be enabled by configuring WinRM for HTTPS.
- Учетные записи пользователей, которые будут использоваться на Unix-подобных машинах, должны быть определены как локальные учетные записи пользователей в локальной группе администраторов - учетные записи домена работать не будут.
Unix-подобные машины должны использовать командлеты удаленного взаимодействия с параметрами
-Authentication Basic -UseSsl
.
Реализация на основе WSMan для Unix разрабатывается в репозитории psl-omi-provider, который уже позволяет машинам Linux выступать в качестве целей удаленного взаимодействия (то есть компонент server уже можно использовать - мне не ясно, также может быть установлен на macOS); однако на момент написания этой статьи клиентский компонент еще не был готов к производству.
Как только клиентский компонент станет доступен, станет возможным равномерное межплатформенное удаленное взаимодействие на основе WSMan, как между Unix-подобными машинами (Linux, macOS ) и между Unix-подобными машинами и машинами Windows.