Public/Set-DreepyMissingEnvVars.ps1
Function Set-DreepyMissingEnvVars { param( $variableGroup, $prefix, $suffix ) $variableGroup.variables.GetEnumerator() | ForEach-Object { if ($_.key -notin "dreepyprefix", "dreepysuffix") { $varName = $_.key if ($PSBoundParameters.ContainsKey('prefix') -eq $true) { $varName = $prefix + $varName } if ($PSBoundParameters.ContainsKey('suffix') -eq $true) { $varName = $varName + $suffix } Get-ChildItem Env:$varName -ErrorVariable missing -ErrorAction SilentlyContinue | Out-Null if ($missing) { $arrayForMissingVar = @() $varName.ToCharArray()|ForEach-Object{ $arrayForMissingVar += $_ } [string]$stringForMissingVar = [string]$arrayForMissingVar $message = 'Creating EnvVar for {0} in Variable Group {1}...' -f $varName, $VariableGroup.name Write-Host $message [System.Environment]::SetEnvironmentVariable($varName,($stringForMissingVar.Replace(" ", ""))) Get-ChildItem Env:$varName Write-Verbose 'Created!' } } } } |