chocolatey / cChoco

Community resource to manage Chocolatey
Apache License 2.0
154 stars 99 forks source link

Path variable is corrupted if PsDscRunAsCredential is used #171

Open warsus opened 2 years ago

warsus commented 2 years ago

Path variable is corrupted if PsDscRunAsCredential is used

Hi, i am installing packages under a specific Account using "PsDscRunAsCredential". Unfortunately during the package installation process the the $env:Path variable is reset to only the "Machine" Path Variables by: $env:Path = [Environment]::GetEnvironmentVariable('Path','Machine') This means all the User specific path variable entries are missing subsequently including all following resources.

To Reproduce Use "cChocoPackageInstaller" with "PsDscRunAsCredential":


  cChocoPackageInstaller foo
  {
      PsDscRunAsCredential = $installationUserCredential
      Name =  foo
      ...
  }
  Script dumpPath
  {
      PsDscRunAsCredential = $installationUserCredential
      DependsOn = "[cChocoPackageInstaller]foo"
      SetScript = {
      }
      TestScript = {
          Write-Verbose "Dumping Path: $env:Path => $($env:Path)"
          return $true
      }
      GetScript = { @{} }
  } 

Expected behavior The Path Variable should be set correctly if it has to be refreshed From here: "The Path is constructed from the system path, which can be viewed in the System Environment Variables field in the System dialog box. The User path is appended to the system path."

Software (please complete the following information):