Windows Server 2012 R2: IP-виртуализация удаленных рабочих столов

Windows Server 2012 R2: IP-виртуализация удаленных рабочих столов

Статья посвящена настройке IP-виртуализации удаленного рабочего стола (RDS IP Virtualization) с использованием PowerShell и поставщика инструментария управления Windows (WMI) служб удаленных рабочих столов в Windows Server 2012 R2. Данная процедура не представляла особенных трудностей в Windows Server 2008 R2. Через оснастку Remote Desktop Session Host Configuration достаточно было сделать несколько настроек, в одном окне, чтобы начать пользоваться функциями этой компоненты.  На TechNet представлено Пошаговое руководство по развертыванию IP-виртуализации удаленных рабочих столов, в котором достаточно подробно описаны основные моменты настройки.



Но, начиная с Windows Server 2012, и далее в Windows Server 2012 R2 этот инструмент настройки отсутствует. В интерфейсе Windows Server 2012/2012 R2 полностью отсутстует упоминание о существовании данного функционала. Правда, есть возможность выполнения настройки с помощью групповой политики.



Принимая во внимание то, что в некоторых случаях настройка IP-виртуализации удаленного рабочего стола посредством групповой политики бывает неудобной и неоправданной, в данной заметке будет рассмотрен сценарий настройки с помощью PowerShell и WMI. 

И так, приступим.

       Get-WmiObject -Namespace root\cimv2\TerminalServices –query "select * from Win32_TSVirtualIP"

С помощью этой команды выясним текущие настройки IP-виртуализации удаленного рабочего стола в Windows Server 2012 R2. Впрочем, все команды, которые будут использованы в этой статье, применимы в Windows Server 2008 R2 и Windows Server 2012. На MSDN можно ознакомиться с описанием класса Win32_TSVirtualIP и его методов.

  

В выводе команды достаточно большое количество параметров, но в данном случае будут рассмотрены основные, которые позволят включить IP-виртуализацию удаленного рабочего стола на узле. Их использование в командах для изменения определенных настроек. 

Главный параметр, который позволяет включить/выключить IP-виртуализацию - VirtualIPActive. Соответственно: значение 0 - выключено, если значение 1 - включено). По умолчанию значение этого параметра равно 0.
 
Примеры команд:

1.      wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSVirtualIP where VirtualIPActive=0 CALL SetVirtualIPActive 1

2.      $obj = gwmi -Namespace "Root/CIMV2/TerminalServices" Win32_TSVirtualIP
         $obj.SetVirtualIPActive(1)

Второй по значению параметр, который определяет в каком режиме будет работать IP-виртуализация - VirtualIPMode. Их два: для сессий и для программ. Соответственно: значение 0 - режим "Per Session", если значение 1 - режим "Per Program". По умолчанию значение этого параметра равно 1

Примеры команд:

1.      wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSVirtualIP where VirtualIPMode=0 CALL SetVirtualIPMode 1

2.      $obj = gwmi -Namespace "Root/CIMV2/TerminalServices" Win32_TSVirtualIP
         $obj.SetVirtualIPMode(1)

Далее, параметр - NetworkAdapterMacAddress. В параметр должен быть записан MAC-адрес сетевого интерфейса.  Только один сетевой интерфейс может быть использован.

RDS IP Virtualization: Set the MAC Address - пример простого командлета, которой позволяет выполнить эту операцию. Выглядит это так:




Параметр - ProgramList, в который добавляются программы, если используется режим "Per Program" . AddProgram и RemoveProgram - названия этих методов говорят сами за себя, с помощью них параметр изменяется.  Ниже показаны примеры добавления и удаления программ из списка, при использовании соответствующих командлетов.
   
RDS IP Virtualization: Add Program - добавляет программу в список.



RDS IP Virtualization: Remove Program - удаляет программу в списка.



Немного о том, как работает DHCP-сервер предоставляя IP-адреса серверу, на котором включена функция IP-виртуализации удаленных рабочих столов.
 


Помимо основного IP-адреса, которой получает сервер, на DHCP-сервере дополнительно резервируются еще два IP-адреса. После того, как пользователь попадает на сервер, ему выделяется первый адрес из этих двух, а DHCP-сервер резервирует следующий. Таким образом, за сервером, на котором включена IP-виртуализация всегда закреплены два дополнительных адреса. 

Окончательный результат выглядит следующим образом.



Основная задача решена. 
Также см. RDS IP Virtualization in Windows Server 2012
Сортировать по: Дата публикации | Последние | Самый полезный
Комментарии
  • PS C:\scr> .\Set-MACAddress.ps1

    .\Set-MACAddress.ps1 : File C:\scr\Set-MACAddress.ps1 cannot be loaded. The file C:\scr\Set-MACAddress.ps1 is not digit

    ally signed. You cannot run this script on the current system. For more information about running scripts and setting e

    xecution policy, see about_Execution_Policies at go.microsoft.com/fwlink.

    At line:1 char:1

    + .\Set-MACAddress.ps1

    + ~~~~~~~~~~~~~~~~~~~~

       + CategoryInfo          : SecurityError: (:) [], PSSecurityException

       + FullyQualifiedErrorId : UnauthorizedAccess

    PS C:\scr>

    такая ошибка при выполнении скрипта под Domain Admins

  • На Вашей системе запрещено выполнение скриптов без цифровой подписи. Обычно это легко решается, тем более была подсказка - see about_Execution_Policies at go.microsoft.com/fwlink.

    Перед выполнение скрипта выполните командлет Set-ExecutionPolicy Unrestricted

Страница 1 из 1 (элементов: 2)