Віддалений доступ до робочого столу за протоколом RDP широко використовується для роботи не тільки з серверами, а й з робочими станціями, як для віддаленої роботи, так і з метою адміністрування. Однак є деякі обмеження, зокрема в середовищі клієнтської ОС можна керувати параметрами живлення, навіть маючи права локального адміністратора. У деяких випадках це може волати труднощі, тому якщо ви до сих пір не знаєте, як вимкнути або перезавантажити клієнтську версію ОС через RDP - ця стаття для вас.
У серверних системах сімейства Windows локальний адміністратор, не кажучи про доменне, має повний контроль над системою і не відчуває труднощів в управлінні харчуванням навіть підключившись через віддалений доступ.
У клієнтських ОС ситуація принципово інша, навіть локальний адміністратор не має можливості вимкнути або перезавантажити комп'ютер.
Незважаючи на гадану нелогічність, певний сенс у такій поведінці є. Серверні ОС адмініструють професіонали (як мінімум в теорії), які повинні віддавати собі звіт про можливі наслідки своїх дій. З іншого боку, віддалено вимкнувши ПК так просто включити його вже не вийде, в більшості випадків буде потрібно фізична присутність, тому рішення прибрати подібну функцію від простих користувачів виглядає цілком обгрунтовано. Адміністратори, дотримуючись цієї логіки, повинні вміти керувати живленням і іншими способами.
Але як показує практика, вміють це не все. Нічого страшного в цьому немає, як говорив мій шкільний учитель: запитати - сором хвилини, не знати - сором усього життя.
графічна оболонка
Насправді "проблема" вирішується не просто, а дуже просто. Вийшовши на робочий стіл досить натиснути Alt + F4, щоб отримати стандартний діалог завершення роботи.
Однак у цього способу є один суттєвий недолік. Дуже часто вимкнути або перезавантажити комп'ютер заважають користуватися деякими програмами, наприклад, незбережений документ. Подібна картина, на наш погляд, знайома кожному.
Біда в тому, що цього екрану через RDP ви вже не побачите. Та й відкриті програми - це півбіди, гірше, коли систему не дає вимкнути або перезавантажити завислий додаток. В цьому випадку доведеться шукати інші методи.
Командний рядок
Як завжди, якщо графічні інструменти не допомагають, на допомогу адміністратору приходить командний рядок. Для того, щоб керувати живленням комп'ютера з її допомогою не треба володіти особливими знаннями, досить запам'ятати одну просту команду. Натисніть Win + R або Пуск - Виконати і введіть наступні команди:
shutdown -s -f -t 0
для виключення
shutdown -r -f -t 0
для перезавантаження.
Розберемо ключі команди докладніше:
- s - виключення комп'ютера
- r - перезавантаження
- f - примусове завершення заважають перезавантаження процесів
- t - час, через яке завершення роботи буде виконано, вказується в секундах через пробіл. Якщо даний параметр не використовується команда буде виконана через 60 секунд.
Утиліта PsShutdown від Sysinternals
Якщо штатні можливості вас з якоїсь причини не влаштовують, то можна скористатися альтернативою - утилітою PsShutdown від Sysinternals. Додайте скачаний файл в будь-якому зручному місці, найкраще в одному із зазначених у змінній PATH, або додайте туди її розташування, це дозволити запускати її за коротким імені, без вказівки шляху. Синтаксис утиліти схожий на синтаксис стандартної, але є деякі відмінності, так для виключення виконайте:
psshutdown -k -f -t 0
а для перезавантаження:
psshutdown -r -f -t 0
Пояснимо використовувані ключі:
- k - вимикання системи
- r - перезавантаження
- f - примусове завершення процесів
- t - час виконання команди
Якщо замість ключа -k використовувати для виключення ключ -s, то система завершить роботу без виключення живлення, старожили повинні добре пам'ятати:
Крім того, дана утиліта дозволяє керувати живленням інших ПК по мережі. Якщо чесно, то працювати по мережі вміє і штатна утиліта shutdown, досить вказати ключ:
-m \\ computer
Але є один суттєвий недолік - команда виконується в контексті запустив його користувача, тому ви з дому не зможете вимкнути робочий ПК, навіть маючи доступ до корпоративної мережі через VPN і маючи облікові дані адміністратора мережі.
PsShutdown даного недоліку позбавлена і дозволяє вказувати облікові дані для підключення до віддаленого ПК, наприклад:
psshutdown \\ computer -u username -p password -r -f -t 0
Дана команда виконає перезавантаження віддаленого ПК computer використавши для підключення ім'я username і пароль password. Слід пам'ятати, що зазначений вами користувач повинен мати права доступу до адміністративного ресурсу ADMIN $. У середовищі Active Directory цим правом володіє адміністратор домену, а ось в тимчасової мережі можуть виникнути труднощі.
Якщо ви спробуєте вимкнути віддалену систему навіть з використанням облікових даних локального адміністратора, то швидше за все отримаєте помилку Немає доступу.
Це свідчить про те, що даний користувач не має доступу до ресурсу ADMIN $. Щоб його включити потрібно виконати дві умови: включити загальний доступ до файлів і принтерів
А потім в гілку реєстру
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System
додати параметр типу DWORD з ім'ям
LocalAccountTokenFilterPolicy
і встановити його значення рівним 1. Після цього комп'ютер потрібно перезавантажити.
Спробуємо знову вимкнути його віддалено.
Як бачимо в цей раз команда відпрацювала успішно.
PowerShell
Використовувати PowerShell для виключення або перезавантаження комп'ютера, це те саме що стрільби з гармати по горобцях, але в ряді випадків може виявитися корисним.
Для виключення використовуйте команду:
Stop-Computer -Force
А для перезавантаження:
Restart-Computer -Force
Ключ -Force в даному випадку аналогічний ключу -f команди shutdown і передбачає примусове завершення роботи заважають виключення додатків.
Також PowerShell можна використовувати для управління живленням по мережі, наприклад, можна вимкнути віддалений ПК командою:
Stop-Computer -ComputerName computer -Credential username -Force
Де ключи:
- ComputerName - ім'я віддаленого комп'ютера, допускається перерахування кількох імен через кому
- Credential - ім'я облікового запису для аутентифікації в віддаленій системі
При цьому робота через PowerShell більш безпечна, так як пароль не вводиться відкритим текстом і не залишається в історії команд. Для аутентифікації використовуються стандартні механізми ОС.
Як бачимо, для управління живленням в ОС Windows доступні найрізноманітніші інструменти - на будь-який смак і колір. При цьому всі вони доступні всередині термінальній сесії, який з них використовувати - справа особистого смаку і переваг.