Installation guide

Table Of Contents
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.
Challenges in PowerShell Scripting for WCI
When you develop custom collection scripts, understand the challenges that you might encounter while
scripting in PowerShell to collect the Windows Custom Information (WCI)data type from VCM managed
Windows machines.
PowerShell scripts can use the split method of PowerShell strings, which separates the columns of the rows
into separate values in arrays. For example, Windows provides the schtasks.exe utility to manage
scheduled tasks on a local or remote computer and report on the scheduled tasks.
vCenter Configuration Manager Administration Guide
98
VMware, Inc.