Совместимость Powershell 4 с Windows 2008 r2

В моей среде у меня есть один сервер, который имеет доступ почти ко всей моей сети. Этот сервер работает под управлением Windows 2008 r2, и я обновил Powershell до версии 4.0. Вопрос, который у меня возникает, заключается в следующем... Могу ли я запускать командлеты с этого компьютера на других компьютерах, которые имеют версию 4?

Например, когда я использую Powershell, даже если это версия 4, он не дает мне автозаполнение intellisense для "Get-Volume", как это было бы на машине 2012 года r2. Я понимаю, что он не будет работать на этой машине, потому что инфраструктура этого не позволяет, но как насчет машины 2012 r2 удаленно?

Я ищу запускать пакетные сценарии оттуда для различных целей.

2 ответа

Решение

Во-первых, это, вероятно, вопрос ServerFault, поскольку он связан с администрированием сервера.

PowerShell 4.0, установленный в 2008 R2, не может запускать командлеты 2012 на машине 2012 R2, например Get-Volume -ComputerName My2012Server потому что командлеты не существуют на вашем компьютере 2008 R2. Однако вы должны иметь возможность вызывать командлет на 2012 R2-сервере, например:

Invoke-Command -ComputerName My2012Server -Scriptblock { Get-Volume }

Имейте в виду, что вы не получите поддержку автозаполнения при записи, поскольку команды и файлы справки не установлены на вашем 2008 R2-сервере

Import-PSSession Также возможно, если вы собираетесь запускать команды в интерактивном режиме. Для сценария я бы все еще использовал Invoke-Command,

Get-Volume в вашем примере доступен только на Windows Server 2012 и выше. Таким образом, он не будет автоматически завершен в системе 2008 R2. Вы можете использовать удаленное взаимодействие с PowerShell.

Используя удаленное взаимодействие, вы можете импортировать все командлеты из удаленной системы в локальный сеанс и использовать их так, как если бы они были доступны в локальной системе.

Другие вопросы по тегам