Я пытаюсь запустить функцию, которая устанавливает, а затем проверяет переменную в скрипте powershell.
Переменная задается внутри функции, но не переносит свое значение ни разу в сценарии.Я не уверен, что я делаю неправильно.Я думаю, что это что-то довольно простое, что я упускаю.
Эта функция является частью большого скрипта.
Я также не уверен, что мое тестирование относительно правильного выбора работает правильно.
####Function to set and test Year level#####
function Year_Level
{
do{
$Selection=Read-Host "Choose a Year Level"
Switch ($Selection)
{
0 {$YearLevel1="Year 00"}
01 {$YearLevel1="Year 01"}
02 {$YearLevel1="Year 02"}
03 {$YearLevel1="Year 03"}
04 {$YearLevel1="Year 04"}
05 {$YearLevel1="Year 05"}
06 {$YearLevel1="Year 06"}
07 {$YearLevel1="Year 07"}
08 {$YearLevel1="Year 08"}
09 {$YearLevel1="Year 09"}
10 {$YearLevel1="Year 10"}
11 {$YearLevel1="Year 11"}
12 {$YearLevel1="Year 12"}
13 {$YearLevel1="Staff"}
}
if($selection -ne 01,02,03,04,05,06,07,08,09,10,11,12,13)
{Write-Warning "Incorrect year level selection, try again!" -Verbose
} else{
write-host "You have selected $YearLevel1"
}
}until ($selection -lt 14)
}
Write-Host "Select Year Level"
Write-Host "0 = Reception"
Write-Host "01 = Year 1"
Write-Host "02 = Year 2"
Write-Host "03 = Year 3"
Write-Host "04 = Year 4"
Write-Host "05 = Year 5"
Write-Host "06 = Year 6"
Write-Host "07 = Year 7"
Write-Host "08 = Year 8"
Write-Host "09 = Year 9"
Write-Host "10 = Year 10"
Write-Host "11 = Year 11"
Write-Host "12 = Year 12"
Write-Host "13 = Staff"
Year_Level
Я хочу установить переменную $ yearlevel1 для использования после функции в скрипте, которая вызывает функцию.
EDIT
Теперь у меня есть переменнаяустановить вне функции.Но иногда он неправильно устанавливает / проверяет, что это за переменная.Есть ли что-то явно очевидное в коде, который я пропускаю?
function Year_Level
{
do{
$Selection=Read-Host "Choose a Year Level"
Switch ($Selection)
{
0 {$YearLevel1="Year 00"}
01 {$YearLevel1="Year 01"}
02 {$YearLevel1="Year 02"}
03 {$YearLevel1="Year 03"}
04 {$YearLevel1="Year 04"}
05 {$YearLevel1="Year 05"}
06 {$YearLevel1="Year 06"}
07 {$YearLevel1="Year 07"}
08 {$YearLevel1="Year 08"}
09 {$YearLevel1="Year 09"}
10 {$YearLevel1="Year 10"}
11 {$YearLevel1="Year 11"}
12 {$YearLevel1="Year 12"}
13 {$YearLevel1="Staff"}
}
if($selection -gt 13)
{Write-Warning "Incorrect year level selection, try again!" -Verbose
} else{
write-host "You have selected $YearLevel1"
}
}until ($selection -lt 14)
$YearLevel1
}
Write-Host "Select Year Level"
Write-Host "0 = Reception"
Write-Host "01 = Year 1"
Write-Host "02 = Year 2"
Write-Host "03 = Year 3"
Write-Host "04 = Year 4"
Write-Host "05 = Year 5"
Write-Host "06 = Year 6"
Write-Host "07 = Year 7"
Write-Host "08 = Year 8"
Write-Host "09 = Year 9"
Write-Host "10 = Year 10"
Write-Host "11 = Year 11"
Write-Host "12 = Year 12"
Write-Host "13 = Staff"
$yearlevel = Year_Level