2.1 Overview
Windows Management (WM) can use an object/resource-based approach or a task/command-based approach, as described in section 1.1. This section describes which of the WM protocols falls under which category and also describes the functional differences between each WM member protocol implementation.
Object/resource-based management:
Asset management, monitoring of system health, and diagnosis of computer failure in large-scale distributed systems require a common mechanism for representing, retrieving, and manipulating data about system operations and health.
The Windows Management (WM) protocols and associated data structure provide a unified object model and network communication protocols that enable a user or application to inspect, modify, and monitor an asset's resources remotely. These resources are represented as objects according to the Common Information Model (CIM).
The following protocols are used to access CIM objects:
Windows Management Instrumentation (WMI) Remote Protocol [MS-WMI]: This protocol supports read and write operations of CIM objects across multiple computers. This protocol is a Distributed Component Object Model (DCOM)-based protocol.
Web Services Management Protocol Extensions for Windows Server 2003 operating system [MS-WSMAN]: This protocol supports read and write operations of CIM objects across multiple computers. This protocol is based on a prerelease draft version of WS-Management and is incompatible with current DMTF specifications.
Web Services Management Protocol Extensions for Windows Vista [MS-WSMV]: This protocol supports read and write operations of CIM objects across multiple computers. This protocol is based on version 1.1 of WS-Management.
Each of these protocols provides access to the CIM Object Manager (CIMOM) resources of hosts within the system, but they differ in certain aspects. Some major differences in capability are as follows:
Windows Management Instrumentation (WMI) Remote Protocol: Smaller messages than WSMV and WSMAN use binary message encoding instead of SOAP. See [MS-WMI] section 2.2 for details of message encoding. This protocol provides methods to modify the CIM repository on a managed host.
Web Services Management Protocol Extensions for Windows Server 2003: The HTTP-based or HTTPS-based protocol allows for easier network configuration than Windows Management Instrumentation (WMI) when a firewall might separate WM applications and managed computers. This protocol is based on a prerelease draft of the WS-Management specification and is not compatible with the released standard versions.
Web Services Management Protocol Extensions for Windows Vista operating system: The HTTP-based or HTTPS-based protocol allows for easier network configuration than WMI when a firewall might separate WM applications and managed computers. This protocol is based on version 1.0 of the WS-Management specification. The protocol offers methods to control remote command-line shells on a managed host. See [MS-WSMV] section 3.1.4.1.31 for details.
These three WM protocols are independent of each other, and each can be used to access CIM objects. A particular implementation can include support for one or more of these three protocols, as described in section 2.6.
The following data structure is an integral part of the capabilities of the WMI protocol:
Windows Management Instrumentation Encoding Version 1.1 [MS-WMIO]: This data structure specifies a binary data encoding format that the Windows Management Instrumentation (WMI) Remote Protocol uses for network communication.
Task/command-based management:
Windows Management provides shell execution capability that performs administrative tasks remotely. Most shells, including Cmd.exe and the SH, KSH, CSH, and BASH UNIX shells, operate by executing a command or utility in a new process and by presenting the results to the user as text. Over the years, many text processing utilities, such as AWK and PERL, have evolved to support this interaction.
These shells also have built-in commands that run in the shell process, such as the typeset command in KSH and the DIR command in Cmd.exe.
A cmdlet (pronounced "command-let") is a single-feature command that manipulates objects in Windows PowerShell.
In traditional shells, the commands are executable programs that range from a simple command that perform a single action, for example Attrib.exe, to complex commands that perform more than a single action, such as the Netsh.exe command.
In Windows PowerShell, most cmdlets are simple; they are designed to be used in combination with other cmdlets. For example, the get cmdlets only retrieve data, the set cmdlets only establish or change data, the format cmdlets only format data, and the out cmdlets only direct the output to a specified destination.
The protocols that are used for command execution are:
PowerShell Remoting Protocol [MS-PSRP]: This protocol executes pipelines of commands through streams that are a sequence of structured objects and follows the session-oriented approach. This protocol uses remote shell operations that the Web Services Management Protocol Extensions for Windows Vista[MS-WSMV] supports to transport data between Windows PowerShell clients and Windows PowerShell servers.
Web Services Management Protocol Extensions for Windows Vista [MS-WSMV]: This protocol executes pipelines of commands over shells and supports text-based command shells and custom remote shells.