PowerShell FAQ
  • Initial page
  • PowerShell Frequently Asked Questions
    • getting-started
      • How do I determine the location of the current PowerShell script?
      • How do I set the PATH in PowerShell?
      • How do I determine the current version of PowerShell?
      • How do I pass parameters to PowerShell scripts?
      • How do I fix "the execution of scripts is disabled on this system" errors?
    • learning-paths
      • Are there any free PowerShell ebooks?
      • Is there any free training for PowerShell
      • books-for-programmers
      • video-resources
      • books-for-newbies
    • frequently-asked-faq-questions
      • contributing
      • What's the license for this FAQ?
    • SUMMARY
    • justification
      • Why should I learn PowerShell?
Powered by GitBook
On this page

Was this helpful?

  1. PowerShell Frequently Asked Questions
  2. getting-started

How do I pass parameters to PowerShell scripts?

Passing arguments in PowerShell is the same as in any other shell: you just type the command name, and then each argument, separated by spaces. If you need to specify the parameter name, you prefix it with a dash like -Name and then after a space (or a colon), the value. If the parameter is a "switch" then specifying it's name sets it to True, so you should not provide a value. Passing multiple values to the same parameter requires commas (and optionally, the @(...) array specifier).

Accepting parameters in a PowerShell script (or function) is done by adding a param block at the top with a comma-separated list of parameter names:

function Test-Script {
    param($Name,$Age)
    "$Name is roughly $Age years old"
}

Test-Script "The Doctor" "4.5 billion"
Test-Script -Name Mother -Age 29
PreviousHow do I determine the current version of PowerShell?NextHow do I fix "the execution of scripts is disabled on this system" errors?

Last updated 4 years ago

Was this helpful?