PowerShell Direct в Hyper-V 2016 | Windows для системных администраторов

PowerShell Direct в Hyper-V 2016

PowerShell Direct -это новый функционал PowerShell в Windows Server 2016 и Windows 10, позволяющая  создать  прямую локальную PowerShell сессию с любой виртуальной машиной, запущенной на хосте Hyper-V, причем подключение идет не через сеть, а через внутреннюю шину VM bus. Таким образом, администратор  Hyper-V может осуществлять управление ВМ с помощью PowerShell даже на изолированной системе без виртуальных сетевых адаптеров.

Основные требования для использования Powershell Direct:

  • В качестве хостовой ОС Hyper-V может использоваться Windows Server 2016 или Windows 10
  • Гостевая ВМ должна быть запущена на том же хосте Hyper-V, с которого осуществляется подключение (т.е. подключение локальное)
  • Гостевая ОС виртуальной машины также должна быть Windows Server 2016 / Windows 10
  • На хосте Hyper-V консоль Powershell должна быть запущена из-под администратора
  • Для подключения к гостевой ОС виртуальной машине нужно будет указать имя пользователя и пароль учетной записи этой ВМ

Ранее администратор мог выполнять команды на виртуальной машине в Hyper-V только по сети с помощью  Invoke-Command или Enter-PSSession. В качестве параметра для подключения к удаленной ВМ нужно указывать ее сетевое имя (-ComputerName).

К примеру, получить список запущенных процессов на удаленном сервере можно так:
Invoke-Command -ComputerName WS16-Core -ScriptBlock {Get-Process}

Invoke-Command Или создать новую интерактивную PS сессию с удаленным сервером:
Enter-PSSession -ComputerName WS16-Core

Enter-PSSessionВ таком сценарии PS сессию нельзя было установить с ВМ, отключенной от виртуального коммутатора, находящейся в изолированной или защищенной файрволом системе. Все управление осуществляется только через графическую консоль Hyper-V.

виртуальная машина без подключения к сетиДля подключения к такой гостевой ВМ с помощью Powershell Direct используется не сетевое имя гостевой ОС, а имя или GUID  ВМ в среде Hyper-V. При подключении через Powershell Direct также можно использовать Enter-PSSession для создания интерактивного сеанса Powershell, либо Invoke-Command для запуска одной команды или скрипта.

  1. Получим список ВМ на хосте Hyper-V: Get-VM | Select Name
  2. Запустим интерактивную PowerShell сессию: Enter-PSSession -VMName "win10 Compact PSDirect" -Credential (Get-Credential)
  3. Для завершения сессии выполните: Exit-PSSession

сессия powershell direct Для запуска одной команды или скрипта воспользуемся Invoke-Command:

Invoke-Command -VMId <VMId> -FilePath C:\script\some_script.ps1

Например, если вам нужно скопировать некий файл на изолированную ВМ через Powershell Direct, воспользуйтесь таким сценарием.

Создадим новую сессию PSSession1:

$PSSession1 = New-PSSession -VMId <VMId>  -Credential (Get-Credential)

Скопируем файл на виртуальную машину:

Copy-Item -ToSession $PSSession1 -Path C:\win10.iso  -Destination  D:\ISO\

Скопируем файл с ВМ:

Copy-Item -FromSession $PSSession1 -Path C:\result_ data.txt -Destination C:\vm_data\

Как вы видите, использовать Powershell Direct довольно просто и удобно. Как и большинство других нововведений  в Windows Server 2016, Powershell Direct ориентирован в первую очередь на улучшение функционала системы с точки зрения сервисных / облачных провайдеров, предоставляющих  сервис виртуальных машин.

Еще записи по теме: PowerShell, Windows Server 2016
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.24MB/0.00107 sec