Powershell – выполняем скрипт еще быстрее


В прошлых статьях Powershell – параллельное выполнение операций – меняем настройки DNS и Powershell, ADMT и проверка административных шар описано как использовать параллелизм Workflow для ускорения работы скрипта.

Некоторым захочется узнать можно ли сделать ту же работу еще быстрее в рамках Powershell? Да, есть еще один интересный метод, который позволяет выполнять параллельно скрипты с максимальной скоростью.

Этот механизм Powershell называется runspaces. Я не буду ничего расписывать, потому что мне попалась статья (и прекрасный скрипт!), которая хорошо демонстрирует использование runspaces для выполнения скрипта одновременно на множестве систем Speedy Network Information Query Using PowerShell.

К этому можно еще кое-что добавить. Workflow намного проще использовать – вы это увидели, если посмотрели примеры использования Workflow и runspaces. Более того, Workflow это множество возможностей, которых нет в Powershell (помним, что Workflow это не Powershell!)

Поэтому рекомендация проста: используйте Workflow для решения администраторским задач как можно шире; если же вы столкнетесь с недостаточной скоростью Workflow и не сможете оптимизировать Workflow, то используйте runspaces для распараллеливания процессов; к тому же runspaces можно использовать в Workflow и наоборот!

Реклама