Видалення Windows PowerShell
Видалення Windows PowerShell, яке використовує протокол управління WS, дозволяє запускати будь-яку команду Windows PowerShell на одному або багатьох віддалених комп'ютерах. Це дозволяє встановлювати стійкі з'єднання, запускати інтерактивні сеанси 1: 1 та запускати сценарії на декількох комп'ютерах. Щоб використовувати Windows PowerShell для видалення, віддалений комп'ютер повинен бути налаштований для віддаленого управління. Після налаштування видалення Windows PowerShell вам доступні багато стратегій видалення. У решті цього документа перераховано лише декілька з них.
Почніть інтерактивну сесію
Щоб розпочати інтерактивний сеанс за допомогою одного віддаленого комп'ютера, використовуйте командлет Enter-PSSession. Наприклад, щоб розпочати інтерактивний сеанс із віддаленим комп'ютером Server01, введіть:
Enter-PSSession Server01
Командний рядок змінюється, щоб відобразити ім'я комп'ютера, до якого ви підключені. З цього моменту всі команди, які ви вводите під час швидкого запуску на віддаленому комп'ютері, і результати відображаються на локальному комп'ютері.
Щоб закінчити інтерактивний сеанс, введіть:
Exit-PSSession
Запустіть віддалену команду
Для запуску будь-якої команди на одному або багатьох віддалених комп'ютерах використовуйте командлет Invoke-Command. Наприклад, щоб запустити команду Get-UICulture на віддалених комп'ютерах Server01 та Server02, введіть:
invoke-command -computername Server01, Server02 {get-UICulture}
Вихід повертається на ваш комп'ютер.
LCID Name DisplayName PSComputerName
---- ---- ----------- --------------
1033 en-US English (United States) server01.corp.fabrikam.com
1033 en-US English (United States) server02.corp.fabrikam.com
Запустіть сценарій
Щоб запустити скрипт на одному або багатьох віддалених комп'ютерах, використовуйте параметр FilePath командлета Invoke-Command. Сценарій повинен бути увімкненим або доступним для вашого локального комп'ютера. Результати повертаються на ваш локальний комп'ютер.
Наприклад, наступна команда виконує скрипт DiskCollect.ps1 на віддалених комп'ютерах Server01 та Server02.
invoke-command -computername Server01, Server02 -filepath c:\Scripts\DiskCollect.ps1
Встановіть стійкий зв’язок
Щоб запустити ряд пов’язаних команд, які обмінюються даними, створіть сеанс на віддаленому комп'ютері, а потім використовуйте командлет Invoke-Command для запуску команд у створеному вами сеансі. Для створення віддаленого сеансу використовуйте командлет New-PSSession.
Наприклад, наступна команда створює віддалений сеанс на комп'ютері Server01 та інший віддалений сеанс на комп'ютері Server02. Він зберігає об’єкти сеансу у змінній $ s.
$s = new-pssession -computername Server01, Server02
Тепер, коли сеанси встановлені, ви можете запустити в них будь-яку команду. А оскільки сеанси є стійкими, ви можете збирати дані в одній команді та використовувати їх у наступній команді.
Наприклад, наступна команда виконує команду Get-Hotfix під час сеансів у змінній $ s і зберігає результати у змінній $ h. Змінна $ h створюється для кожного з сеансів у $ s, але вона не існує в локальному сеансі.
invoke-command -session $s {$h = get-hotfix}
Тепер ви можете використовувати дані у змінній $ h у наступних командах, таких як наступна. Результати відображаються на локальному комп'ютері.
invoke-command -session $s {$h | where {$_.installedby -ne "NTAUTHORITY\SYSTEM"} }