User`s guide

Table Of Contents
The WCI data type uses extensions to the VCM Windows Agent. The extensions allow the Agent to
invoke PowerShell scripts. Using the script-based collection filter, VCM passes the PowerShell scripts to a
VCM managed machine, and the VCM Agent parses the resulting XML output. The default WCI filter
returns the PowerShell version information from the managed machines.
WCIdata type extensions are flexible because they use filter parameters that the command line uses to
invoke the scripting engine. The WCI extensions use a COM class name to specify the parser required for
the Agent to parse the script output, and allow new types of parsers to be added at the Agent. This
approach extends the support of multiple scripting engines, languages, and output formats.
Guidelines in PowerShell Scripting for WCI
When you develop custom PowerShell scripts to collect the Windows Custom Information (WCI)data
type from VCM managed Windows machines, follow these guidelines.
n
Make XML element names unique at the same level.
For example, you can specify two child nodes that are not siblings.
n
Make attributes unique at the same level.
n
Use unique XMLelement names to generate valid VCM XML. The XML elements are code blocks that
include the element's start and end tags. The element can contain other elements, text, attributes, or a
combination of them.
n
Use repeatable identifiers to prevent false indications of changes at the Collector. If your element labels
(identifiers) are not the same for every collection of the same item, you will see false additions, changes,
and deletions in the VCM change log.
n
Confirm that the script returns valid XMLelement names and attribute names.
If the data to be returned is an element name or an attribute name that is not valid for XML, you can
encode the name using the [ToCMBase64String] function. A VCM Collector job, called the inserter, is
executed during each collection. The inserter recognizes the names that are encoded with this function
and decodes them in the raw insertion process.
The inserter parses the resulting XML file and inserts the data into a new raw database table named
VCM_Raw by default. The XML process transforms the raw data into data that appears in VCM.
The function is defined as follows.
function ToCMBase64String([string]$input_string)
{
return [string]("cmbase64-" +
[System.Convert]::ToBase64String([System.Text.Encoding]::UNICODE.GetBytes
($input_string))).replace("=","-")
}
n
Include a comment block and configurable parameter entries near the start of the script so that when
you clone a WCI collection filter you can see the parameters and set them when you edit the collection
filter. To view and edit the collection filters, click Administration and select Collection Filters > Filters.
n
Redirect any variable declarations in the script to out-null, along with any other tasks that generate
output that is not part of the XML result set. For example, you can use the following command.
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") > out-
null
n
Do not include any formatting, white space, carriage returns, or line feeds at the end of elements,
nodes, or attributes.
vCenter Configuration Manager Installation and Getting Started Guide
94 VMware, Inc.