Назад | Перейти на главную страницу

Используйте PowerShell для запуска проверки на вирусы на нескольких серверах

Я пытаюсь запустить проверку на вирусы на списке серверов в нашей среде. Существуют сотни машин, поэтому мы хотели бы запускать сканирование (с помощью командной строки, которая у нас уже есть) около 10 за раз. Мы совершенно не знакомы с PowerShell, поэтому мы будем благодарны за любую помощь. У нас есть общее представление о том, какие команды нам нужно использовать - вот как, по нашему мнению, сейчас это может работать:

$server = Get-Content "serverlist.txt"
$server | % {

$VirusScan = { Scan32.exe }

Invoke-Command -ScriptBlock { $VirusScan } -computerName $server -ThrottleLimit 10 -Authentication domain/admin 


}

У кого-нибудь есть предложения о том, как мы можем это организовать?

Вы пытаетесь использовать здесь не тот инструмент. McAfee ePolicy Orchestrator (ePO) может планировать сканирование, собирать результаты, принудительно выполнять сканирование по требованию и выполнять всевозможные другие полезные действия, например сохранять копию репозитория обновлений.

Чтобы напрямую ответить на ваш вопрос (без знания McAfee и его инструментов управления и, следовательно, понимания того, что может быть лучший подход к вашей ситуации), прочтите следующий раздел Invoke-Command справочное руководство:

-AsJob

Выполняет команду как фоновое задание на удаленном компьютере. Используйте этот параметр для запуска команд, выполнение которых требует много времени.

Когда вы используете AsJob, команда возвращает объект, представляющий задание, а затем отображает командную строку. Вы можете продолжить работу в сеансе, пока работа будет завершена. Для управления заданием используйте командлеты Job. Чтобы получить результаты работы, используйте Получение работы командлет.

Добавить -AsJob на ваш Invoke-Command команда и задание будет создано для каждого удаленного хоста. Как только задание будет создано, оно перейдет к следующему, не дожидаясь завершения сканирования. Это должно устранить необходимость использования -ThrottleLimit также.

Ссылки: