Get-VarOrSave
SYNOPSIS
Get the value of an environment variable or save it if it does not exist.
SYNTAX
Get-VarOrSave [-VariableName] <String> [-LazyValue] <ScriptBlock> [[-Validate] <ScriptBlock>]
[-ProgressAction <ActionPreference>] [<CommonParameters>]
DESCRIPTION
This function will get the value of an environment variable or save it if it does not exist. It will also validate the value if a test script block is provided. If the value does not exist, it will prompt the user for the value and save it as an environment variable, The value will be saved as a process environment variable.
EXAMPLES
EXAMPLE 1
Get-VarOrSave `
-VariableName 'HUDU_KEY' `
-LazyValue { Get-UserInput -Title 'Hudu API Key' -Question 'Please enter your Hudu API Key' };
PARAMETERS
-VariableName
The name of the environment variable to get or save.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-LazyValue
The script block to execute if the environment variable does not exist.
Type: ScriptBlock
Parameter Sets: (All)
Aliases:
Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Validate
The script block to test the value of the environment variable or the lazy value.
Type: ScriptBlock
Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ProgressAction
{{ Fill ProgressAction Description }}
Type: ActionPreference
Parameter Sets: (All)
Aliases: proga
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.