PS PowerShell  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Процессы и службы

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

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант; близкие ответы различаются механизмом, порядком выполнения, областью действия или эксплуатационной границей. После завершения вы увидите общий результат, результаты по 5 тематическим шкалам и подробные объяснения.
Вопрос 1 из 25
CPU читается у процесса как накопленное время. Как следует читать этот фрагмент?
PowerShellCPU читается у процесса как накопленное время
$p=Get-Process -Id $PID
$p|Select-Object ProcessName,CPU,WorkingSet64
Вопрос 2 из 25
Процесс завершился между Get-Process и чтением свойства. Какое условие нужно проверить отдельно?
PowerShellПроцесс завершился между Get-Process и чтением свойства
$p=Start-Process pwsh -ArgumentList "-NoProfile -Command exit" -PassThru
$p.WaitForExit(); $p.Refresh()
Вопрос 3 из 25
Stop-Process получает объект через конвейер. Какой принцип PowerShell здесь работает?
PowerShellStop-Process получает объект через конвейер
$targets = Get-Process -Name notepad -ErrorAction SilentlyContinue
$targets | Select-Object Name,Id,StartTime
$targets | Stop-Process -WhatIf
Вопрос 4 из 25
Имя процесса считается уникальным идентификатором. Какое ограничение здесь нельзя упустить?
Вопрос 5 из 25
WorkingSet используется как доказательство утечки. Какая граница между этими средствами важна?
Вопрос 6 из 25
Get-Service возвращает зависимые службы. Какое объяснение не зависит от случайностей окружения?
PowerShellGet-Service возвращает зависимые службы
$result = Get-Service Spooler | Select-Object Name,ServicesDependedOn,DependentServices
$resultType = if($null -eq $result){'<null>'}else{$result.GetType().FullName}
[pscustomobject]@{ Result=$result; Type=$resultType; Count=@($result).Count }
Вопрос 7 из 25
Restart-Service вызывается для остановленной службы. Какой вывод был бы слишком сильным?
PowerShellRestart-Service вызывается для остановленной службы
$result = Restart-Service Spooler -WhatIf
$items = @($result)
[pscustomobject]@{ Count=$items.Count; First=$items | Select-Object -First 1; IsNull=($null -eq $result) }
Вопрос 8 из 25
Set-Service меняет StartupType. На каком правиле основан результат?
PowerShellSet-Service меняет StartupType
$result = Set-Service Spooler -StartupType Automatic -WhatIf
$resultType = if($null -eq $result){'<null>'}else{$result.GetType().FullName}
[pscustomobject]@{ Result=$result; Type=$resultType; Count=@($result).Count }
Вопрос 9 из 25
Служба имеет delayed automatic start. Какое ограничение здесь нельзя упустить?
Вопрос 10 из 25
Операция выполняется на удалённом узле через ComputerName старого командлета. Какая граница между этими средствами важна?
Вопрос 11 из 25
WaitForStatus вызывается с тайм-аутом. Что следует сделать до запуска в автоматизации?
PowerShellWaitForStatus вызывается с тайм-аутом
$s=Get-Service Spooler
$s.WaitForStatus([ServiceProcess.ServiceControllerStatus]::Running,[timespan]::FromSeconds(30))
Вопрос 12 из 25
Цикл опрашивает состояние раз в секунду до deadline. Что точнее всего описывает поведение?
PowerShellЦикл опрашивает состояние раз в секунду до deadline
$end=(Get-Date).AddSeconds(20)
do{$s=Get-Service Spooler;if($s.Status -eq "Running"){break};Start-Sleep 1}while((Get-Date)-lt $end)
Вопрос 13 из 25
После Start-Service сразу выполняется зависимая операция. Почему локальный успех ещё ничего не доказывает?
PowerShellПосле Start-Service сразу выполняется зависимая операция
$result = Start-Service Demo
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 14 из 25
Ожидание ловит любую ошибку и продолжает. Какое утверждение верно для этого случая?
Вопрос 15 из 25
Тайм-аут задаётся на каждую попытку, но нет общего срока. Какая граница важна для автоматизации?
Вопрос 16 из 25
Проверяется членство текущего Windows-токена в Administrators. Какое условие нужно проверить отдельно?
PowerShellПроверяется членство текущего Windows-токена в Administrators
$id=[Security.Principal.WindowsIdentity]::GetCurrent()
$p=[Security.Principal.WindowsPrincipal]$id
$p.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
Вопрос 17 из 25
Сценарий сам запускает повышенную копию через RunAs. Как исправить причину, а не только симптом?
PowerShellСценарий сам запускает повышенную копию через RunAs
$result = Start-Process pwsh -Verb RunAs -ArgumentList "-NoProfile -File `"$PSCommandPath`""
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 18 из 25
Только одна команда требует повышения. Какое решение здесь надёжнее?
PowerShellТолько одна команда требует повышения
$payload = Join-Path $env:TEMP "service-change.json"
@{Name="ApiService";Action="Restart"} | ConvertTo-Json | Set-Content -LiteralPath $payload
$arguments = @('-NoProfile','-File','.\Apply-ServiceChange.ps1','-InputPath',$payload)
Start-Process pwsh -Verb RunAs -Wait -ArgumentList $arguments
Get-Service ApiService | Select-Object Name,Status
Вопрос 19 из 25
На Linux проверка Administrators используется как универсальная. Какое объяснение точнее?
Вопрос 20 из 25
Отказ доступа автоматически трактуется как необходимость администратора. Какой вывод был бы слишком сильным?
Вопрос 21 из 25
Процесс потребляет CPU, но один снимок CPU велик из-за долгого времени жизни. Как следует читать этот фрагмент?
PowerShellПроцесс потребляет CPU, но один снимок CPU велик из-за долгого времени жизни
$a=(Get-Process -Id $PID).CPU;Start-Sleep 1;$b=(Get-Process -Id $PID).CPU;$b-$a
$valueType = if($null -eq $a){'<null>'}else{$a.GetType().FullName}
[pscustomobject]@{ Value=$a; Type=$valueType; Count=@($a).Count }
Вопрос 22 из 25
Служба Running, но приложение недоступно. Какой подход выдержит повторный запуск?
PowerShellСлужба Running, но приложение недоступно
$result = & { Get-Service Demo; Test-NetConnection localhost -Port 8080 }
$resultType = if($null -eq $result){'<null>'}else{$result.GetType().FullName}
[pscustomobject]@{ Result=$result; Type=$resultType; Count=@($result).Count }
Вопрос 23 из 25
Перезапуск иногда действует не на тот процесс. Что точнее всего описывает поведение?
PowerShellПерезапуск иногда действует не на тот процесс
# Сценарий для ревью: Перезапуск иногда действует не на тот процесс.
$deadline = (Get-Date).AddSeconds(15)
$samples = while((Get-Date) -lt $deadline){
  [pscustomobject]@{ At=[datetimeoffset]::UtcNow; Processes=@(Get-Process).Count; Jobs=@(Get-Job -State Running).Count }
  Start-Sleep -Milliseconds 500
}
$samples | Select-Object -Last 5
Вопрос 24 из 25
Операция требует прав только на части серверов. Какое объяснение не зависит от случайностей окружения?
Вопрос 25 из 25
Автоматический restart маскирует аварию. Что следует сделать до запуска в автоматизации?

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

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

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

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