Привет! Как большой поклонник и активный практик
PowerShell я часто сталкиваюсь с тем, что мне необходимо повторно использовать ранее написанные куски кода.
Собственно, для современных языков программирования code reuse — это обычное дело.
PowerShell в этом вопросе не отстает, и предлагает разработчикам (написателям скриптов) сразу несколько механизмов обращения к написанному ранее коду.
Вот они по возрастанию сложности: использование функций, дот-сорсинг и написание собственных модулей.
Рассмотрим их все порядку.
В качестве решения лабораторной задачи напишем скрипт, который расширяет раздел
C:\ до максимально возможного размера на удаленном Windows-сервере
LAB-FS1.
Такой скрипт будет состоять из одной строки и выглядеть так:
Invoke-Command -ComputerName LAB-FS1 -ScriptBlock { "rescan", "select volume=c", "extend" | diskpart }
Работает это так. Сначала
PowerShell устанавливает удаленное соединение с сервером
LAB-FS1 и запускает на нем локально набор команд, заключенный в фигурные скобки параметра
-ScriptBlock. Этот набор в свою очередь последовательно передает команде
diskpart три текстовых параметра, а
diskpart выполняет (по очереди) повторное сканирование разделов, выбор раздела
C:\ и расширение его до максимально возможного размера.
Как видите, скрипт крайне простой, но в то же время крайне полезный.
Рассмотрим, как правильно упаковать его для повторного использования.
Для этого у нас есть три способа. http://habrahabr.ru/post/245875/