Крок 1. Надання віддаленого доступу
Крок 2: Перевірте з'єднання
Крок 3: Відкриття портів
Крок 4: Виконання команд
PowerShell — це потужна командна консоль, що входить до сучасних версій Windows. Однією з його найкорисніших функцій є можливість виконувати команди на віддалених серверах. Це може бути корисно для системних адміністраторів, які керують кількома серверами Windows.
Крок 1. Надання віддаленого доступу
По-перше, нам потрібно дозволити віддалений доступ. На сервері, до якого ви хочете отримати віддалений доступ, відкрийте PowerShell з правами адміністратора (тому клацніть правою кнопкою миші PowerShell і виберіть «Запуск від імені адміністратора»). Виконайте таку команду:
Enable-PSRemoting -Force
Це запускає службу WinRM, гарантує, що вона запускається автоматично, і налаштовує ваш брандмауер так, щоб він дозволяв вхідні з’єднання.
На комп’ютері (з якого ви хочете підключитися) виконайте таку команду з правами адміністратора:
Enable-PSRemoting -Force
Нам потрібно переконатися, що обидва комп’ютери довіряють один одному. Для цього нам потрібно налаштувати параметр «TrustedHosts». Якщо ви хочете дозволити підключення до вашого комп’ютера/сервера з усіх комп’ютерів, виконайте:
Set-Item wsman:\localhost\client\trustedhosts *
Якщо ви хочете обмежити це для певних комп’ютерів, скористайтеся такою командою. Замініть розділений комами список 0.0.0.0, 1.1.1.1, 2.2.2.2 і 3.3.3.3 на IP-адреси, до яких буде отримувати доступ.
Set-Item wsman:\localhost\client\trustedhosts 0.0.0.0,1.1.1.1,2.2.2.2,3.3.3.3
Тепер перезапустіть WinRM:
Restart-Service WinRM
Крок 2: Перевірте з'єднання
Щоб перевірити з’єднання, перейдіть до комп’ютера, з якого потрібно під’єднатися, і виконайте:
Test-WsMan ipaddress
Замініть ipaddressна IP-адресу іншого комп’ютера/сервера.
Крок 3: Відкриття портів
Перша команда, яку ми виконали ( Enable-PSRemoting -Force), автоматично налаштує брандмауер так, щоб він приймав вхідні з’єднання для віддаленого доступу. Однак якщо перед брандмауером є щось (наприклад, ваш маршрутизатор), можливо, вам також доведеться налаштувати переадресацію портів. Використовуються такі порти:
- 5985 для HTTP
- 5986 для HTTPS
Крок 4: Виконання команд
Для виконання команд на віддаленому сервері використовується:
Invoke-Command -ComputerName ipaddress -ScriptBlock { command } -credential username
Замініть ipaddressIP-адресу сервера, commandкоманду, яку ви хочете виконати на цьому сервері, і usernameім’я користувача, який виконуватиме команду.
Якщо ви не хочете використовувати Invoke-Commandдля кожної окремої команди, замість цього можна почати сеанс. Кожна команда, яку ви введете, буде виконуватися на віддаленому сервері із зазначеними обліковими даними. Синтаксис для початку сеансу такий:
Enter-PSSession -ComputerName ipaddress -Credential username
Замініть ipaddressна IP-адресу сервера та usernameна користувача, який виконуватиме команду. Кожна команда, яку ви введете, буде виконуватися на віддаленому сервері.