Function Set-PSModulePath {
      Set the PowerShell module path
      Set the PowerShell module path
      The path or paths to search for PowerShell modules
    .PARAMETER ReturnInitialPath
      If specified, will return the initial PSModulePath as output
    .PARAMETER Confirm
      Prompts for confirmation before creating the Puppet module
      Shows what would happen if the function runs.
      Set-PSModulePath -Path foo -ReturnInitialPath
      This function will override the PSModule path with 'foo' and return
      the original PSModulePath as output.

  [cmdletbinding(SupportsShouldProcess, ConfirmImpact = 'Medium')]

  Process {
    If ($PSCmdlet.ShouldProcess("PSModulePath", "Overwriting the PSModulePath with $($Path -Join ';')")) {
      If ($ReturnInitialPath) { $Env:PSModulePath }
      $Env:PSModulePath = $Path -Join ';'