18. September 2008
I have been playing with a tool called servermanagercmd which is a commandline tool which functions like ServerManager. It allows you to install different Roles, Features, and Role Services in Windows Server 2008. I mentioned in an earlier post that you can output it to an XML file and use Powershell to look at what is installed.
There is an -inputpath parameter that takes an answer.xml file. You would think that you could go to one server, do a servermanagercmd -query role.xml and then take that file to another server and do a servermananagercmd -inputpath role.xml and it would install all the roles and services that were on the original server. Yeah.. that would be nice, but no such luck. They are two different XML Schemas that apparently have nothing to do with one another.
To further complicate the issue, servermangercmd is used in the full version of Windows 2008. But what if you wanted to install or remove roles in Windows 2008 Core. Forget servermanagercmd, its not there. Instead you have to use two different commands, ocsetup and oclist. OC standing for "Optional Component" ?
oclist in Core is the same as servermanagercmd -query
ocsetup is servermanagercmd -install
To screw things up even more, the aliases for the roles are not even the same between the two tools. Just an example, in the full version with servermanagercmd you add the feature called Failover-Clustering. In core, you use ocsetup to install FailoverCluster-Core.
Completely inconsistent, no intuitive, and unnecessarily complex.
Perhaps what would be cool is a PowerShell function that could at least convert the output of servermanagercmd -query query.xml and turn it into an xml file that could be used by servermanagercmd -input input.xml. Any PowerShell XML Ninjas up for the challenge ?