26 lines
939 B
PowerShell
26 lines
939 B
PowerShell
function Set-ORBEnvironmentalVariables {
|
|
<#
|
|
.SYNOPSIS
|
|
Sets an environment variable from interactive input
|
|
#>
|
|
[CmdletBinding()]
|
|
Param(
|
|
[PSObject]$EnvVariable
|
|
)
|
|
|
|
$logLead = Get-LogLeadName
|
|
$newValue = Read-Host ("Enter a value for {0}" -f $EnvVariable.Name)
|
|
|
|
if (!([String]::IsNullOrEmpty($EnvVariable.ValidationRegex))) {
|
|
Write-Verbose ("$logLead : Validating Input {0} with Regex {1}" -f $newValue, $EnvVariable.ValidationRegex)
|
|
if ([String]::IsNullOrEmpty($newValue) -or $newValue -notmatch $envVariable.ValidationRegex) {
|
|
Write-Warning ($EnvVariable.ValidationError)
|
|
Set-ORBEnvironmentalVariables $EnvVariable
|
|
} else {
|
|
Write-Host ("$logLead : Setting machine environmental variable {0} to {1}" -f $EnvVariable.Name, $newValue)
|
|
[Environment]::SetEnvironmentVariable($EnvVariable.Name, $newValue, "Machine")
|
|
}
|
|
}
|
|
}
|
|
|