PowerShell Team

Automating the world one-liner at a time…

The worlds easiest way to create/install MshSnapins

Hopefully you've read the previous entries on how to create MshSnapins to include your own cmdlets/providers without having to create an entire separate executable (custom shell). If you didn't or if you did and you don't feel like writing the extra MshSnapin class to be used by InstallUtil.exe, you're in luck. I wrote a little ditty(script...

Write-Progress

Tony has a very cool series of Monad-oriented blog entries at: http://mshforfun.blogspot.com/ .  I was fascinated by this one: http://mshforfun.blogspot.com/2005/12/ncbi-blastn-under-msh-command-line.html  which exposes the NCBI BLAST tool via a command line.  Tony's log explains what this tool does but what I found...

.NET types

In response to the recent Days till Xmas post, applepwc asked the question    >  where can I find more ".NET types"?I mean is there a list of ".NET type"  available in monad? Excellent question but there are a number of aspects to it so let's break it down: .NET is a developer platform.  That ...

Monad cmdlet cleanup update

As Jeffrey mentioned in an earlier Blog “Finding which parameters are used the most” The Monad team is in the process of cleaning up our cmdlets to promote a more consistent user experience. The following two areas which we are focused on might have impact on you:   Cmdlet Verb names consistency and Parameters naming consistency...

Days till Xmas

My daughter loves christmas.  She often asks me, "how long is it till christmas?"  The problem with that is that I'm one of those people that can barely remember what year it is much less the date.  Well, it is one thing to be a flawed person and its another thing to disappoint your daughter.  Monad to the rescue! Here ...

Finding which parameters are used the most

We are in the process of cleaning up our Cmdlets and ensuring that they are consistent.  One of the things we want to do is the ensure that we provide Aliases for ParameterNames.  As a general rule, parameternames are not pithy.  That is great for reading scripts but can be a pain during interactive sessions.  You only ...

Invoking Scriptblocks from C#

Last time somebody asked for an example of a C# method that took a scriptblock.  First of all, there’s one very important thing you have to know about scriptblocks as they are currently implemented.  They can’t be invoked outside of a runspace.  Any attempt to do so will result in an exception.  Some of you may ...

Minding Path Inputs in a Cmdlet

When I was a Monad neophyte, I was asked to write a Cmdlet taking a file path as a parameter. A big mistake I made was not keeping in mind that in Monad the FileSystem provider was just one of the many providers. (This makes Monad different from many other shells where you are always in a directory.) For a path-taking Cmdlet, this means two...

Adding help for cmdlets in a MshSnapIn

Now that you know how to create an MshSnapIn, you might want to add help content for all those cmdlets that you developed and get them displayed by “get-help” cmdlet.  To add help content you must know how a Monad Cmdlet Help file looks. See any of the *-Help.xml files in Monad installation directory for reference. I wont be ...