Привіт всім! У цій статті розглянемо таке питання, як віддалене виконання сценаріїв використовуючи Windows PowerShell 2.0
Подивимося стан служби WinRM, виконавши команду get-service winrm. Як бачимо, дана служба виконується
Перейдемо на машину з Windows 7. На даній машині на диску C створена папка Scripts
В папці Scripts був заздалегідь підготовлений сценарій Service_status.ps1
Якщо відкрити файл Service_status.ps1 (наприклад в блокноті), то можна побачити, що в ньому прописані дві команди:
clear - очищення екрану PowerShell
get-service s * | sort-object status - отримати список служб, які починаються на букву S і впорядкувати їх за параметром Status
Запускаємо на машині з Windows 7 PowerShell
Administrator - користувач, від імені якого буде проводиться підключення до віддаленої машині
- в даних дужках прописуємо команду, яку потрібно виконати на віддаленій машині. Так як нам потрібно визначити політику виконання сценаріїв PowerShell, в дужках пишемо команду get-executionpolicy
Вводимо пароль користувача для підключення до віддаленої машині
Server01 - назва віддаленого комп'ютера, на якій виконується сценарій
Як бачимо, сценарій Service_status.ps1 успішно відпрацював на машині з ім'ям Server01 і відобразив нам список служб починаються на букву S
Напишемо ще один сценарій, що складається з однієї команди, а саме stop-service sppsvc
Даною командою ми зупинимо виконувати службу sppsvc на віддаленій машині Server01
Вибираємо File-Save As
Сценарій збережемо в папці Scripts на диску С: під ім'ям Stop_service_sppsvc
Збережено сценарій Stop_service_sppsvc.ps1
Виконаємо створений сценарій Stop_service_sppsvc.ps1 на віддаленій машині Server01
Для цього вводимо команду invoke-command -filepath C: \ Scripts \ Stop_service_sppsvc.ps1 -computerName Server01 і виконуємо її
Сценарій Stop_service_sppsvc.ps1 виконаний успішно, так як ніяких помилок PowerShell нам не видав
Після виконання сценарію Stop_service_sppsvc.ps1 служба sppsvc на віддаленій машині Server01 повинна бути зупинена.
Перевіримо стан служби sppsvc на віддаленій машині Server01 виконавши сценарій Service_status.ps1
Виконуємо команду invoke-command -filepath C: \ Scripts \ Service_status.ps1 -computername Server01
Як бачимо, служба sppsvc на машині з ім'ям Server01 зупинена