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!'
            }
        }
    }
}