Удаленное управление сеансом пользователя windows стандартными средствами

Однажды мне захотелось управлять одним из домашних компьютеров удаленно, но при этом взаимодействовать с текущим пользователем, но компьютер был довольно слабый и при запуске например TeamViewer’а нагрузка процессора поднималась до 98% и компьютер начинал заметно тормозить. Попробовал стандартный RDP, но тогда «выбивался» текущий пользователь и для входа локально приходилось набивать пароль. Но чуть позже мне случайно попалась команда shadow.

Наблюдать за другим сеансом служб удаленных рабочих столов.
SHADOW {<имя сеанса> | <ID сеанса>} [/SERVER:<сервер>] [/V]
<имя сеанса> Имя сеанса.
<ID сеанса> Идентификатор сеанса.
/SERVER:<сервер> Сервер терминалов (по умолчанию текущий).
/V Отображение информации о выполненных действиях.


Например для управления консольным сеансом(пользователем который непосредственно сидит перед компьютером) текущего терминального сервера достаточно ввести команду выполнить - shadow 0. Выход осуществляется через alt * на обычном компьютере и через ctrl * на терминальном сервере.
Но есть неприятная особенность: эта команда работает только из под rdp сессии. Но мой управляемый компьютер был под управлением windows xp поэтому пришлось расширить его возможности сделав из него терминальный сервер (в интернете полно статей как это можно сделать). Тогда все стало довольно просто, подключаемся любым пользователем с правами администратора по rdp и запускаем команду выполнить - shadow 0 попадаем в консольный сеанс, собственно что мне и нужно было. Для уменьшения аппаратных затрат можно при создании rdp подключения выбрать функцию «При подключении запускать следующую программу» и там набрать shadow 0 как на рисунке.



Тогда получается что запускается всего 2 процесса.



Для того что бы все это работало нам необходимо сначала включить RemoteRPC, например через реестр:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
“AllowRemoteRPC”=dword:00000001


После этого можно будет через Диспетчер служб удаленных рабочих столов посмотреть какие пользователи залогинены на компьютере, какие у них id и какие процессы запущены (жаль только названия, нет информации о нагрузке).

По умолчанию пользователю будет задаваться вопрос с разрешением управления, можно отключить вопрос или сделать только удаленное наблюдение, меняется через реестр:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
«Shadow»=dword:0000000x


Где x может иметь значения:
0 — удаленное управление не разрешено
1 -полный контроль с разрешения клиента
2 -полный контроль без разрешения клиента
3 -наблюдение за сеансом с разрешением клиента
4 -наблюдение за сеансом без разрешения клиента

По умолчания этой строчки вообще нет и её нужно будет создавать.

Так же можно включить через групповые политики локальные или доменные. Для включения локально запускаем gpedit.msc — выбираем административные шаблоны — добавление и удаление шаблонов, добавляем System.adm из папки WINDOWS\inf

Теперь настраиваем: конфигурация компьютера — административные шаблоны — компоненты windows — службы терминалов — устанавливает правила для удаленного управления. Для windows xp.

И конфигурация компьютера — административные шаблоны — компоненты windows- службы удаленных рабочих столов – узел сеансов удаленных рабочих столов – подключения – устанавливает правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов. Для windows 7.
Все это работает и в домене, если у пользователя есть соответствующие права.

В доменных настройках профиля пользователя тоже есть настройка подобных прав (я встречал эти настройки даже в домене win 2000)


Если рассматривать терминальный сервер, то там через свойства RDP(через конфигурация узла сеансов удаленных рабочих столов) можно выставить любому пользователю права на удаленное управление,



и отдельно настроить взаимодействие или управление удаленным сеансом.



Для удобства можно подключаться через диспетчер задач
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 41

    0
    Почему это нельзя было сделать по умолчанию в Windows XP\7?
    В серверных это конечно не нужно.
      +6
      Дык, отголоски «сегментирования рынка»
      0
      А мне непонятно для чего сделали запуск только из-под RDP сессии. Возможно функция разрабатывалась для терминальных серверов, но попала и в персональные ОС.
        +2
        Интересно, спасибо!
          0
          Век живи, век учись. Думаю, в теги нужно добавить слово «эзотерика».
            0
            Простите, но замена dll в данном случае — это нарушение лицензии.
              –1
              В данном случае компьютер используется дома, на неё можно смотреть сквозь пальцы. На работе можно подключиться к любому компьютеру(например серверу) по RDP и оттуда подключаться через shadow куда нам нужно.
                –7
                И все-же это факт, делаете технологический пост, не предлагайте нелегальные решения.

                Какая разница где происходит нарушение: дома или на работе?
                  +1
                  Продолжаем давить Википедия — лицензионная политика MS

                  Ограничения
                  Ограничения, налагаемые на конечного пользователя:[15]
                  Запрещается использование компонентов программного обеспечения для работы с приложениями, не предназначенными для работы с этим программным обеспечением.


                  Хотя, да — это многим не нравится
                    +3
                    Просто любопытно, а что плохого в варианте «Узнать как делать»?
                    Хабраюзер предложил вам посмотреть на одну интересную особенность удаленных столов windows, не обмолвившись и словом о поддержании или нарушении лицензии. Предлагаю не устраивать истерику на пустом месте.

                    зы: Прошу прощение за столь резкое высказывание.
                +1
                Я для себя недавно открыл аналог радмина — LiteManager. У них есть бесплатная версия, функционал которой, в принципе, достаточен. Ставите сервер на комп и через клиента подключаетесь к нему. Через интет к серваку тоже подключаться умеет. Даже умеет, вроде бы, NAT пробивать, но пока как-то необходимости не было это заюзать.
                  0
                  Юзал данную софтину. Вернее ее аналог от того-же разработчика — Remote Manipulator System. Очень понравилась. Так же есть бесплатная версия.
                  NAT, как Вы выразились, пробивает при использовании Internet-ID (можно даже свой сервер у себя поставить, и через него все подключения вести)
                  А если конкретнее — то настраивал такую схему: есть сеть магазинов, имеющих доступ в интернет. На каждом пк ставится RMS Server. Подключение выполняется на свой сервер Win2k8 R2 с установленным «Mini Internet-ID сервер». Себе на компьютер ставлю RMS Client и прописываю все подключения. В результате — с одного места имею доступ на все компьютеры сети магазинов. Можно даже без подключения просматривать что на данный момент выполняется на рабочем столе. Кому интересны подробности — обращайтесь.
                    0
                    Маленькая поправка. Программы LiteManager и Remote Manipulator System, однако, уже от разных разработчиков. Но они родственные, т.е. пошли от одного продукта — Remote Office Manager. Авторы разбежались и начали продвигать каждый свой продукт.
                      0
                      Спасибо за наводку. Прога действительно привлекательная.
                      Только вот нашел какой минус для меня: не просит каждый раз пароль при подключении к другому компу. Запоминает авторизацию до выхода из программы. Я бы предпочел вводить пароль каждый раз при каждом действии.
                    0
                    Объясните пожалуйста. Перечитал пост два раза и не до конца понял, что в итоге получается? Локальный и удаленный юзеры могут работать одновременно в одном сеансе? (двигать мышью, тыкать клавиши) Или что?
                      0
                      Именно. Как в VNC, радмине или TeamViewer’е.
                      +9
                      image
                      Это просто идеал интерфейса.
                        0
                        Прочитал статью, обрадовался. Думал наконец-то смогу удаленно управлять пользователем (зашел через RDP под юзером Lexxadmin), который зашел локально, без RDP (Robotstask).
                        Но не тут то было:


                        Что я делаю не так?

                        P.S. Все настройки, которые приведены в статье, уже стоят.
                          0
                          После настроек релогин, пользователем которым нужно управлять, делали? Если настройка была для пользователя, если настройка была для компьютера, то нужно компьютер перезагрузить.
                          Если запустить через консоль командой или диспетчер задач появляется такая же ошибка?
                            0
                            Все настройки либо были сделаны по умолчанию, либо после установки сервера. После этого перезагрузки и релогинов было не сосчитать. Ошибка выше всегда есть. К другим сеансам, которые через RDP, подключаюсь без проблем.
                          0
                          в 2003 сервере для подключения к консольному сеансу можно в строке подключения поставить параметр /admin
                          например: terminal /admin
                            0
                            А немного поподробнее? Где именно дописать /admin?
                            Пробовал так:

                            Видимо не понимаем этого параметра.
                              +2
                              Хм…
                              А вот так заработало: из cmd
                              mstsc.exe C:\console.rdp /console
                              где в C:\console.rdp лежат настройки коннекта к самому себе с введенным логином/паролем.

                              Спасибо, что помогли разобраться со старой проблемкой.
                                +1
                                Обновите MSTSC до актуальной версии и будет у вас /admin, правда пропадает /console…
                            0
                            Забавно, когда про команду shadow пишет юзер WildShadow.
                            Ник под статью для песочницы специально подбирали?
                              0
                              Немного каламбур получился, но ник я этот году в 2006-2007 придумал. Тогда о такой команде я даже и не знал.
                                0
                                Занятно :)
                                С дебютом Вас.
                              +1
                              Я правильно понял, что никто здесь не знает об «Удаленном помощнике»? О том самом, который еще со времен XP позволяет оператору поддержки совместно с пользователем управлять его (пользователя) рабочим столом! Откройте встроенную справку, что ли.

                              Да, забегая вперед, скажу — параметры подключения задаются в том числе через групповую политику. Нужно ли подтверждение пользователя, какие группы могут предлагать помощь без запроса и т.д.

                              А уж совсем забегая вперед — корпоративные системы управления инфраструктурой вроде SCCM очень хорошо с этой функциональностью дружат by design.
                                0
                                Вот я тоже с самого начала статьи об этом думал. Странно, что за 3 дня полтыщи человек добавили в избранное, но никто не написал (ну кроме вас) про удаленного помощника.
                                  0
                                  Для моей проблемы, которую я решил через shadow, удаленный помощник не помог бы. Но врать не буду, помощником никогда не пользовался (кроме тестирования).
                                    0
                                    А что именно не позволяет сделать Удаленный помощник из того, что можно сделать таким способом?
                                      0
                                      Мне нужна была работа на полный экран например. В удаленном помощнике такого не нашел. Ну и окошечко чата/управления мешалось бы. Если использовать для помощи, то вполне удобная штука, если приучить к ней пользователей.
                                        0
                                        Посмотрел политики, не нашел там опцию для управления без подтверждения пользователем, ещё не понятно можно ли настроить работу без приглашения на компьютерах без домена.
                                    –1
                                    А вы им реально пользовались?
                                    Редкостное гавно, мало того что надо чтобы пользователь с той стороны подтверждал подключение и возможность управления, так оно еще к трафик жрет.
                                    У меня когда-то была схема, в которой был сервер 2003 + rdp к нему, и через него я уже подключался через удаленного помощника на рабочие станции. Так вот на сервере я мог спокойно работать и подключаться через rdp к другому серверу и все было в рамках допустимого. Но как только я подключался к Удаленному помощнику, что-то сделать на том рабочем столе, было редкостное испытание. В лучшем случае я просто говорил что делать, но задержки между обновлениями экрана были просто чудовищные.
                                    И да подключение было через ADSL и на отдачу был честный 1мб
                                      +1
                                      Подтверждение пользователя можно убрать с помощью соответствующего параметра в gpedit (в статье об этом сказано). Кроме того в статье не говорится про удаленного помощника. Загрузка сети и проца по идее не должна быть высокой, т.к. используется RDP.
                                        0
                                        Я про удаленного помощника если что писал, а не про саму статью). И на всякий случай, вы написали про запрос именно удаленного помощника или все таки про статью топика стартера?
                                          0
                                          Извиняюсь, писал про статью, не заметил, что эта ветка про удаленного помощника.
                                      0
                                      Напишите статью. А то все про него слышали, но никто никогда не использовал :)
                                      0
                                      Спасибо за информацию!
                                      Протестировал у себя в сети — работает, теперь надо с удаленными офисами тестировать.
                                      Надеюсь, что заменю радмин на эту схему.
                                        0
                                        Ammyadmin?
                                          0
                                          Несколько минусов:
                                          Каждый компьютер, участвующий в сессии удаленного доступа при коммерческом использовании должен иметь платную лицензию. ©
                                          Требует запуска/установки.
                                          Не стандартное средство.
                                          Постоянно кушает ресурсы.
                                          Пользователь видит когда к нему зашли.

                                        Only users with full accounts can post comments. Log in, please.