A PowerShell module is like an army Swiss knife for your computer. Just as a Swiss knife packs multiple tools into one handy device, a PowerShell module bundles various commands and functions into a single, cohesive package.

Creating your own PowerShell module is beneficial because it:

  1. Organizes code into reusable components.
  2. Prevents naming conflicts.
  3. Facilitates collaboration and documentation.
  4. Supports versioning and testing.
  5. Enables sharing with the community.

Creating a PS Module is a straight forward process. The locations where you can place your PS module can be found by executing this command:

(ls env:\PSModulePath).Value -split ";"

Within one of those folders, you have to create a folder with the name of the Module and inside create a psm1 file with the same name as the module. The path should look like this: C:\Users\<yourUser>\Documents\WindowsPowerShell\Modules\<moduleName>\<moduleName>.psm1

e.g. When the module is called psclimodule:


The functions you create can be stored within that file, and then they are imported automatically when you call a function from that module.