A. There are a couple of ways to have mandatory parameters. The best way is to use the \\[CmdletBinding()\\] parameter syntax, as described in PowerShell's about_functions_advanced_parameters Help topic. This attribute allows you to add a Mandatory=$true attribute to the parameters that you want to make mandatory.
Another approach is to assign a "default" value that throws an error:
Param($myparam=$(throw ‘This is required.'))
If the parameter isn't provided, an error would be thrown. I think that syntax is a bit harder to read than the \\[CmdletBinding()\\] technique, though.
Do you have a Windows PowerShell question? Why not submit it to Don? Post your question at www.windowsitpro.com/FAQs/FAQSubmittalForm.aspx and you might see your answer online! Find more PowerShell FAQs, articles, and other resources at windowsitpro.com/go/DonJonesPowerShell.