Use SOAP to Remotely Manage Windows Machines

Windows Remote Management, part of the larger Windows Management Framework, offers a standards-based way to remotely manage computers running Windows XP or later. Also known as WinRM, is based on several important standards and technologies.

First up is the WS-Management Protocol. This specification was developed jointly by 13 companies including AMD, Dell, Intel, Microsoft, and Sun Microsystems and released under the auspices of the Distributed Management Task Force. In addition to SOAP, this specification is also based on web service protocols WS-Transfer and WS-Enumeration.

The next component one needs to know about is the venerable Windows Management Instrumentation. WMI was standard in Windows 2000, but support goes all back to Windows 95. Since WimRM is essentially a wrapper around WMI, learning WMI is critical for understanding WinRM.

While developers are interested in the WS-Managament SOAP interface, system administrators will most likely find command line tools more useful. One option is the older Windows Remote Shell, which allows one to send commands one by one to a remote machine. A far more interesting alternative is PowerShell 2.0. PowerShell is part of Microsoft’s strategic plans to challenge Linux in the server market by offering powerful command-line tools for all its server products.

Both Windows Remote Management 2.0 and PowerShell 2.0 are being released in the Windows Management Framework. In addition to these components, the Windows Management Framework also includes BITS 4.0.

Microsoft’s Background Intelligent Transfer Service (BITS) was originally included with Windows XP back in 2001. Since then it has been quietly acting as the core of everything from Windows Automatic Update to modern software such as RSS Bandit, EVE Online, and Google Gears. BITS 4.0 adds a stand-alone HTTP/HTTPS file server for asynchronously transferring large files between computers.