Announcing: Open Source PowerShell Cmdlet and Help Designer

Announcing: Open Source PowerShell Cmdlet and Help Designer

  • Comments 13

http://www.codeplex.com/CmdletDesigner

During the development of Windows 7, most cmdlet design and help authoring in Microsoft went through an internal tool called the “Cmdlet Designer.”

cmdlet_designerThe Cmdlet Designer makes it much easier for teams to concentrate on the design, naming, and consistency of their cmdlets, while also guaranteeing name registration and collision avoidance across Microsoft.

To sweeten the deal, it offers:

  • Integrated help authoring
  • Efficient bulk operations (parameter and cmdlet cloning)
  • Generation of cmdlet code
  • Full scripting support
  • Automatic code-spec comparison and testing
  • Role-based security, history logging, and more.

So why blog about it? Because it’s now yours!

We just posted the entirety of the Cmdlet Designer, its source code, design specification, and deployment guide to http://www.codeplex.com/CmdletDesigner under the most permissive Microsoft Open Source license, the Microsoft Public License (MS-PL).

Architecturally, the Cmdlet Designer offers a reference implementation to benefit developers as well:

  • UI on top of Cmdlets
  • Script-based UI extensibility
  • Cmdlet / Webservice interaction
  • Role-based security, with a trusted subsystem implementation

Download, and enjoy!

 

Lee Holmes [MSFT]
Windows PowerShell Development
Microsoft Corporation

Leave a Comment
  • Please add 1 and 8 and type the answer here:
  • Post
  • Postbuild step fails for CmdletDesigner because get-providerhelp.ps1 is not in $(PROJECTDIR). In fact, it's not anywhere in the downloaded source.

    -Oisin

  • Nice tool!

    However, the AspenManagement web service source code seems a bit outdated. It validates more parameter for null than CmdletDesigner passes, which makes it impossible to add parameters.

    After removing the following from the method CmdletService.NewPsSpecCmdletParameter, I was able to add a parameter.

    if(description == null)

    {

    throw new ArgumentNullException("description");

    }

    if(aliases == null)

    {

    throw new ArgumentNullException("aliases");

    }

    if(allowGlobbing == null)

    {

    throw new ArgumentNullException("allowGlobbing");

    }

    if(custom4 == null)

    {

    throw new ArgumentNullException("custom4");

    }

    Regards,

    /Staffan

  • Hi,

    The code doesn't compile (for me at least). It would be nice if you just provide it compiled on codeplex, or make sure it compiles with express edition.

  • Would like to second Rod above, would be nice if it compiled out of the box. With Visual Studio 2008 Professional on Windows 7 Professional, it won't build.

  • @Staffan: I'm unable to reproduce that. On a clean build, I'm able to do all of the above.

    @EverybodyElse: Thanks for the feedback. I've updated the project to remove some of the dependencies causing issues.

    Lee Holmes [MSFT]

    Windows PowerShell Development

    Microsoft Corporation

  • "This Project has no releases."

  • @Chris:

    Correct. It's a source-only download, as it requires back-end support (a web service and database) to work.

  • You say you are able to do a clean build.  What is your setup and what are your specific steps that others should be doing?  Any special environmental settings?

  • Does this run on XP SP3? And when will PowerShell 2+WinRM 2.0 RTM for XP and Vista 32-bit and 64-bit?

  • How about a binary download?

    Thanks!

  • Checked this out again after reading Mr. Snover's latest blog post... I think I figured out how to make it work but as a SysAdmin and working with other SysAdmins I think this is where the divide begins.  A compiled ready to go tool might get more of a response imho.

  • A release would be nice.  Alot of other codeplex projects have managed to do that, how come this team can't?

  • Matt; This was covered a few comments ago:

    "Correct. It's a source-only download, as it requires back-end support (a web service and database) to work."

    Thanks for the reminder -- I've updated the project description to be more clear.

    Lee Holmes [MSFT]

    Windows PowerShell Development

    Microsoft Corporation

Page 1 of 1 (13 items)