User`s guide
Table Of Contents
- VCM Installation and Getting Started Guide
- Updated Information
- About This Book
- Preparing for Installation
- Installing VCM
- Using Installation Manager
- Installing and Configuring the OS Provisioning Server and Components
- Installing the Operating System Provisioning Server
- Preparing Boot Images for Windows Provisioning
- Copy the VCM Certificate to the OS Provisioning Server for Linux Provisioning
- Importing Distributions into the OS Provisioning Server Repository
- Configuring the OS Provisioning Server Integration with the VCM Collector
- Maintaining Operating System Provisioning Servers
- Upgrading or Migrating vCenter Configuration Manager
- Upgrade and Migration Scenarios
- Prerequisites
- Back up Your Databases
- Back up Your Files
- Back up Your Certificates
- Software Supported by the VCM Collector
- Migration Process
- Prerequisites
- Foundation Checker Must Run Successfully
- Use the SQL Migration Helper Tool
- Migrate Only Your Database
- Replace your existing 32-Bit Environment with the Supported 64-bit Environment
- How to Recover Your Machine if the Migration is not Successful
- Migrate a 32-bit environment running VCM 5.3 or earlier to VCM 5.4
- Migrate a 64-bit environment running VCM 5.3 or earlier to VCM 5.4
- Migrate a split installation of VCM 5.3 or earlier to a single-server install...
- After You Migrate VCM
- Upgrade Process
- Upgrading Existing Windows Agents
- Upgrading Existing Remote Clients
- Upgrading Existing UNIX Agents
- Upgrading VCM for Virtualization
- Getting Started with VCM Components and Tools
- Getting Started with VCM
- Discover, License, and Install Windows Machines
- Verifying Available Domains
- Checking the Network Authority
- Assigning Network Authority Accounts
- Discovering Windows Machines
- Licensing Windows Machines
- Installing the VCM Windows Agent on your Windows Machines
- Performing an Initial Collection
- Exploring Windows Collection Results
- Getting Started Collecting Windows Custom Information
- Discover, License, and Install UNIX/Linux Machines
- Discover, License, and Install Mac OS X Machines
- Discover, License, and Collect Oracle Data from UNIX Machines
- Customize VCM for your Environment
- How to Set Up and Use VCM Auditing
- Discover, License, and Install Windows Machines
- Getting Started with VCM for Virtualization
- Getting Started with VCM Remote
- Getting Started with VCM Patching
- Getting Started with Operating System Provisioning
- Getting Started with Software Provisioning
- Getting Started with VCM Management Extensions for Assets
- Getting Started with VCM Service Desk Integration
- Getting Started with VCM for Active Directory
- Accessing Additional Compliance Content
- Installing and Getting Started with VCM Tools
- Maintaining VCM After Installation
- Troubleshooting Problems with VCM
- Index
The <schtasks> top-level name is an arbitrary name picked to distinguish the results of this script from
others. A couple of additional challenges must also be overcome with this data, related to column names
returned by the schtasks command, and the fact that the schtasks command does not include any
unique and repeatable identifier for specific task entries. Details about these challenges are described next.
The first challenge can be seen by looking at the column names returned by the schtasks command.
Even the basic schtasks command (no options) has a column name of Next Run Time. Since this column
name includes spaces, it cannot be used as-is as an attribute name in an XML document. Other column
names returned by the more verbose execution of schtasks have similar problems. To preserve these
column names in the form that they are returned from the schtasks command, but still allow for XML
handling, the names are encoded with the ToCMBase64String function:
function ToCMBase64String([string]$input_string)
{
return [string]("cmbase64-" +
[Sys-
tem.Co-
nvert]::ToBase64String([System.Text.Encoding]::UNICODE.GetBytes($input_
string))).replace("=","-")
}
This function uses Unicode base64 encoding, along with some character substitution (a dash instead of an
equal sign) to create an XML-legal form of any element or attribute name. The string is prefixed with
cmbase64- to indicate to the VCM inserter that the data will need to be decoded prior to loading it into
the VCM database. The end result is that rather than containing invalid data like this:
<Next Run Time>
12:32:00, 5/26/2010
</Next Run Time>
The XML will contain this:
<cmbase64-TgBlAHgAdAAgAFIAdQBuACAAVABpAG0AZQA->
12:32:00, 5/26/2010
</cmbase64-TgBlAHgAdAAgAFIAdQBuACAAVABpAG0AZQA->
The second problem is that the <schtasks> command does not include any unique and repeatable
identifier for specific task entries. For example, many test systems observed had more than one task with
the name: GoogleUpdateTaskMachineCore. Unique element names are a requirement for valid VCM
XML, and repeatable identifiers are desirable to prevent false indications of changes at the VCM Collector.
For example, if the script was to arbitrarily label rows as Task1, Task2, …, and Task1 was deleted, Task2
would then become Task1, and VCM would show a lot of changed details for Task1 (command line
changed, next run time changed, etc), when in fact, that task had not changed at all – it had only changed
places in the sequence.
One way to handle creation of unique and repeatable names for elements is to create a name based on a
hash of the data contained in the row. That is useful for data that has no name-type attribute at all. In this
case, however, there is a task name, but it is not guaranteed to be unique. Since the task name is user-
friendly and useful, it is desirable to try to preserve and use it through the collection script. To preserve it,
Getting Started with VCM
VMware, Inc. 95