Part III: using Remote Desktop Services Provider for Windows PowerShell™
Part I of this blog post series describes what Remote Desktop IP Virtualization is all about, illustrates the scenarios where it can add value, lists the requirements for configuring a server in Remote Desktop IP Virtualization mode and details the steps involved in configuring per-program and per-session Remote Desktop IP Virtualization using Remote Desktop Services provider for Windows PowerShell.
Part II of this blog post series describes configuring RD IP Virtualization automatically on managed computers by using Group Policy objects.
This post explains how to do all this using the RDS Provider for Windows PowerShell.
- On the RD Session Host server, start “Windows PowerShell Modules” with elevated privileges. Click Start, select Administrative Tools, right-click “Windows PowerShell Modules,” and then click “Run as administrator.”
- Type “cd RDS:” and press ENTER to switch to the RDS Provider for Windows PowerShell. Type “cd RDSConfiguration\VirtualIPSettings” and press ENTER. Type “Dir” and press ENTER to see the configuration settings required to set the RD Session Host Server in Remote Desktop IP Virtualization mode.
- Remote Desktop IP Virtualization is disabled by default. To enable Remote Desktop IP Virtualization, type “Set-Item VirtualIPActive 1” and press ENTER.
- To select a network adapter to be used for Remote Desktop IP Virtualization:
a. If the MAC address of the network adapter is already known, provide the value directly to set-item by typing “set-item .\NetworkAdapter 00-15-17-0E-7A-43”, where “00-15-17-0E-7A-43” is the MAC address of the network adapter and Press ENTER.
b. Alternatively, to get the MAC address of the network adapter, type “$NetworkAdapter=Get-WmiObject -namespace root\cimv2\terminalservices –query "select * from win32_tsvirtualip"” and then press ENTER.
Now select the MAC Address of the appropriate network adapter to be used for IP Virtualization by accessing the $NetworkAdapter.NetworkAdapterMacList array. In the above example, if “Intel(R) PRO/1000 PT desktop Adapter” is to be used for IP virtualization, Type “set-item .\NetworkAdapter $NetworkAdapter.NetworkAdapterMacList -passthru” and then press ENTER.
Note: Only single network adapter scenarios are currently supported. If the server has multiple enabled network adapters, only the adapter selected in the settings will be used for Remote Desktop IP Virtualization.
Configuring IP Virtualization in Per Program Mode
By default, when Remote Desktop IP Virtualization is enabled, the server is configured on per-program mode (the value of VirtualIPMode being 1).
Note: This mode is of no practical significance if no programs are selected that use virtual IP addresses.
To choose applications that need a virtual IP address, create entries under the RDS: \RDSConfiguration\VirtualIPSettings\Applications node. An application can be virtualized by using either:
- The full path of the application: Only the application at the specified location is IP-virtualized
- The process name: All applications with the process name, regardless of their path, are IP-virtualized.
You can assign Virtual IPs to an application directly by using either the AppPath or AppName parameters directly as shown in the screen snapshots below:
Note: To remove a program from the list, say notepad.exe, type “Remove-Item –Path RDS:\RDSConfiguration\VirtualIPSettings\Applications\notepad.exe –Recurse” and then press ENTER.
The final step is to reboot the RDSH server so that new user sessions logging on will get virtual IP addresses for their virtualized applications.
Configuring IP Virtualization in Per Session Mode
To disable RD IP Virtualization, type “Set-Item VirtualIPActive 0” and then press ENTER.