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

Форматирование и экспорт данных

Форматирование и экспорт данных: практический тест по PowerShell с чтением кода, поиском причины ошибки и выбором надёжного решения. Темы: Команды форматирования Format-*, Экспорт через Export-Csv, Сериализация через ConvertTo-Json, Потеря структуры, Диагностика: форматирование и экспорт. Базовая линия — PowerShell 7.6.3; Windows-зависимые команды и отличия Windows PowerShell 5.1 отмечены в условиях.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант; близкие ответы различаются механизмом, порядком выполнения, областью действия или эксплуатационной границей. После завершения вы увидите общий результат, результаты по 5 тематическим шкалам и подробные объяснения.
Вопрос 1 из 25
Format-Table стоит последней командой интерактивного конвейера. Что фактически произойдёт при выполнении?
PowerShellFormat-Table стоит последней командой интерактивного конвейера
$result = Get-Process | Select-Object -First 5 | Format-Table Name,CPU -AutoSize
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 2 из 25
Format-List * используется для исследования одного объекта. Какой вывод можно подтвердить?
PowerShellFormat-List * используется для исследования одного объекта
$result = Get-Service Spooler | Format-List *
$items = @($result)
[pscustomobject]@{ Count=$items.Count; First=$items | Select-Object -First 1; IsNull=($null -eq $result) }
Вопрос 3 из 25
-AutoSize применяется к огромному потоку. Какое условие нужно проверить отдельно?
PowerShell-AutoSize применяется к огромному потоку
$result = Get-ChildItem -Recurse | Format-Table Name,Length -AutoSize
$items = @($result)
[pscustomobject]@{ Count=$items.Count; First=$items | Select-Object -First 1; IsNull=($null -eq $result) }
Вопрос 4 из 25
Форматирующий файл задаёт вид пользовательского типа. Какое объяснение точнее?
Вопрос 5 из 25
Форматированная строка используется как машинный протокол. Что меняется из-за области выполнения?
Вопрос 6 из 25
Экспорт выполняется после Select-Object. На каком правиле основан результат?
PowerShellЭкспорт выполняется после Select-Object
$result = $x | Select-Object Name,Status | Export-Csv .\report.csv -NoTypeInformation -Encoding utf8
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 7 из 25
Числа и даты импортируются как строки. Какой подход выдержит повторный запуск?
PowerShellЧисла и даты импортируются как строки
$x | Export-Csv .\x.csv -NoTypeInformation
(Import-Csv .\x.csv)[0].Count.GetType().Name
Вопрос 8 из 25
-Append добавляет строки с другой схемой. Какой вывод был бы слишком сильным?
PowerShell-Append добавляет строки с другой схемой
$result = $row | Export-Csv .\report.csv -Append -NoTypeInformation
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 9 из 25
Разделитель зависит от культуры. Что точнее всего описывает поведение?
Вопрос 10 из 25
Файл содержит формулы, начинающиеся с =, +, - или @. Какое решение здесь надёжнее?
Вопрос 11 из 25
Вложенный объект глубже значения Depth. Какое условие нужно проверить отдельно?
PowerShellВложенный объект глубже значения Depth
$o=[pscustomobject]@{A=[pscustomobject]@{B=[pscustomobject]@{C=3}}}
$o | ConvertTo-Json -Depth 2
Вопрос 12 из 25
Один объект и массив из одного объекта сериализуются по-разному. Почему локальный успех ещё ничего не доказывает?
PowerShellОдин объект и массив из одного объекта сериализуются по-разному
$result = @([pscustomobject]@{N=1}) | ConvertTo-Json -AsArray -Compress
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 13 из 25
Дата сериализуется без предварительного согласования формата. Какое утверждение верно для этого случая?
PowerShellДата сериализуется без предварительного согласования формата
$result = [pscustomobject]@{At=[datetimeoffset]::UtcNow} | ConvertTo-Json
$items = @($result)
[pscustomobject]@{ Count=$items.Count; First=$items | Select-Object -First 1; IsNull=($null -eq $result) }
Вопрос 14 из 25
Хеш-таблица с числовыми ключами становится JSON-объектом. Какое действие не создаст новой скрытой зависимости?
Вопрос 15 из 25
В JSON попадает SecureString или Credential. Где заканчивается гарантия этого механизма?
Вопрос 16 из 25
Объекты прошли через Format-Table и затем Export-Csv. Какое действие не создаст новой скрытой зависимости?
PowerShellОбъекты прошли через Format-Table и затем Export-Csv
$result = Get-Process | Format-Table Name,CPU | Export-Csv .\bad.csv -NoTypeInformation
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 17 из 25
Объект отправлен через remoting и вернулся без методов. Какое утверждение верно для этого случая?
PowerShellОбъект отправлен через remoting и вернулся без методов
$result = Invoke-Command server1 { Get-Process -Id $PID } | Get-Member
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 18 из 25
Out-String применён до фильтра. Какой принцип PowerShell здесь работает?
PowerShellOut-String применён до фильтра
$result = Get-Service | Out-String | Where-Object Status -eq Running
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 19 из 25
CSV используется для вложенных коллекций. Какой принцип PowerShell здесь работает?
Вопрос 20 из 25
Select-Object создаёт новый объект без методов исходного типа. Как следует читать этот фрагмент?
Вопрос 21 из 25
Экспортированный файл содержит строки Microsoft.PowerShell.Commands.Internal.Format.*. Какое действие не создаст новой скрытой зависимости?
PowerShellЭкспортированный файл содержит строки Microsoft.PowerShell.Commands.Internal.Format.*
$result = Import-Csv .\bad.csv | Select-Object -First 1 | Format-List *
$summary = [ordered]@{ IsNull=($null -eq $result); Count=@($result).Count }
if($null -ne $result){$summary.Type=$result.GetType().FullName};[pscustomobject]$summary
Вопрос 22 из 25
JSON неожиданно обрезал вложенные поля. Что стоит изменить в первую очередь?
PowerShellJSON неожиданно обрезал вложенные поля
$json=$o | ConvertTo-Json -Depth 5
$json | ConvertFrom-Json | ConvertTo-Json -Depth 5
Вопрос 23 из 25
CSV после импорта сортирует числа как строки. Что стоит изменить в первую очередь?
PowerShellCSV после импорта сортирует числа как строки
$result = Import-Csv .\x.csv | ForEach-Object { [int]$_.Count } | Sort-Object
$resultType = if($null -eq $result){'<null>'}else{$result.GetType().FullName}
[pscustomobject]@{ Result=$result; Type=$resultType; Count=@($result).Count }
Вопрос 24 из 25
Отчёт различается между консолью и файлом. Что следует сделать до запуска в автоматизации?
Вопрос 25 из 25
Обменный файл проходит ревью безопасности. Какой вывод был бы слишком сильным?

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

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

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

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