64 lines
1.9 KiB
PowerShell
64 lines
1.9 KiB
PowerShell
|
function Set-AlkamiConfiguration {
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Used to configure Alkami specific settings to help ensure a smooth developer experience
|
||
|
|
||
|
.PARAMETER Configuration
|
||
|
This is a shortened variable for the configuration being set to the chosen value
|
||
|
Aliased to: Setting, Configuration, Key
|
||
|
|
||
|
.PARAMETER On
|
||
|
Aliased to: Enable
|
||
|
|
||
|
.PARAMETER Off
|
||
|
Aliased to: Disable
|
||
|
|
||
|
.PARAMETER Default
|
||
|
Aliased to: Remove
|
||
|
#>
|
||
|
[CmdletBinding(DefaultParameterSetName = 'On')]
|
||
|
param (
|
||
|
[Parameter(Mandatory = $true, Position = 0)]
|
||
|
[ValidateSet('InstallerUseSymlink','StartServicesOnInstall')]
|
||
|
[Alias('Setting')]
|
||
|
[Alias('Key')]
|
||
|
[string]$Configuration,
|
||
|
[Parameter(ParameterSetName = 'On')]
|
||
|
[Alias('Enable')]
|
||
|
[switch]$On,
|
||
|
[Parameter(ParameterSetName = 'Off')]
|
||
|
[Alias('Disable')]
|
||
|
[switch]$Off,
|
||
|
[Parameter(ParameterSetName = 'Default')]
|
||
|
[Alias('Remove')]
|
||
|
[switch]$Default
|
||
|
)
|
||
|
|
||
|
switch ($Configuration) {
|
||
|
'StartServicesOnInstall' {
|
||
|
$variableName = 'Alkami.Installer.StartOnInstall'
|
||
|
$isEnvironmentVariable = $true
|
||
|
}
|
||
|
'InstallerUseSymlink' {
|
||
|
$variableName = 'Alkami.Installer.UseSymlink'
|
||
|
$isEnvironmentVariable = $true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if ($isEnvironmentVariable) {
|
||
|
if (!$Off -and !$Default) {
|
||
|
Set-EnvironmentVariable -Name $variableName -Value 'true' -StoreName User
|
||
|
Set-EnvironmentVariable -Name $variableName -Value 'true' -StoreName Process
|
||
|
}
|
||
|
|
||
|
if ($Off) {
|
||
|
Set-EnvironmentVariable -Name $variableName -Value 'false' -StoreName User
|
||
|
Set-EnvironmentVariable -Name $variableName -Value 'false' -StoreName Process
|
||
|
}
|
||
|
|
||
|
if ($Default) {
|
||
|
Remove-EnvironmentVariable -Name $variableName -StoreName User
|
||
|
Remove-EnvironmentVariable -Name $variableName -StoreName Process
|
||
|
}
|
||
|
}
|
||
|
}
|