Поиск по сайту:

Как запустить анализатор лучших практик с помощью PowerShell


В этом учебнике вы научитесь запускать и просматривать результаты анализа лучших практик с помощью PowerShell. Кроме того, я покажу вам, как вывести результаты в таблицу, которую можно искать.

Что такое анализатор наилучших практик?

Анализатор лучших практик — это инструмент Microsoft, который впервые стал доступен в Windows Server 2008 R2. Этот инструмент выполняет сканирование ролей на вашем сервере и сообщает обо всех нарушениях лучших практик. Эти лучшие практики определены экспертами Microsoft; например, рекомендуется регулярно создавать резервные копии Active Directory. Анализатор лучших практик может сканировать Active Directory и сообщать, если ваша Active Directory не была недавно сохранена.

Инструмент анализа лучших практик (BPA) можно запустить как из интерфейса, так и с помощью PowerShell. Я считаю, что графический интерфейс работает очень медленно, и поэтому предпочитаю запускать его с помощью PowerShell.

Преимущества анализа лучших практик

  • Найдите нарушения наилучших практик на ваших серверах
  • Увеличьте безопасность
  • Найдите проблемы с производительностью и надежностью
  • Найдите проблемы с конфигурацией

Команды PowerShell для анализа лучших практик

Существует три разных командлета PowerShell, которые будут использоваться для выполнения и просмотра результатов BPA.

Получить-BPAмодель

Этот командлет получает и отображает список тестов BPA, которые можно выполнить на системе. Этот командлет также отобразит последнее время, когда сканирование было выполнено.

Вызов-BPAмодели

Этот командлет начнет сканирование BPA для конкретного теста (роли).

Получить-РезультатBPA

Отображает результаты недавнего сканирования BPA.

Теперь я пройдусь по некоторым примерам.

Шаг 1: Перечислите доступные тесты анализатора лучших практик (модели)

Первый шаг - перечислить, какие тесты анализатора лучших практик доступны на вашем сервере. Это можно сделать с помощью следующей команды.

get-bpamodel | select ID, Name, lastscantime

Как вы можете видеть, этот cmdlet перечислит доступные тесты BPA (Microsoft называет их моделями) и время последнего сканирования. Список тестов определяется теми ролями, которые вы установили на своем сервере.

Шаг 2: Запустите сканирование BPA

Далее, вы берёте Идентификатор из шага 1 и используете команду Invoke-BPAModel для запуска сканирования. Я собираюсь запустить сканирование на DirectoryServices, которое является Active Directory. Это делается с помощью команды Invoke-BPAModel + Идентификатор. Идентификатор для Active Directory — "Microsoft/Windows/DirectoryServices", поэтому полная команда выглядит следующим образом:

Invoke-BPAModel “Microsoft/Windows/DirectoryServices”

Если бы я хотел провести сканирование BPA на DNS, команда была бы:

Invoke-BPAModel “Microsoft/Windows/DNSServer”

Вот скриншот сканирования DirectoryServices. Это не отображает результаты, а только показывает статус сканирования.

Шаг 3: Просмотр результатов сканирования BPA

На этом этапе я только что выполнил сканирование BPA в Active Directory и DNS. Теперь пришло время просмотреть результаты этих сканирований. Это делается с помощью команды Get-BpaResult и идентификатора теста.

Get-BpaResult “Microsoft/Windows/DirectoryServices”

Ниже представлен вывод команды.

Как вы видите, это не в удобочитаемом формате, и он может выводить много данных. Существует несколько способов привести это в порядок и сделать его более удобочитаемым.

Прежде всего, необходимо отфильтровать некоторые поля, которые вам не нужны. Есть несколько полей, которые мне не нужны, такие как ResultNumber, Excluded, RuleID, SubModelID и так далее. Так что вы можете использовать команду format-table, а затем перечислить поля, которые хотите отобразить.

В приведенном ниже примере я просто хочу отобразить Серьезность, Категорию, Проблему и Влияние.

Get-BpaResult -ModelId Microsoft/Windows/DirectoryServices | format-table Severity,Category,Problem,Impact

Ниже приведены результаты команды.

Это выглядит лучше, но есть несколько пустых строк. Поскольку я просто хочу найти любые проблемы, я могу удалить информацию о результатах из отображения.

Это можно сделать, отображая результаты, где серьезность не равна «Информация».

Get-BpaResult -ModelId Microsoft/Windows/DirectoryServices | where severity -ne Information | format-table Severity,Category,Problem,Impact

Вот результаты команды.

Теперь у меня есть гораздо более чистый отчет, который отображает только те детали, которые мне нужны.

Отобразить результаты сканирования BPA в сетке

Более простым вариантом просмотра сканирования BPA является вывод его в сетку. Это делается с помощью передачи результатов в OGV. OGV является аббревиатурой для Out-GridView.

Get-BpaResult -ModelId Microsoft/Windows/DirectoryServices | OGV

Вот как выглядит выход.

Гораздо легче читать, верно?

Вы также можете отфильтровать результаты, введя значение в фильтр. Например, если я введу 'предупреждение', результаты будут отфильтрованы так, чтобы отображались только те, которые содержат 'предупреждение'. Вы также можете изменить порядок столбцов.

Экспортировать BPA-скан в файл (CSV или HTM)

Если вы хотите сохранить результаты сканирования в файл, используйте один из этих вариантов.

  • Экспорт-CSV
  • преобразовать в HTML

Вот пример экспорта в файл CSV.

Get-BpaResult -ModelId Microsoft/Windows/DirectoryServices | export-csv c:\it\scan.csv

Вот снимок экрана с результатами.

Вот пример экспорта результатов сканирования в файл html

Get-BPAResult Microsoft/Windows/DirectoryServices | convertTo-Html | Set-Content C:\BPAResults\DirectoryServices.htm

Резюме

Анализатор лучших практик — это отличный инструмент, встроенный в серверы Microsoft. Не думаю, что многие о нем знают или используют. Я рекомендую время от времени запускать его, чтобы узнать, есть ли у ваших серверов какие-либо серьезные проблемы или некорректные настройки в соответствии с лучшими практиками Microsoft. Хотя вы можете запускать сканирование из графического интерфейса, я считаю, что сканирования через PowerShell быстрее и проще в использовании.

Источники :

  • Запустите сканирование анализатора лучших практик и управляйте результатами сканирования.
  • Преобразовать в HTML
  • Export-Csv