Якщо Вам необхідно управляти одним з комп'ютерів віддалено, і при цьому взаємодіяти з поточним користувачем, але при запуску наприклад TeamViewer'а навантаження процесора піднімається до 98% і комп'ютер починає помітно гальмувати, то Ви можете спробував стандартний RDP. При його використанні відбудеться «вихід із системи» поточного користувача і для подальшого входу локально доведеться вводити пароль. Вихід з ситуації, що склалася нам допоможе знайти стандартна команда shadow.
Спостерігати за іншим сеансом служб віддалених робочих столів.
<имя сеанса> Ім'я сеансу.
/ SERVER:<сервер> Сервер терміналів (за замовчуванням поточний).
/ V Відображення інформації про виконані дії.
Наприклад для управління консольним сеансом (користувачем, який безпосередньо сидить перед комп'ютером) поточного термінального сервера досить ввести команду виконати -shadow 0. Вихід здійснюється через alt * на звичайному комп'ютері і через ctrl * на термінальному сервері.
Але є неприємна особливість: ця команда працює тільки з під rdp сесії. Але мій керований комп'ютер був під керуванням windows xp тому довелося розширити його можливості зробивши з нього термінальний сервер (в інтернеті повно статей як це можна робити шляхом заміни dll). Тоді все стало досить просто, підключаємося будь-яким користувачем з правами адміністратора по rdp і запускаємо команду виконати -shadow 0 потрапляємо в консольний сеанс, власне що мені і треба було. Для зменшення апаратних витрат можна при створенні rdp підключення вибрати функцію «При підключенні запускати наступну програму» і там набрати shadow 0 як на малюнку.
Тоді виходить що запускається всього 2 процесу.
Для того що б все це працювало нам необхідно спочатку включити RemoteRPC, наприклад через реєстр:
Після цього можна буде через Диспетчер служб віддалених робочих столів подивитися які користувачі залягання на комп'ютері, які у них id і які процеси запущені (шкода тільки назви, немає інформації про навантаження).
За замовчуванням користувачеві буде здаватися питання з дозволом управління, можна відключити питання або зробити тільки віддалене спостереження, змінюється через реєстр:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services]
Де x може мати значення:
0 - віддалене управління не дозволено 1-повний контроль з дозволу клієнта 2-повний контроль без дозволу клієнта 3 -Спостереження за сеансом з дозволом клієнта 4 -Спостереження за сеансом без дозволу клієнта
За умовчання цього рядка взагалі немає і її потрібно буде створювати.
Так само можна включити через групові політики локальні або доменні. Для включення локально запускаємо gpedit.msc - вибираємо адміністративні шаблони - додавання і видалення шаблонів. додаємо System.adm з папки WINDOWS \ inf
Тепер налаштовуємо: конфігурація комп'ютера - адміністративні шаблони - компоненти windows - служби терміналів - встановлює правила для віддаленого управління. Для windows xp.
І конфігурація комп'ютера - адміністративні шаблони - компоненти windows- служби віддалених робочих столів - вузол сеансів віддалених робочих столів - підключення - встановлює правила віддаленого управління для призначених для користувача сеансів служб віддалених робочих столів. Для windows 7.
Все це працює і в домені, якщо у користувача є відповідні права.
Якщо розглядати термінальний сервер, то там через властивості RDP (через конфігурація вузла сеансів віддалених робочих столів) можна виставити будь-якому користувачеві права на віддалене управління,
і окремо налаштувати взаємодію або управління віддаленим сеансом.