The Virtual Machine Manager Administrator Console is built on Windows PowerShell for Virtual Machine Manager. Most server administrators do not need an in-depth understanding of the interaction between the Administrator Console and Windows PowerShell at the programmatic level. However, the following synopsis of the standard call sequence for a hypothetical Administrator Console operation illustrates the integration of Windows PowerShell and the Administrator Console:
1. The Administrator Console makes a call to a Windows PowerShell cmdlet.
2. The Windows PowerShell cmdlet makes a Windows Communication Foundation (“Indigo”) call to the Virtual Machine Manager server service.
3. Virtual Machine Manager initiates a job if the operation changes state or is long-running (and, therefore, needs to be audited or monitored asynchronously).
4. Virtual Machine Manager makes SQL calls, as necessary, to read and update the Virtual Machine Manager database.
5. Virtual Machine Manager makes Windows Remote Management (WinRM) calls, as necessary, to access remote hosts for virtual machines or remote library servers.
6. WinRM calls, in turn, access Windows Management Instrumentation (WMI) methods on Virtual Machine Manager hosts or library servers. These WMI methods ship either in the operating system or as part of the Virtual Machine Manager agent service.
7. Some of these WMI methods, in turn, call the Virtual Server component object model application programming interface (COM API).
All operations that you perform by using the Administrator Console in Virtual Machine Manager are actually using Windows PowerShell. You can view the cmdlets used by using the “View script” button.
So, here’s the thing: everything you can do in the SCVMM admin console you can do on the command line. Our PM puts it best “Our API is the customer’s API”.
For more information, see the Introducing Windows PowerShell for Virtual Machine Manager paper on the Beta site (requires Windows Live ID signin).