First published on CloudBlogs on Dec, 22 2010
This blog post describes the new Remote Desktop Services Windows PowerShell cmdlets, introduced in the Windows Server 2008 R2 SP1 timeframe, that configure virtual display adapters for virtual machines on a
RemoteFX
-enabled RD Virtualization Host server.
For a given Virtual Desktop Infrastructure (VDI) host to be able to support many users and target the full range of possible client devices, each interacting with rich content, rendering needs to be performed by the GPU (graphics processing unit, sometimes referred to as a “graphics adapter”) on the server. RemoteFX uses a technology to share (virtualize) a single GPU between multiple virtual machines (VMs). It takes advantage of virtual GPUs on the host and advanced codecs to enable multi-user support for full-fidelity video, Silverlight, and 3D applications. More info about this can be found
here
.
The
Remote Desktop Services Provider for Windows PowerShell
provides the administrator with four new cmdlets that he or she can utilize to configure (add/remove/modify) the vGPU (synthetic 3D adapter) for one or more virtual machines on a RemoteFX-enabled RD Virtualization Host server. These Windows PowerShell cmdlets are briefly explained below. Note that these cmdlets can only be executed from an elevated Windows PowerShell command window (from any directory path) and the RemoteDesktopServices module needs to be loaded (‘
import-module remotedesktopservices
’) before executing any of these. Also, the VM needs to be shut down before adding a vGPU, removing a vGPU, or setting a vGPU configuration.
ADD-VGPU
-
Purpose:
Adds a virtual display adapter to one or more virtual machines
-
Usage:
Add-VGPU [-VirtualMachine] <VMName> [-Confirm] [-ShutDownVM]
-
Sample Usage:
This cmdlet adds a virtual display adapter to the virtual machine 'uservm1' and shuts down the virtual machine if it is running.
-
Add-VGPU uservm1 –shutdownVM
-
To get more information about this cmdlet, type:
get-help Add-VGPU -detailed
REMOVE-VGPU
-
Purpose:
Removes a virtual display adapter from one or more virtual machines
-
Usage:
Remove-VGPU [-VirtualMachine] <VMName> [-Confirm] [-ShutDownVM]
-
Sample Usage:
This cmdlet removes virtual display adapters from all virtual machines on this host computer and shuts down any virtual machines that are running. Also displays status messages during this operation.
-
Remove-VGPU -VirtualMachine * -shutdownVM –verbose
-
· To get more information about this cmdlet, type:
get-help Remove-VGPU -detailed
SET-VGPUCONFIGURATION
-
Purpose:
Configures (MaxMonitors or MaxResolution) the virtual display adapter for one or more virtual machines, if the virtual display adapter is already added
-
Usage:
Set-VGPUConfiguration [-VirtualMachine] <VMName> -MaxMonitors <NumMonitors> -MaxResolution <Resolution> [-Confirm] [-ShutDownVM]
-
NumMonitors
represents the number of monitors that you want the virtual display adapter to support. It can be 1, 2, 3 or 4.
-
Resolution
represents the maximum screen resolution that you want the virtual display adapter to support. It can be '1024*768', '1280*1024', '1600*1200', or '1920*1200'.
-
Sample Usage:
This cmdlet sets the maximum screen resolution to 1,920 by 1,200 pixels for virtual machine 'VM1'. It shuts down the virtual machine if it is running.
-
set-VGPUConfiguration -VirtualMachine VM1 -MaxResolution 1920*1200 –ShutDownVM
-
To get more information about this cmdlet, type:
get-help Set-VGPUConfiguration -detailed
GET-VGPUCONFIGURATION
-
Purpose:
Retrieves the configuration (MaxMonitors and MaxResolution) of the virtual display adapter on one or more virtual machines, if the virtual display adapter is already added
-
Usage:
Get-VGPUConfiguration [-VirtualMachine] <VMName>
-
Sample Usage:
This cmdlet gets the virtual display adapter configuration for all virtual machines on this host computer.
-
get-VGPUConfiguration -VirtualMachine *
-
To get more information about this cmdlet, type:
get-help Get-VGPUConfiguration -detailed