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.
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.
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:
Type “New-Item –Path RDS: \RDSConfiguration\VirtualIPSettings\Applications” and then press ENTER. Enter the path of the application.
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:
a. Using AppPath:
b. Using AppName:
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.
To change the mode to per-session, type “Set-Item VirtualIPMode 0” and then press ENTER. Reboot the server to complete the configuration.
To disable RD IP Virtualization, type “Set-Item VirtualIPActive 0” and then press ENTER.
On Per Session Mode
How do we monitor the IP Address assigned to the RDP Sessions.
On the Client when checked using ipconfig and browser based IP check. All Returned the Host IP Address.
On the Host Using Remote Desktop Service Manager It showed the Client IP Address
Is there anyway we can see the assigned IP Address for a Session or For a Program.
Thanks in Advance
Hi Anbu- you should be able to see 2 IP addresses when running ipconfig from your session - one of the host and one for the session if it's been configured correctly. Can you double check that you've enabled IP Virt properly (configured the network adapter you must use, etc)?
Is there any way to reserve addresses on a per-user basis so that that individual users receive the same address for IP virtualization for each session session they start? Such a thing would be useful for monitoring purposes.
I'm afraid that that functionality isn't supported in WS08 R2. For your purposes, would it be sufficient to be able to determine which user was using a particular IP address at a given time? Or is there a scenario that demands a static mapping?
He could however use Microsoft VDI functionality of 2008 R2 RDS to staticly assign users of this application to a virtual desktop with a static IP.
It's a scenario that requires static mapping such that each user is consistently assigned their own, specific IP address (on a multi-homed system) regardless of number of sessions, session connects/disconnects, etc. By doing this, in theory, we'd be able to monitor their network usage entirely by IP address which would greatly simplify the process.
Has anyone tried using GetHostByName programmatically to retrieve the virtual IP of a Remote session? It seems like it always return the machine physical IP even though in a command prompt, doing Ipconfig shows both the machine IP and the virtual session IP.
when 4 rdp users are logged in, ipconfig only shows the 1 adapter ip(.177) and 2 virtual ips.
this is the order they were logged in, their group, and what ipconfig showed at each point
test1(rdp users) - .177, .139
test2(rdp users) - .177, .139
testadmin1(administrators) - .177, .139, .101
testadmin2(administrators) - .177, .139, .101
I'm assuming that when each user logs in a new deprecated ip should be created, right?
maybe this has something to do with the rdp licensing?
right now we don't have 2008 rdp licensing because we are trying to determine proof of concept.
so with the grace period, it allows more than 2 rdp sessions, but maybe ip virtualization ignores that?