# GPER_BASE_URL = 'gper.ru' # GPER_PS_URL = "ps.$($GPER_BASE_URL)" # GPER_INST_PS = "https://$($GPER_PS_URLGPER_PS_URL)" Хорошо, тогда можно сделать отдельную функцию, например, ``` set-myvar GPER_BASE_URL 'gper.ru' ``` В кторой ``` $ВХОДНОЕ_ИМЯ_ПЕРЕМЕННОЙ присвоить ПОДАННЫЙ_ПОЛЬЗОВАТЕЛЕМ_ПАРАМЕТР ОТОБРАЗИТЬ НА ЭКРАН, ЕСЛИ НЕ УКАЗАН КЛЮЧ 'СПРЯЯТАТЬ' ``` Но как сделать МАСКИМАЛЬНО котороткий алиас, который будет присваивать значение переменной и сразу показывать на экран? function Set-MyVar { param( [Parameter(Position = 0, Mandatory = $true)] [string]$Name, [Parameter(Position = 1, Mandatory = $true)] $Value, [switch]$Hide ) # Присваиваем значение переменной в глобальной области видимости (чтобы она не удалилась после выхода из функции) Set-Variable -Name $Name -Value $Value -Scope Global # Показываем на экран, если нет флага -Hide if (-not $Hide) { $Value } } Отлично, а сделай такое: ЕСЛИ УКАЗАН КЛЮЧ 'FULL', тогда ``` === Информация о переменной `GPER_BASE_URL` === Имя: `GPER_BASE_URL` Тип: `System.String` Значение: `2226848` === Информация о переменной `GPER_BASE_URL` === function Set-MyVar { param( [Parameter(Position = 0, Mandatory = $true)] [string]$Name, [Parameter(Position = 1, Mandatory = $true)] $Value, # Сюда можно через запятую добавлять новые режимы в будущем [ValidateSet('Show', 'Hide', 'Full')] [string]$Mode = 'Show' ) # Обработка режимов вывода switch ($Mode) { 'Hide' { # Ничего не выводим } 'Full' { $Type = if ($null -ne $Value) { $Value.GetType().FullName } else { 'Null' } "" " === Информация о переменной `$Name` === " " Имя: `$Name`" " Тип: `$Type`" " Значение: `$Value`" " === Информация о переменной `$Name` ===" "" } 'Show' { # Обычный вывод значения $Value } } } # Короткий алиас Set-Alias v Set-MyVar # Короткий алиас Set-Alias v Set-MyVar