Public/Get-EnvironmentVariable.ps1
function Get-EnvironmentVariable { [CmdletBinding()] Param ( [Parameter ( Position = 1, Mandatory = $true, HelpMessage = "Name of the environment variable" )] [ValidateNotNullOrEmpty()] [Alias ("Variable")] [String] $Name, [Parameter ( Position = 2, Mandatory = $false, HelpMessage = "Scope of the environment variable" )] [ValidateSet ("Machine", "Process", "User")] [String] $Scope = "Machine" ) Begin { # Get global preference variables Get-CallerPreference -Cmdlet $PSCmdlet -SessionState $ExecutionContext.SessionState } Process { # Check if variable is defined $Value = [Environment]::GetEnvironmentVariable($Name, $Scope) if ($Value) { Write-Log -Type "DEBUG" -Message "$Scope`t$Name=$Value" } # If variable does not exists, the value will be null return $Value } } |