Today we posted a preview of our PowerShell SnapIn for the Digipede Network — go to the Digipede community site for details and download instructions.
This preview provides a functioning command-line interface to much of the available Digipede Network management APIs. This functionality will continue to be enhanced along with the underlying APIs (more on this in a future post).
This preview is a little bit of a departure for us at Digipede. While we have targeted previews to customers in the past, this is the first time we have made one publicly available. A bigger departure, though, is that we are also including full source code to this preview.
Digipede is not open-source, so why release the SnapIn code?
- The SnapIn provides excellent examples for the Digipede Management APIs. The SnapIn is also a good example of a PowerShell SnapIn.
- By providing a sample as a SnapIn we are reducing the startup costs for our customers to develop their own cmdlets (for the Digipede Network and otherwise).
- We hope that some community members will provide feedback in the form of suggestions, fixes and maybe even new cmdlets — this will help make the SnapIn better faster.
Another question might be, why do a PowerShell SnapIn at all? After all, PowerShell does a great job with .NET APIs without any additional support.
- PowerShell does do an excellent job with .NET APIs (and COM APIs too, for that matter). But this support is better suited to scripting than to a great command-line interface. I will post an example of this difference later this week.
- For some customers, a command-line interface is important. PowerShell provides a standard framework into which such interfaces can be built — the days of writing one’s own custom command-line interfaces are thankfully past.
- PowerShell is really cool.
If you are interested in PowerShell, the Digipede API, or a command-line interface to the Digipede Network, please take the time to try out the preview. We would love to get feedback from you on what else it needs, any problems you find, and ideas for other cmdlets — implementations even better!