Administrators can configure the client system to specify which USB devices can be redirected to a remote desktop.
You can configure USB policies for both View Agent or Horizon Agent, on the remote desktop, and Horizon Client, on the local system, to achieve the following goals:
- Restrict the types of USB devices that Horizon Client makes available for redirection.
- Make View Agent or Horizon Agent prevent certain USB devices from being forwarded from a client computer.
- Specify whether Horizon Client should split composite USB devices into separate components for redirection.
Composite USB devices consist of a combination of two or more devices, such as a video input device and a storage device.
Configuration settings on the client might be merged with or overridden by corresponding policies set for View Agent or Horizon Agent on the remote desktop. For information about how USB settings on the client work in conjunction with View Agent or Horizon Agent USB policies, see the topics about using policies to control USB redirection, in the Setting Up Desktop and Application Pools in View document.
Syntax for Configuring USB Redirection
You can configure filtering and splitting rules to exclude or include USB devices from being redirected to a remote desktop. On a Mac OS X client, you configure USB functionality by using Terminal (/Applications/Utilities/Terminal.app) and running a command as root.
- To list the rules:
# sudo defaults read domain
# sudo defaults read com.vmware.viewusb
- To remove a rule:
# sudo defaults delete domain property
# sudo defaults delete com.vmware.viewusb ExcludeVidPid
- To set or replace a filter rule:
# sudo defaults write domain property value
# sudo defaults write com.vmware.viewusb ExcludeVidPid vid-1234_pid-5678Important: Some configuration parameters require the VID (vendor ID) and PID (product ID) for a USB device. To find the VID and PID, you can search on the Internet for the product name combined with vid and pid. Alternatively, you can look in the USB Log file after you plug in the USB device to the local system when Horizon Client is running. For more information, see Turn on Logging for USB Redirection.
- To set or replace a splitting rule for a composite device:
# sudo defaults write domain property value
# sudo defaults write com.vmware.viewusb AllowAutoDeviceSplitting true # sudo defaults write com.vmware.viewusb SplitExcludeVidPid vid-03f0_Pid-2a12 # sudo defaults write com.vmware.viewusb SplitVidPid "'vid-0911_Pid-149a(exintf:03)'" # sudo defaults write com.vmware.viewusb IncludeVidPid vid-0911_Pid-149a
Composite USB devices consist of a combination of two or more devices, such as a video input device and a storage device. The first line in this example turns on automatic splitting of composite devices. The second line excludes the specified composite USB device (Vid-03f0_Pid-2a12) from splitting.
The third line tells Horizon Client to treat the components of a different composite device (Vid-0911_Pid-149a) as separate devices but to exclude the following component from being redirected: the component whose interface number is 03. This component is kept local.
Because this composite device includes a component that is ordinarily excluded by default, such as a mouse or keyboard, the fourth line is necessary so that the other components of the composite device Vid-0911_Pid-149a can be redirected to the remote desktop.
The first three properties are splitting properties. The last property is a filtering property. Filtering properties are processed before splitting properties.
Excluding a USB Ethernet Device
One example of a USB device you might want to exclude from redirection is a USB Ethernet device. Suppose that your Mac is using a USB Ethernet device to connect the network for the Mac client system to a remote desktop. If you redirect the USB Ethernet device, your local client system will lose its connection to the network and the remote desktop.
If you want to permanently hide this device from the USB connection menu, or if you have set your remote desktop to autoconnect USB devices, you can add an exception to exclude your Ethernet connection.
sudo defaults write com.vmware.viewusb ExcludeVidPid vid-xxxx_pid-yyyy
In this example, xxxx is the vendor ID and yyyy is the product ID of the USB Ethernet adapter.