How to migrate RAS Remote PC to Remote PC Host pool

0 users found this article helpful

This article is describing how to migrate a standalone Remote PC (RPC) to a Remote PC Pool (RPC Provider) withing the Parallels Remote Application Server (RAS).


The resources can be published from a standalone Remote PC running a supported version of Windows. The RPC can be a physical box or a virtual machine treated as a physical PC, but typically they are physical computers.

This approach treats every RPC as a separate target to publish resources, thus the following specifics to be considered:

1. For every standalone RPC need to publish a separate item (desktop, application etc.)

2. These items could have a unique configuration, including starting parameters, filtering etc.

3. RAS Remote PC agent which is running on this RPC has limited features comparing with other host agents, like RDSH and Guest VM.  For example, the session details and a possibility to manage them.

4. There is no way to logically group these machines, as well as to assign some RPC to the particular user. Rather, this could be only filtered as item, available or not, based on the filtering rules

On the other hand, RAS gives you a possibility to publish those physical and/or virtual machines in another way. VDI Remote PC host pools is a RAS feature that allows you to create pools of standalone (preferably domain-joined) PCs and optionally assign them to specific users. The Remote PC pools functionality is integrated into RAS VDI to take advantage of the infrastructure that already handles host pools.

These are main features of this approach:

1. RAS Guest agent is being used, which provides session details and possibility to manage them

2. Provider RPC are grouped into a Host pool, so now it's possibly to logically separate a set of PCs one from another

3. Published items are now targeting to a Host pool, a single item which has the Host pool as a payload

4. Host Pool is easily scalable by adding/removing Provider RPCs, the single published item remains untouched in this case

5. There is a possibility to either assign an RPC to a user/device, or keep it random assignment. Note: a scenario of using the same RPC by multiple users should be implemented via random assignment, unassigning it upon some action (logoff) or manually.

6. There is a possibility to have a hybrid Host pool: physical PCs and virtual PCs, managed by RAS Provider with connection to a hypervisor

Parallels recommends to use Provider Remote PC approach as a way to manage on-premise machines in a more efficient way, reducing administration hassle and enabling an additional set of available features available in RAS.

As for the Virtual machines, a connection to Provider (Hypervisor or Cloud) is a recommended way, which enables power management, host lifecycle management and enhanced communication mechanisms.


Standalone Remote PCs

VDI Remote PC


1. A RAS Farm has a standalone Remote PC configured, and a resource published from it

2. The standalone Remote PC is located in the same subnet, as RAS Connection broker. Otherwise, a registry key should be added as per this KB ,

3. Firewall rules for RAS Connection broker/Provider service and RAS Guest agent are configured as per KB

4. A RAS Remote PC provider capability is already embedded in the RAS CB, only minor configuration required as per this KB.

5. If a PowerShell method will be used, RAS PowerShell module should be installed and configured to work with RAS Connection broker.


Using RAS Console

1. Go to RAS Console > Publishing > locate a RPC published item of the RPC being migrated and Delete it

2. Go to RAS Console > Farm > Remote PCs and select a RPC which is being migrated. Open its Tools > Remote Desktop (<right-click> or Tasks)

3. In this RPC, open Apps & Features and, find Parallels RAS agent and choose Modify

4. In the Parallels RAS Agent setup wizard > Next > Change disable PC Agent and enable Guest Agent. Once the installation change finished, restart the RPC.

5. Go to RAS Console > Farm > Providers. Select a Remote PC provider and associate the RPC with the provider.

6. Go to RAS Console > Farm > VDI > Host Pools. Create a Host Pool and put the RPC in it

Note: in this farm, Hyper-V provider is configured together with Remote PC provider. Thus, it's possible to have a hybrid host pool which contains physical and virtual machines, providing a unified approach to publishing items from the PCs regardless of its platform

7. Go to and confirm that the RPC appeared as a Host and in OK state.

Tip: if the status is Not verified, please confirm Firewall requirement and subnet/registry key as per Prerequisites > Step 2 and 3

8. Go to RAS Console > Publishing > Add and publish an item from the Host pool which was just created. Choose Virtual Desktop as a type.

Note: Leave "Enable static assignment to host" check if you want that RPCs will be assigned to the user. Otherwise, this option unchecked, it will be random assignment for single session

9. Optionally configure Filtering tab as per your requirement. Also, it's possible to pre-assign a RPC to a user/device, or it will be randomly assigned as the users will utilize the item

Using PowerShell

1. Locate the items published from standalone Remote PC

$rpcitem=Get-RASPubItem | where {$_.Type -eq "PCDesktop"}

2. Save the filtering rule value, it will be used in the future for assigning a VDI Remote PC

$ruleaccount= Get-RASCriteriaSecurityPrincipal -Id "$rpcitemid" -RuleId 1 -ObjType PubItem

3. Remove the item published from a standalone Remote PC

Remove-RASPubItem -Id $rpcitemid

4. On the remote PC, change the RAS Agent installation from RAS Remote PC to RAS Guest Agent. After the second command, the machine will be rebooted (recommended)

msiexec /x RASAgentsInstaller-*.msi ADDLOCAL=F_PCAgent /qn /norestart
msiexec /i RASInstaller-*.msi ADDLOCAL=F_GuestAgent /qn

5. Prepare a .csv file which contains all Remote PCs to migrate

7. Import a list of Remote PCs into a Remote PC provider (static,should be pre-created)

 $providerid = Get-RASProvider | where {$_.Version -eq 'RemotePCStatic'}
 Invoke-RASImportProviderRemotePCStatic -Id $providerid.Id -FilePath "C:\RPCList.csv"
 Get-RASProviderRemotePCStatic -id $providerid.Id

8. Add a new Host pool "RPC Pool" for VDI Remote PC

New-RASVDIPool -Name 'RPC Pool' -Enabled $true -ProvisioningType Standalone

9. Add the VDI Remote PCs to the newly created Host Pool

$vmid = Get-RASProviderRemotePCStatic -id $providerid.Id
Add-RASVDIPoolMember -Name $vmid.Name -VMId $vmid.Id -ProviderId $providerid.Id -VDIPoolName 'RPC Pool' -Type Guest

10. Publish an item from the newly added Host Pool

$poolid = Get-RASVDIPool | where {$_.Name -eq 'RPC Pool'} 
New-RASPubVDIDesktop -Persistent $true -VDIPoolId $poolid.Id -Name 'VDI RPC Desktop'

11. If required, restore a user assignment to the Host (Remote PC) using values from step 2

Set-RASVDIPersistentDesktop -VDIDesktopId $vmid.Id -SID $ruleaccount.Sid -ProviderId $providerid.Id


RAS PowerShell Guide


Once the migration is completed, a standalone Remote PC with a published item is added as a Host in a Host Pool enabled by Remote PC provider with a published item


Was this article helpful?

Tell us how we can improve it.