Invoke-1CTaskMenu.ps1
|
function Invoke-1CTaskMenu { <# .SYNOPSIS Дополнительное меню модуля 1C-Server-Management. Создание задач в планировщике .DESCRIPTION Отображает список задач создания задач в планировщике Windows. .EXAMPLE Get-TaskMenu #> Clear-Host # Определяем разделитель и массив пунктов меню $separator = "-----------------------------------------------" $menuItems = @( @{ Key = "0"; Text = "Создать задачу архивации журналов регистрации. `n Параметры по умолчанию: `n -время запуска:05:00; `n -хранение файлов: 7 дней; `n -хранение архивов: 90 дней."; Action = { New-1CDefaultCompressTask } }, @{ Key = "1"; Text = "Создать задачу архивации журналов регистрации со своими параметрами. `n При запуске требуется ввести: `n -периорд хранение файлов ЖР (дней); `n -период хранение архивов ЖР(дней); `n -время запуска задачи."; Action = { New-1CCustomCompressTask } }, @{ Key = "r"; Text = "Возврат в основное меню"; Action = { Invoke-1CMenu } }, @{ Key = "q"; Text = "Exit"; Action = { exit } } ) # Вывод заголовка и пунктов меню Write-Host $separator -ForegroundColor Blue Write-Host "Список функций модуля 1CMgmt" -ForegroundColor Green Write-Host $separator -ForegroundColor Blue foreach ($item in $menuItems) { Write-Host ("{0}. {1}" -f $item.Key, $item.Text) -ForegroundColor Green Write-Host $separator -ForegroundColor Blue } Write-Host # Обработка пользовательского ввода while ($true) { $choice = Read-Host "Выберите действие" $selected = $menuItems | Where-Object { $_.Key -eq $choice } if ($selected) { # Выполнение ассоциированного блока & $selected.Action } else { Write-Host "Неверный выбор, попробуйте снова." -ForegroundColor Red } } } |