XML printer list configuration

Workspace Environment Management includes the ability to configure user printers via an XML printer list file.

After you have created an XML printer list file, create a printer action in the administration console with an Action Type option set to Use Device Mapping Printers File.

Note:

Only printers that do not require specific Windows credentials are supported.

XML printer list file structure

The XML file is encoded in UTF-8, and has the following basic XML structure:

<?xml version="1.0" encoding="UTF-8"?>

    <ArrayOfSerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    ...
    </ArrayOfSerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>

Every client and associated device is represented by an object of the following type:

SerializableKeyValuePair<string, List<VUEMUserAssignedPrinter>>>

Each device is represented like this:

    <SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>
        <Key>DEVICE1</Key>
        <Value>
            <VUEMUserAssignedPrinter>
               ...
            </VUEMUserAssignedPrinter>
        </Value>
    </SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>

Each block of devices must be matched to a specific client or computer name. The <Key> tag contains the relevant name. The <Value> tag contains a list of VUEMUserAssignedPrinter objects matching the printers assigned to the specified client.

    <?xml version="1.0" encoding="utf-8"?>

       <ArrayOfSerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>
            <Key>DEVICE1</Key>
            <Value>
                <VUEMUserAssignedPrinter>
             ...
                </VUEMUserAssignedPrinter>
            </Value>
        </SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>
       </ArrayOfSerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>

VUEMUserAssignedPrinter tag syntax

Each configured printer must be defined in a <VUEMUserAssignedPrinter> tag, using the following attributes:

<IdPrinter>. This is the Workspace Environment Management printer ID for the configured printer. Each printer must have a different ID. Note The XML Printer List action configured in the Workspace Environment Management Administration Console is also a printer action with its own ID which must be different from the ID of printers individually configured in the XML list.

<IdSite>. Contains the site ID for the relevant Workspace Environment Management site, which must match the ID of an existing site.

<State>. Specifies the state of the printer where 1 is active and 0 is disabled.

<ActionType>. Must always be 0.

<UseExtCredentials>. Must be 0. The use of specific Windows credentials is not currently supported.

<isDefault>. If 1, printer is the default Windows printer. If 0, it is not configured as default.

<IdFilterRule>. Must always be 1.

<RevisionId>. Must always be 1. If printer properties are subsequently modified, increment this value by 1 to notify the Agent Host and ensure the printer action is re-processed.

<Name>. This is the printer name as perceived by the Workspace Environment Management Agent Host. This field cannot be left blank.

<Description>. This is the printer description as perceived by the Workspace Environment Management Agent Host. This field can be blank.

<DisplayName>. This is unused and should be left blank.

<TargetPath>. This is the UNC path to the printer.

<ExtLogin>. Contains the name of the Windows account used when specifying Windows credentials for connection. [Currently unsupported. Leave this field blank.].

<ExtPassword>. Contains the password for the Windows account used when specifying Windows credentials for connection. [Currently unsupported. Leave this field blank.].

<Reserved01>. This contains advanced settings. Do not alter it in any way.

&gt;&lt;VUEMActionAdvancedOption&gt;&lt;Name&gt;SelfHealingEnabled&lt;/Name&gt;&lt;Value&gt;0&lt;/Value&gt;&lt;/VUEMActionAdvancedOption

To activate self-healing for a given printer object, simply copy and paste the above contents, changing the highlight 0 value to 1.

Example printer object

The following example assigns two active printers on the client or computer DEVICE1:

  • HP LaserJet 2200 Series on UNC path \\server.example.net\HP LaserJet 2200 Series (default printer)
  • Canon C5531i Series printer on UNC path \\server.example.net\Canon C5531i Series

It also assigns one active printer on the client or computer DEVICE2:

  • HP LaserJet 2200 Series on UNC path \\server.example.net\HP LaserJet 2200 Series
    <?xml version="1.0" encoding="utf-8"?>
      <ArrayOfSerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>
            <Key>DEVICE1</Key>
            <Value>
                <VUEMUserAssignedPrinter>
                    <IdPrinter>1</IdPrinter>
                    <IdSite>1</IdSite>
                    <State>1</State>
                    <ActionType>0</ActionType>
                    <UseExtCredentials>0</UseExtCredentials>
                    <isDefault>1</isDefault>
                    <IdFilterRule>1</IdFilterRule>
                    <RevisionId>1</RevisionId>
                    <Name>HP LaserJet 2200 Series</Name>
                    <Description />
                    <DisplayName />
                    <TargetPath>\\server.example.net\HP LaserJet 2200 Series</TargetPath>
                    <ExtLogin />
                    <ExtPassword />
                    <Reserved01>&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;ArrayOfVUEMActionAdvancedOption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;VUEMActionAdvancedOption&gt;&lt;Name&gt;SelfHealingEnabled&lt;/Name&gt;&lt;Value&gt;0&lt;/Value&gt;&lt;/VUEMActionAdvancedOption&gt;&lt;/ArrayOfVUEMActionAdvancedOption&gt;</Reserved01>
                </VUEMUserAssignedPrinter>
            </Value>
          <Value>
                <VUEMUserAssignedPrinter>
                    <IdPrinter>2</IdPrinter>
                    <IdSite>1</IdSite>
                    <State>1</State>
                    <ActionType>0</ActionType>
                    <UseExtCredentials>0</UseExtCredentials>
                    <isDefault>0</isDefault>
                    <IdFilterRule>1</IdFilterRule>
                    <RevisionId>1</RevisionId>
                    <Name>Canon C5531i Series</Name>
                    <Description />
                    <DisplayName />
                    <TargetPath>\\server.example.net\Canon C5531i Series</TargetPath>
                    <ExtLogin />
                    <ExtPassword />
                    <Reserved01>&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;ArrayOfVUEMActionAdvancedOption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;VUEMActionAdvancedOption&gt;&lt;Name&gt;SelfHealingEnabled&lt;/Name&gt;&lt;Value&gt;0&lt;/Value&gt;&lt;/VUEMActionAdvancedOption&gt;&lt;/ArrayOfVUEMActionAdvancedOption&gt;</Reserved01>
                </VUEMUserAssignedPrinter>
            </Value></SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>
          <SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>
            <Key>DEVICE2</Key>
            <Value>
                <VUEMUserAssignedPrinter>
                    <IdPrinter>1</IdPrinter>
                    <IdSite>1</IdSite>
                    <State>1</State>
                    <ActionType>0</ActionType>
                    <UseExtCredentials>0</UseExtCredentials>
                    <isDefault>0</isDefault>
                    <IdFilterRule>1</IdFilterRule>
                    <RevisionId>1</RevisionId>
                    <Name>HP LaserJet 2200 Series</Name>
                    <Description />
                    <DisplayName />
                    <TargetPath>\\server.example.net\HP LaserJet 2200 Series</TargetPath>
                    <ExtLogin />
                    <ExtPassword />
                    <Reserved01>&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;ArrayOfVUEMActionAdvancedOption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;VUEMActionAdvancedOption&gt;&lt;Name&gt;SelfHealingEnabled&lt;/Name&gt;&lt;Value&gt;0&lt;/Value&gt;&lt;/VUEMActionAdvancedOption&gt;&lt;/ArrayOfVUEMActionAdvancedOption&gt;</Reserved01>
                </VUEMUserAssignedPrinter>
            </Value></SerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>
       </ArrayOfSerializableKeyValuePairOfStringListOfVUEMUserAssignedPrinter>