In my last post I showed several instances of the syntax help that you get when you use get-help or -? with a cmdlet.

For instance:

This help is showing how the different parameters can be used when calling the cmdlet.

If you’ve never paid any attention to these, the notation can be difficult to work out. Fortunately, it’s not that hard. There are only NNN different possibilities. In the following, I will be referring to a parameter called Foo, of type [BAR].

An optional parameter that can be used by position or name:

[[-Foo] <Bar>]

An optional parameter that can only be used by name:

[-Foo <bar>]

A required parameter that can be used by position or name:

[-Foo] <Bar>

An optional parameter that can be used only by name:

-Foo <Bar>

A switch parameter (switches are always optional and can only be used by name)

[-Foo] [-Foo <Switchparameter>] #odd, but you may see this in the help sometimes

So, in the example above we see that we have

parm1, which is a parameter of type Object (i.e. no type specified), is optional and can be used by name or position

parm2, which is a parameter of type Object, is optional and can only be used by name

parm3, which is a parameter of type Object, is optional and can only be used by name

parm4, which is a parameter of type Object, is optional and can only be used by name

With some practice, you will be reading more complex syntax examples like a pro.

Let me know if this helps!

–Mike