PS PowerShell  ·  30 вопросов  ·  ~85 мин  ·  ⏱ Таймер 25:00  ·  Сложный  · 

Планировщик заданий

Планировщик заданий: практический тест по PowerShell с чтением кода, поиском причины ошибки и выбором надёжного решения. Темы: Объекты планировщика ScheduledTask, Триггеры, Учётная запись, Журнал выполнения, Диагностика: планировщик, Безопасная эксплуатация: планировщик. Базовая линия — PowerShell 7.6.3; Windows-зависимые команды и отличия Windows PowerShell 5.1 отмечены в условиях.

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 30 вопросов отведено 85 минут. В каждом вопросе верен только один вариант; близкие ответы различаются механизмом, порядком выполнения, областью действия или эксплуатационной границей. После завершения вы увидите общий результат, результаты по 6 тематическим шкалам и подробные объяснения.
Вопрос 1 из 30
Задача создаётся из action, trigger и principal. На каком правиле основан результат?
PowerShellЗадача создаётся из action, trigger и principal
$a=New-ScheduledTaskAction -Execute "pwsh.exe" -Argument "-NoProfile -File C:\Ops\job.ps1"
$t=New-ScheduledTaskTrigger -Daily -At 03:00
Register-ScheduledTask -TaskName Demo -Action $a -Trigger $t -User SYSTEM
Вопрос 2 из 30
Рабочий каталог не задан. Какой вывод можно подтвердить?
PowerShellРабочий каталог не задан
$result = New-ScheduledTaskAction -Execute "pwsh.exe" -Argument "-NoProfile -File .\job.ps1"
$resultType = if($null -eq $result){'<null>'}else{$result.GetType().FullName}
[pscustomobject]@{ Result=$result; Type=$resultType; Count=@($result).Count }
Вопрос 3 из 30
Обновление задачи выполняется повторной регистрацией. Как исправить причину, а не только симптом?
PowerShellОбновление задачи выполняется повторной регистрацией
$result = Register-ScheduledTask -TaskName Demo -InputObject $task -Force
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 4 из 30
Имя задачи совпало, но TaskPath другой. Что точнее всего описывает поведение?
Вопрос 5 из 30
Задача экспортируется в XML для ревью. Какой вывод был бы слишком сильным?
Вопрос 6 из 30
Daily trigger создаётся с repetition interval. Какое объяснение точнее?
PowerShellDaily trigger создаётся с repetition interval
$t=New-ScheduledTaskTrigger -Once -At (Get-Date).Date.AddHours(1)
$t.Repetition.Interval="PT15M"
$t.Repetition.Duration="P1D"
Вопрос 7 из 30
AtStartup trigger запускается до готовности сети. Какая граница важна для автоматизации?
PowerShellAtStartup trigger запускается до готовности сети
$result = New-ScheduledTaskTrigger -AtStartup
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 8 из 30
Event trigger не поддерживается простым cmdlet-параметром. Какой принцип PowerShell здесь работает?
PowerShellEvent trigger не поддерживается простым cmdlet-параметром
$subscription = "*[System[Provider[@Name='Microsoft-Windows-WindowsUpdateClient'] and EventID=19]]"
$xml = @"
<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"><Triggers><EventTrigger><Enabled>true</Enabled><Subscription>$subscription</Subscription></EventTrigger></Triggers><Actions Context="Author"><Exec><Command>pwsh.exe</Command><Arguments>-File C:\Ops\after-update.ps1</Arguments></Exec></Actions></Task>
"@
Register-ScheduledTask -TaskName AfterUpdate -Xml $xml
Вопрос 9 из 30
Часовой пояс меняется после регистрации. Что остаётся непроверенным после успешного запуска?
Вопрос 10 из 30
Триггеры добавляются, но старые не удаляются. Какой вывод можно подтвердить?
Вопрос 11 из 30
SYSTEM используется для доступа к сетевой шаре. Как поступить, чтобы поведение осталось предсказуемым?
PowerShellSYSTEM используется для доступа к сетевой шаре
$result = Register-ScheduledTask -TaskName Demo -Action $a -Trigger $t -User SYSTEM
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 12 из 30
Пароль передаётся Register-ScheduledTask -Password. Что остаётся непроверенным после успешного запуска?
PowerShellПароль передаётся Register-ScheduledTask -Password
$result = Register-ScheduledTask -TaskName Demo -User "DOMAIN\svc" -Password $password
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 13 из 30
RunLevel Highest включён. Что стоит изменить в первую очередь?
PowerShellRunLevel Highest включён
$p=New-ScheduledTaskPrincipal -UserId "DOMAIN\svc" -LogonType Password -RunLevel Highest
$valueType = if($null -eq $p){'<null>'}else{$p.GetType().FullName}
[pscustomobject]@{ Value=$p; Type=$valueType; Count=@($p).Count }
Вопрос 14 из 30
InteractiveToken выбран для фоновой задачи. Какое скрытое допущение делает решение ненадёжным?
Вопрос 15 из 30
Профиль пользователя ожидается автоматически. Какое утверждение верно для этого случая?
Вопрос 16 из 30
LastTaskResult читается после запуска. Где заканчивается гарантия этого механизма?
PowerShellLastTaskResult читается после запуска
$result = Get-ScheduledTaskInfo -TaskName Demo | Select-Object LastRunTime,LastTaskResult,NextRunTime
$resultType = if($null -eq $result){'<null>'}else{$result.GetType().FullName}
[pscustomobject]@{ Result=$result; Type=$resultType; Count=@($result).Count }
Вопрос 17 из 30
Operational log планировщика отключён. Как исправить причину, а не только симптом?
PowerShellOperational log планировщика отключён
Get-WinEvent -ListLog Microsoft-Windows-TaskScheduler/Operational | Select-Object IsEnabled,RecordCount
Вопрос 18 из 30
Сценарий завершает pwsh кодом 0 после пойманной ошибки. На каком правиле основан результат?
PowerShellСценарий завершает pwsh кодом 0 после пойманной ошибки
try {
    Invoke-Work -ErrorAction Stop
    exit 0
}
catch {
    Write-Error $_
    exit 1
}
Вопрос 19 из 30
Transcript считается достаточным журналом. Какое ограничение здесь нельзя упустить?
Вопрос 20 из 30
Несколько запусков пишут в один файл. На каком правиле основан результат?
Вопрос 21 из 30
Задача работает вручную, но не по расписанию. На каком правиле основан результат?
PowerShellЗадача работает вручную, но не по расписанию
Export-ScheduledTask -TaskName Demo
Get-ScheduledTaskInfo -TaskName Demo
Вопрос 22 из 30
LastTaskResult ненулевой. Какое объяснение не зависит от случайностей окружения?
PowerShellLastTaskResult ненулевой
$i=Get-ScheduledTaskInfo Demo;"0x{0:X8}" -f ([uint32]$i.LastTaskResult)
$valueType = if($null -eq $i){'<null>'}else{$i.GetType().FullName}
[pscustomobject]@{ Value=$i; Type=$valueType; Count=@($i).Count }
Вопрос 23 из 30
Задача не стартует второй раз. Что стоит изменить в первую очередь?
PowerShellЗадача не стартует второй раз
# Сценарий для ревью: Задача не стартует второй раз.
$task = Get-ScheduledTask -TaskName 'NightlyImport' -ErrorAction Stop
$info = Get-ScheduledTaskInfo -TaskName 'NightlyImport'
[pscustomobject]@{ State=$task.State; LastRun=$info.LastRunTime; Result=$info.LastTaskResult; Instances=$task.Settings.MultipleInstances }
Вопрос 24 из 30
После обновления пропал trigger. Какое объяснение точнее?
Вопрос 25 из 30
Сбой возникает после перезагрузки. Что стоит изменить в первую очередь?
Вопрос 26 из 30
Обычный пользователь может менять файл сценария, запускаемый SYSTEM. Какое объяснение точнее?
PowerShellОбычный пользователь может менять файл сценария, запускаемый SYSTEM
$result = Get-Acl C:\Ops\job.ps1 | Format-List Owner,AccessToString
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 27 из 30
Аргументы задачи содержат пароль. Какой принцип PowerShell здесь работает?
PowerShellАргументы задачи содержат пароль
# Сценарий для ревью: Аргументы задачи содержат пароль.
$context = [pscustomobject]@{ User=[Environment]::UserName; Host=$Host.Name; At=[datetimeoffset]::UtcNow }
$headers = @{ Authorization = "Bearer $env:API_TOKEN" }
Write-Information (ConvertTo-Json @{ Context=$context; Headers=$headers }) -InformationAction Continue
Invoke-RestMethod -Uri $uri -Headers $headers -ErrorAction Stop
Вопрос 28 из 30
Задача допускает параллельные экземпляры. Какое решение здесь надёжнее?
PowerShellЗадача допускает параллельные экземпляры
# Сценарий для ревью: Задача допускает параллельные экземпляры.
$task = Get-ScheduledTask -TaskName 'NightlyImport' -ErrorAction Stop
$info = Get-ScheduledTaskInfo -TaskName 'NightlyImport'
[pscustomobject]@{ State=$task.State; LastRun=$info.LastRunTime; Result=$info.LastTaskResult; Instances=$task.Settings.MultipleInstances }
Вопрос 29 из 30
Задача бесконечно повторяет постоянную ошибку. Какое объяснение точнее?
Вопрос 30 из 30
Удаление задачи выполняется без сохранения определения. Какое утверждение верно для этого случая?

Ответьте на все 30 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу