- Remove From My Forums
-
Общие обсуждения
-
Нужно, чтобы при подключении пользователя к удаленному рабочему столу Windows Server 2016 запускалась определенная программа. Пользователь создан в Управление компьютером — Служебные программы — Локальные пользователи
и группы — Пользователи. Членство в группах: «Пользователи удаленного рабочего стола». В свойствах пользователя на вкладке «Среда» стоит галка «при входе в систему запускать следующую программу» Прописан путь
к программе c:Program FilesInternet Exploreriexplore.exe (также пробовал в кавычках).При подключении пользователя по RDP, открывается рабочий стол сервера, а IE не запускается. В Windows Server 2012 с точно такими же настройками все работает. Что нужно сделать в 2016?
-
Изменен тип
9 марта 2017 г. 11:14
-
Изменен тип
На чтение 7 мин Просмотров 1.5к.
Содержание
- Создание RDP для запуска одной программы
- С помощью Windows 7
- С помощью Windows Server 2008
В некоторых случаях необходимо запускать какие либо приложения на сервере например программу 1С. Т.е создается отдельно сервер ставиться на него 1С и пользователи с помощью rdp подключаются и работаю на нем. Но это не совсем удобно так как при простом подключении по rdp пользователь видит новый рабочий стол.
Если к примеру нужно открыть какой либо другой документ на рабочем столе то нужно свернуть терминальную сессию. Лучше сделать так чтобы при подключении по RDP запускалась только программа. Выглядеть это будет как запуск обычного приложения хотя на самом деле это будет удаленное подключение к серверу.
Давайте на пример 1С создать такой RDP ярлык. Рассмотрим два способа создания подобного ярлыка один средствами Windows второй с помощью Windows Server. Напомню что для таких подключений необходимо создать пользователей на сервере. Делается это через Управление компьютером если кто не знает или забыл.
Создание RDP для запуска одной программы
С помощью Windows 7
И так тут все достаточно просто запускаем Подключение к Удаленному рабочему столу через и кликаем Параметры.
В открывшемся окне переходим на вкладку Программы. Ставим галочку на против пункта При подключении запускать следующею программу указываем путь и рабочую папку программы.
Далее переходим на вкладку Общие и сохраняем rdp ярлык. И пробуем подключиться, но этот способ очень часто не дает желаемого результата очень часто возникают разные ошибки с правами пользователей и т.д. По этому лучше воспользоваться вторым.
С помощью Windows Server 2008
В качестве примере я воспользуюсь Server 2008. И так заходим на сервер с правами администратора. Идем в Пуск — Администрирование — Службы терминалов — Диспетчер удаленных приложений RemoteApp служб терминалов.
Для начала нужно добавить приложение, для этого в низу в окне Удаленные приложения remoteApp кликаем правой кнопкой и выбираем Добавить удаленное приложение… Проходим все пункты с помощью мастера там ничего сложного нет по этому описывать ничего не буду.
Теперь создадим сам ярлык. Выделяем в добавленное приложение в окну Удаленные приложения потом в правой части окна кликаем на Создать RDP-файл.
Откроется мастер создания проходим все необходимые шаги тут также все просто ни чего менять не нужно.
В конце должно открыться окно с созданным ярлыком.
Копируем этот ярлык на рабочею станцию и пробуем подключиться с помощью ранее созданной учетной записи пользователя.
Если вы все сделали правильно то должна запуститься выбранная вами программа в моем случае это 1С. Ну вот все надеюсь кому то пригодиться данная статья.
2015.08.30 / Дмитрий Марков / 0 Comments
Сегодня мы рассмотрим довольно интересную тему, а именно добавление программ и файлов в список для автоматического запуска при старте операционной системы. По-сути по отдельности каждый из представленных способов будут просты, но я решил объединить в одну статью все известные мне способы средством самой операционной системы.
Способы:
1. Добавлением ярлыка в папку автозапуска
2. С помощью реестра.
3. С помощью планировщика заданий.
Способ №1.
Добавление ярлыка программы в папку автозапуска. [adsense3] Этот способ идет первым, так как является самым простым из всех представленных и в большинстве случаев его будет более, чем достаточно. Для этого нужно произвести всего пару действий:
1) Кликаем по исполняющему файлу программы. И в контекстном меню выбираем «Создать ярлык». Полученный ярлык вырезаем с текущего местоположения. Так же можно просто скопировать ярлык с рабочего стола, если он имеется. 2) Далее нам нужно перенести (скопировать) его в папку, какую папку выбирать вам.
а) Если вы хотите чтобы эта программа загружалась только для вашего пользователя, то открываем проводник и вставляем в строку адреса:
б) Если же вы хотите, чтобы программа запускалась у всех пользователей, то добавляем в папку:
Все, после этих действий программа будет автоматически запускаться при старте системы.
Способ №2.
Добавление программы в автозапуск через запись в реестре.
1) Открываем реестр, для этого жмем сочетание клавиш Win+R и вводим regedit.
2) Здесь так же есть два варианта развития события:
а) Только для пользователя открываем ветку:
б) Для всех пользователей открываем ветку:
3) Кликаем правой клавишей по пустому месту в правой части окна и выбираем «Создать» — «Строковый параметр».
4) Задаем имя, соответствующее названию программы и дважды по нему кликаем, чтобы открыть свойства и задать значение. В «значение» указываем полный путь до исполняющего файла программы. Его можно взять из свойств ярлыка рабочего стола или самого исполняющего файла.
5) Жмем ОК и все, теперь программа добавлена в автозапуск.
Способ №3.
Добавлением программ в автозапуск с помощью утилиты «Планировщик заданий» Windows. Да, в ОС Microsoft Windows есть встроенная утилита для добавление программ и не только в автозапуск. При этом с очень большим количеством настроек.
1) Открываем «Планировщик заданий». Можно открыть Панель управления — Система и безопасность — Администрирование и здесь уже выбрать его из списка. Или нажмите сочетание клавиш Win+R и введите taskschd.msc. Откроется следующее окно.
2) Жмем справа кнопку «Создать простую задачу…». Откроется «Мастер создания простого задания» (куда же в майкрософте без мастеров создания;). Вводим имя нашей задачи и при необходимости даем пару строк описания. И жмем кнопку «далее».
3) Выбираем когда должна запускаться наша программа, так как я сейчас добавляю веб-сервер и хочу чтобы он у меня запускалось до ввода пароля пользователя я выберу «При запуске компьютера».
4) Нас интересует «запустить программу». Остальное Бил Гейтс и не рекомендует.
5) Жмем кнопку «обзор» и ведем к программе, которую мы хотим запускать при старте.
6) Проверяем все ли правильно мы указали и жмем «Готово». Программа добавлена в автозагрузку.
Автозапуск программ при входе пользователя в систему
Раз уж была затронута тема запрета запуска программ с помощью каталога Автозагрузка, поговорим о другом методе запуска программ — посредством реестра Windows. В реестре Windows XP существует много ветвей, из которых программа может быть автоматически запущена, но основной ветвью, используемой для этого, является HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun (а также ветвь корневого раздела HKEY_LOCAL_MACHINE). Поэтому для этих ветвей также желательно установить только доступ на чтение, как для своей учетной записи, так и для учетной записи системы. Этим вы решите два вопроса. Во-первых, сделаете невозможным установку автоматического запуска новых программ, а во-вторых, повысите общий уровень защиты от вирусов и других хакерских программ, которые запускаются при входе пользователя в систему, так как они чаще всего используют для своего запуска именно эти ветви реестра.
ПРИМЕЧАНИЕ
Другие ветви для автоматического запуска программ при входе пользователя в систему будут описаны в конце данной главы.
При упоминании об автоматическом запуске программ следует также сказать о такой программе, как msconfig.exe. Она содержит две полезные вкладки: Службы и Автозагрузка. С помощью вкладки Службы можно запретить автоматический запуск определенных служб, установленных на компьютере. С помощью вкладки Автозагрузка можно запретить автоматический запуск программ. При этом на данной вкладке находится список программ, запускаемых как с помощью приведенной выше ветви реестра, так и с помощью каталога Автозагрузка. Только не следует переусердствовать при отключении программ. Например, следующие программы могут вам понадобиться:
? mobsync — используется для синхронизации автономных файлов при входе пользователя в систему (если эта функция не используется, можно отключить);
? ctfmon — является программой для отображения языковой панели (и если вы используете языковую панель, то данную программу отключать не нужно).
Содержание
- Настраиваем RDP в Windows 7
- Шаг 1: Обновление и активация RDP
- Шаг 2: Установка пароля для учетной записи
- Шаг 3: Установка разрешения для подключения к удаленному десктопу
- Шаг 4: Добавление проверенных пользователей
- Шаг 5: Настройка правила брандмауэра
- Шаг 6: Проброс порта TCP 3389
- Шаг 7: Подключение к удаленному десктопу
- Вопросы и ответы
Иногда пользователи операционных систем сталкиваются с необходимостью организации удаленного доступа к своему рабочему столу. Делается это для того чтобы системный администратор или другой юзер смог настроить определенные параметры или внести какие-либо другие правки. Задействовать при этом сторонние программы не всегда удобно, поэтому многие обращаются ко встроенной функции под названием RDP (Remote Desktop Protocol). Это протокол удаленного рабочего стола, позволяющий быстро наладить соединение в пределах локальной или глобальной сети. Сегодня мы хотим максимально детально разобрать конфигурацию этой технологии на примере Windows 7.
Все приведенные далее действия будут изложены поэтапно, чтобы даже у начинающих пользователей не возникло никаких вопросов по данной теме. От вас требуется лишь внимательно ознакомиться со всей информацией и следовать шагам, обязательно придерживаясь руководства и рекомендаций, чтобы без каких-либо проблем наладить удаленное соединение. Сегодня мы будем задействовать как удаленный компьютер, так и тот, с которого осуществляется подключение, поэтому следите за переходами, читая вступления перед инструкциями.
Шаг 1: Обновление и активация RDP
Вся процедура начинается с обновления и активации протокола удаленного рабочего стола. Рекомендуется использовать последнюю версию, чтобы во время соединения не возникло никаких проблем, однако администраторы могут подстроиться под ПК участников локальной сети, активировав седьмую или восьмую версию технологии. Более детально об осуществлении поставленной задачи читайте в отдельных статьях на нашем сайте, перейдя по ссылкам ниже.
Подробнее:
Включение RDP 8/8.1 в Windows 7
Включение RDP 7 в Windows 7
Обновление RDP в Windows 7
Шаг 2: Установка пароля для учетной записи
Обязательным предварительным действием перед началом основной конфигурации будет установка пароля на учетную запись юзера, к которому выполняется подключение. Сделайте это в том случае, если ключ доступа еще не установлен. Для этого потребуется задействовать профиль администратора, зная при этом имя учетной записи необходимого пользователя. Детальное описание этой задачи вы можете найти в материале от другого нашего автора далее.
Подробнее: Установка пароля на компьютер Windows 7
Шаг 3: Установка разрешения для подключения к удаленному десктопу
Функция RDP может быть активирована на устройстве, но при этом обладать определенными ограничениями, из-за которых другой юзер и не сможет подключиться к компьютеру. Потому в этом этапе мы поговорим о выдаче разрешений, подразумевающих открытие доступа для подключений указанным юзерам. Вам необходимо лишь следовать инструкции ниже, чтобы буквально в два клика выставить подходящие параметры.
- Обязательно выполните вход в систему под учетной записью администратора. Если вы еще не сделали этого, читайте далее о том, как именно производится вход.
- Теперь откройте меню «Пуск» и перейдите в «Панель управления».
- Здесь вас интересует раздел «Система».
- Обратите внимание на левую панель. Как видите, пункт «Настройка удаленного доступа» имеет значок щита, что и означает ограничение на внесение изменений. Сейчас они отсутствуют, поскольку мы выполнили вход через привилегированный профиль, потому остается только кликнуть по надписи ЛКМ.
- В окне «Свойства системы» сразу же откроется вкладка «Удаленный доступ». В ней вам нужен раздел «Удаленный рабочий стол», где отметьте маркером последний пункт, подразумевающий предоставление подключения для проверенных устройств.
- По завершении конфигурации не забудьте щелкнуть по кнопке «Применить», чтобы сохранить внесенные изменения.
Подробнее: Используем учетную запись «Администратора» в Windows
Можете не закрывать текущее окно, поскольку действия следующего шага тоже будут производиться в нем.
Шаг 4: Добавление проверенных пользователей
Только что вы узнали, как самостоятельно разрешить удаленное соединение через окно свойств системы. Однако подключиться к ПК смогут только те юзеры, кому был предоставлен доступ. Именно об этом процессе мы и хотим поговорить сейчас.
- Находясь все в том же окне «Свойства системы», кликните по специально отведенной кнопке «Выбрать пользователей».
- Сейчас ни один из юзеров не добавлен в проверенный список, поэтому требуется перейти к созданию нового перечня.
- Вручную в соответствующее поле начните вводить имена выбираемых объектов. Можете просмотреть имеющиеся примеры, если затрудняетесь правильно составить имя ПК. Обязательно разделяйте каждое имя пробелом, избегая знаков препинания.
- Проверьте имена с помощью системного алгоритма, чтобы убедиться в корректности ввода и отображения в сети.
- Если какое-то имя не будет найдено, откроется дополнительная форма, где используются вспомогательные средства для решения этой проблемы.
Существует более простой метод добавления пользователей для тех ситуаций, когда надо указать большое число имен. Осуществляется поставленная задача через встроенную функцию поиска по локальной сети. Соответственно, если вы хотите добавить учетную запись, не входящую в группу, этот вариант вам не подойдет.
- Сейчас вы находитесь в окне «Выбор: «Пользователи»». Здесь щелкните по расположенной в левом углу кнопке «Дополнительно».
- Справа вы увидите возможные действия. Нажмите на «Поиск» для начала сканирования.
- Отыщите необходимый профиль и выделите его левой кнопкой мыши.
- Он будет добавлен в список, о котором мы говорили ранее. По окончании его создания кликните на «ОК».
- Теперь в окне «Пользователи удаленного рабочего стола» вы увидите список юзеров, входящих в разрешенный список.
Если вдруг вы столкнулись с трудностями в определении полного имени компьютера, давайте вкратце разберем, как это сделать меньше, чем за минуту:
- Откройте меню «Пуск», щелкните ПКМ по строке «Компьютер» и выберите пункт «Свойства».
- Здесь обратите внимание на «Полное имя». Его и нужно использовать при добавлении, указывая перед именем юзера.
Сейчас вы ознакомились с двумя принципами разрешения доступа юзерам для подключения к удаленному десктопу. На этом можно закончить конфигурацию и сразу переходить к соединению, однако важно учитывать еще некоторые моменты, на которые мы тоже хотим обратить внимание в рамках сегодняшнего материла.
Шаг 5: Настройка правила брандмауэра
В большинстве случаев установленные по умолчанию правила встроенного межсетевого экрана операционной системы не подразумевают блокировку удаленных подключений, однако если такие параметры все же присутствуют, на экране появится ошибка 3389. Во избежание этого лучше сразу проверить конфигурацию брандмауэра, тем более, что это делается очень быстро и легко.
- Зайдите в «Панель управления» через «Пуск» или запустите это меню другим удобным для вас методом.
- Переместитесь в раздел «Брандмауэр Windows».
- Здесь щелкните по «Разрешить запуск программы или компонента через брандмауэр Windows».
- Опуститесь вниз по появившемуся списку и убедитесь в том, что пункт «Удаленный рабочий стол» отмечен галочкой. В противном случае надо поставить ее, а затем применить изменения и перезагрузить компьютер.
Шаг 6: Проброс порта TCP 3389
Если предыдущий способ не сработал для тех юзеров, кто пытается подключиться к удаленному рабочему столу через глобальную сеть, обладателю ПК придется самостоятельно открывать порт TCP 3389 через настройки маршрутизатора, а также необходимо убедиться в том, что используется статический IP-адрес. Инструкции по пробросу портов ищите в отдельном материале на нашем сайте, щелкнув по следующей ссылке.
Подробнее: Открываем порты на роутере
Что касается статического IP-адреса, то получить его можно только через приобретение у провайдера или путем собственноручной настройки, если это изначально разрешено. В любом случае придется звонить на горячую линию поставщика интернет-услуг и уточнять этот момент со специалистами, где вы также получите нужные руководства по реализации этой технологии.
Шаг 7: Подключение к удаленному десктопу
Последний этап нашего сегодняшнего материала заключается в подключении к удаленному рабочему столу посредством встроенной функции Windows. Если все предыдущие шаги осуществлялись на компьютере того юзера, к которому надо подсоединиться, то этот шаг выполняется с ПК администратора или помощника.
- Откройте меню «Пуск» и через поиск отыщите приложение «Подключение к удаленному рабочему столу».
- В строке введите название компьютера, а затем кликните на «Подключить».
- Произойдет инициализация нового соединения. Это может занять несколько минут, а при просьбе ввода пароля укажите его, отталкиваясь от ключа доступа к учетной записи.
- Дополнительно следует отметить параметры соединения. Первая вкладка отвечает за настройку быстрого входа. Здесь можно указать компьютер и пользователя, а также сохранить конфигурацию в отдельный файл для удобства.
- Далее идет редактирование функций экрана: настраивается разрешение и отображение цветов. Все значения выставляются исключительно под запросы юзера.
- Во вкладке «Локальные ресурсы» вы можете активировать звуки с удаленного ПК, выставить режим взаимодействия с клавиатурой и настроить буфер обмена.
- Раздел «Программы» отвечает за скриптованный автоматический запуск софта при следующем соединении с ПК. Для этого требуется лишь указать путь к исполняемому файлу.
- Если вдруг вы столкнулись с тормозами во время соединения, перейдите в «Взаимодействие». Здесь задается качество соединения в зависимости от скорости интернета и мощности устройств. Просто выберите один из заготовленных в списке шаблонов.
- На вкладку «Дополнительно» следует заходить только продвинутым системным администратором. Здесь устанавливаются сертификаты подлинности сервера и прокладываются шлюзы для соединения из любого места.
В этой статье вы узнали обо всех этапах конфигурации RDP в операционной системе Виндовс 7 как на стадии подготовки, так и непосредственно при самом соединении. Если все инструкции были выполнены правильно, никаких проблем с предоставлением доступа к десктопу возникнуть не должно.
Всем добрый день. Не планировал спрашивать по этому вопросу, но, увы, реальность оказалась не настолько оптимистичной. Вопрос вроде простой, но где-то «собака порылась». Ощущение, что истина где-то рядом, но, в силу недостаточности знаний, не могу её найти.
Вводные данные:
1. Сервер на win2008r2. Настроен сервер терминалов (терминальный сервер).
2. Два пользователя удаленного стола, один на win7, другой на win10
Требования:
При подключении пользователей к удаленному рабочему столу должна СРАЗУ запускаться 1С.
Все вроде просто. На клиенте с win7 с настройкой AD: пользователи-учетные данные-среда и указанием запускаемой программы всё работает идеально. Клиент кликает на подключение к удаленному столу и перед ним сразу разворачивается окно входа в 1С. А вот с клиентом на win10 я мучаюсь уже с неделю. Настройки пользователей на сервере один в один. Но у клиента на win10 при любых настройках сначала показывается рабочий стол, с которого он уже должен кликнуть на иконку 1С для запуска программы.
Прежде чем спросить, скурил кучу мануалов, перепробовал множество настроек и пр. Ни один из 100%-ых вариантов мне так и не помог.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Наверняка на ваших виртуалках крутится некоторое количество программ, стабильное функционирование которых имеет особую важность. Тому, чтобы такой софт работал без перерывов на протяжении длительного времени, может помочь автоматический запуск критически важных приложений. Ниже покажем, как настроить автоматический запуск определённых программ на виртуальных серверах, а также, что можно предпринять, если какие-нибудь некорректно работающие приложения закрываются после завершения сессии удалённого управления сервером.
Автозапуск приложений на серверах Windows
Для начала, на виртуальном сервере, работающем под управлением ОС Windows, необходимо настроить автоматический вход в систему. Для этого нажмите Win R
, в открывшейся строке введите control userpasswords2
и нажмите OK
.
Далее, необходимо поставить галочку в строке Требовать ввод имени пользователя и пароля
(Users must enter a user name and password to use this computer
).
Затем необходимо набрать имя учётной записи, под которой будет осуществляться вход в систему, а также дважды пароль этого пользователя. Закончив ввод учётных данных нажмите OK
.
На следующем этапе добавьте приложение, которое вы планируете запускать автоматически при входе в систему. Чтобы это сделать, в проводнике перейдите по следующему адресу:
C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup
После чего в данную директорию скопируйте ярлык необходимого приложения. В нашем случае мы положили в этот каталог ярлык Paint
.
После того, как вы произведёте данные действия, добавленное в автозагрузку приложение должно будет запускаться автоматически.
В общем случае, при закрытии окна сессии удалённого рабочего стола без выхода из системы, все работающие приложения будут продолжать функционировать. Если вы не планируете задавать явным образом ограничение времени сессии RDP, то данные программы будут продолжать работать, пока вы их не закроете, не выйдите из системы или не перезапустите свою виртуалку. Настройки временных лимитов находятся в свойствах пользователя. Для того, чтобы перейти к ним, наберите в командной строке lusrmgr.msc
в случае с локальной учёткой, либо перейдите в Active Directory - пользователи и компьютеры
в случае с пользователем домена.
Те же настройки можно произвести с помощью групповых политик. В этом случае запустите gpedit.msc
и перейдите в User Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Session Time Limits
.
О некоторых приложениях
В некоторых случаях может происходить так, что запущенные приложения завершают свою работу при отключении сеанса удалённого рабочего стола. Такая проблема имеет своё решение. Заключается оно в следующем: в Параметрах
необходимо найти вкладку Power & sleep
и там установить опцию When plugged in, turn off after
в значение Never
.
После этого необходимо перед завершением сессии RDP запустить командную строку (cmd
).
В командной строке нужно набрать:
query session
Результатом выполнения данной команды станет список всех сессий, выполняющихся в данный момент на вашем сервере. В списке необходимо отыскать свою сессию, и подключиться к ней с помощью утилиты tscon
. Пример использования данной утилиты выглядит следующим образом:
tscon X /dest:console
Здесь X
— это идентификатор интересующей нас сессии. Этот самый идентификатор указывается в выводе команды query session
в поле ID
.
В результате, программы указанной сессии продолжат работать в фоновом режиме.
Но использование такого метода не является безопасным. Применять его следует исключительно в случаях крайней необходимости.
Автозапуск приложений на серверах Linux
На серверах, работающих под управлением операционных систем семейства Linux, для управления автозапуском используется система инициализации systemd
. Интерфейсом при работе с systemd
является команда systemctl
. Вот некоторые примеры применения данной команды:
$ sudo systemctl enable my-service
В данном случае команда systemctl
добавляет службу my-service
в автозагрузку.
$ sudo systemctl disable my-service
Здесь команда systemctl
удаляет службу my-service
из автозагрузки.
$ sudo systemctl is-enabled my-service
А здесь команда systemctl
проверяет наличие службы my-service
в автозагрузке.
Команда systemctl
также может использоваться для добавления в автозагрузку исполнительных сценариев (скриптов). Делается это созданием unit-файла, который в свою очередь необходимо так же добавить в автозагрузку.
Пример команды создания unit-файла выглядит следующим образом:
$ cd /lib/systemd/system
$ sudo vi my-script.service
В данном примере my-script.service
— имя создаваемого unit-файла. Его содержимое выглядит примерно так:
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/local/my-script.sh
[Install]
WantedBy=multi-user.target
В данном случае:
Description
– описание скрипта;After=multi-user.target
означает, что запуск скрипта производится во многопользовательском режиме;Type=idle
говорит о том, что служба будет запущена после отправки всех заданий;ExecStart=/usr/bin/local/my-script.sh
– место расположения скрипта.
Для того, чтобы скрипт смог запуститься на исполнение, ему нужно добавить необходимые права:
$ sudo 644 my-script.service
Далее, следует перезапустить систему инициализации:
$ sudo systemctl daemon-reload
И наконец, нужно добавить наш скрипт в автозагрузку:
$ sudo systemctl enable my-script.service
Теперь my-script.service
будет автоматически запускаться при загрузке операционной системы.
И ещё о некоторых приложениях
Так же, как и на Windows-серверах, на серверах, работающих на Linux, существует проблема некоторых приложений, которые прекращают свою работу при завершении сеанса удалённой работы на сервере. В данном случае речь идёт, конечно же, о подключении по SSH. И, естественно, такая проблема имеет решение.
Во-первых, можно перевести процесс в фоновый режим при помощи команды nohup
. Команда nohup
умеет блокировать сигнал SIGHUP
, который получают процессы при завершении сессии SSH. Пример написания данной команды выглядит так:
$ sudo nohup /lib/systemd/system/my-script.service &
Обратите внимание на символ &
. Как раз он-то и означает, что процесс будет работать в фоновом режиме.
Ещё одним методом решения проблемы является команда setsid
. Она может создать новую сессию в случае, когда вызывающий процесс — не ведущий в группе процессов. Вызывающий процесс становится ведущим и единственным в новой сессии и в новой группе процессов. Как правило, новая сессия не имеет терминала, который её контролирует. Но при всём при том, ID
сессии и ID
группы процессов – это то же, что и ID
процесса.
Если вернутся к нашему скрипту, то команду setsid
можно использовать со следующими опциями:
$ sudo setsid /lib/systemd/system/my-script.service
Здесь скрипт запускается в новой сессии.
$ sudo setsid -c /lib/systemd/system/my-script.service
В данном случае с помощью setsid
управляющий терминал устанавливается в текущий.
$ sudo setsid -w /lib/systemd/system/my-script.service
А здесь устанавливается ожидание завершения работы скрипта и возвращается его выходное значение в качестве возвращаемого значения команды setsid
.
$ sudo setsid -V
Такая команда возвращает версию команды setsid
.
$ sudo setsid -h
А таким образом можно вызвать небольшой help
для команды setsid
.
Не многие начинающие администраторы знают, что работу в 1С на сервере терминалов можно организовать по аналогии с RemoteApp, без RemoteApp!
Выражаясь простыми словами пользователь, кликнув по ярлыку подключения (RDP) запускает сразу 1С Предприятие, при этом он не видит рабочего стола сервера, других приложений, ему доступна только 1С и он работает исключительно в 1С, так словно та стартовала у него на ПК.
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Конечно в этой статье «Америку не открою» информации как это сделать самостоятельно, полно в сети, если бы не одно «НО».
К сожалению, по умолчанию этот механизм перестал работать на Windows server 2016. Он был просто отключен по умолчанию. (
Из-за этого многие остались работать на Windows server 2012 -2008, а некоторые перешли на RemoteApp, так и до конца не разобравшись с проблемой.
RemoteApp технология хорошая, вот только требует Active Directory, соответственно еще один сервер, а значит дополнительные финансовые затраты.
Да и для 10-15 пользователей AD обычно не нужен, и сознательно идти на доп. затраты чтоб организовать авто запуск 1С на сервере, конечно никто не желает, собственно и здесь нашлись «энтузиасты» по обходу такого звена как AD, соответственно тем самым нарушили лицензионное соглашение.
Одним словом есть проблемы, которые покажу, как решить в данной статье
Что ж, если RemoteApp дорого, и нарушать лицензионное соглашение для Вас не выход (что правильно), а работа на старой операционной системе не вызывает особого желания.
Тогда конечно выход один!
Настроим Windows server 2016 (используя обычный сервер терминалов) с автозапуском 1С Предприятия.
Шаг 1
- Установка, настройка и лицензирование сервера терминалов на Windows server 2016 (видео смотрите ниже)
После установки и настройки сервера терминалов + перезапуск ОС.
Приступаем к следующему шагу!
В реестр Windows server 2016 нужно внести изменения!
Кому интересно вносить изменения в реестр руками, вот инструкция:
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services
Name: fQueryUserConfigFromDC
Type: Reg_DWORD
Value: 1 (Decimal)
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStations<Winstation Name>
Name: fQueryUserConfigFromDC
Type: Reg_DWORD
Value: 1 (Decimal)
- Если писать руками нет времени, тогда держите вот эти два *reg файла >>>
(Специально подготовил, чтоб ускорить процесс).
Нужно просто кликнуть последовательно по каждому из них и нужные изменения сами пропишутся в реестр windows server 2016.
Конечно, выполнять данную операцию следует под учетной записью с правами администратора.
Если не прописать изменения в реестр Вы получите вот такую (похожую ошибку):
«Не удается найти указанный файл»
«Не удалось запустить следующую начальную программу:»
Конечно, 1С стартовать автоматом в таком случаи не будет!
И так если внесли в регистр нужные изменения, тогда выполним перезапуск сервера, и приступим к настройкам запуска 1С в «среде» пользователя:
Кликаем «Пуск»- «Панель управления»
Затем «Администрирование» — «Управление компьютером»
Далее на вкладке слева «Локальные пользователи» — «Пользователи»
В свойствах пользователя, при авторизации которого должна автоматом стартовать 1С,
мы и пропишем на вкладке «Среда» путь к программе 1С.
Ставим птичку «При входе в систему запускать следующую программу:»
В строке «Имя файла программы» следует указать путь к исполняемому файлу 1С:
Пример: C:Program Files (x86)1cv8common1cestart.exe
«Рабочая папка» C:Program Files (x86)1cv8common
Почему прописал 1cestart.exe, а не 1cv8.exe ?
При обновлении платформы 1с, путь к программе будет оставаться прежним на вкладке «Среда» и 1С перестанет запускаться автоматом.
Но если прописать стартер 1cestart.exe, тогда 1С даже после обновления будет стартовать!
Конечно у пользователей должны быть права на 1cestart.exe, как и на любую другую программу на сервере, иначе стартовать автоматом программа не будет, и сессия будет тут-же завершена.
Ниже на вкладке «Устройства клиента»
Можно поставить все птички:
«Подключение дисков клиента»
«Подключение принтеров клиента при входе»
«По умолчанию выбрать основной принтер клиента»
Если мы говорим об 1С, конечно куда без печати, принтеров пользователя и дисков для сохранения отчетов на свой ПК, разрешив подключать диски.
На сервере работа завершена, отправляемся на ПК пользователя.
Создадим ярлык rdp для подключения.
Клик Win+R пишем в строке «mstsc» затем «Enter» выполнить.
Укажем, к примеру, IP сервера терминалов и логин пользователя:
«Сохранить как» — Сохраним подключение как ярлык, где не будь на рабочем столе пользователя под именем «1С»
Вот собственно и все!
Теперь кликнув по ярлыку «1С» пользователь сможет тут же запустить 1С и работать в ней фактически как с локально установленной.
Пользователь не видит никаких других рабочих столов, не путается в ярлыках и подключениях, все просто и понятно!
При первом запуске нужно первый раз прописать путь к базе 1С, собственно как и обычно на сервере терминалов.
И на последок…
Иногда нужно не просто запустить 1С, но сделать все на полном автомате.
То-есть чтоб пользователь, кликнув по ярлыку rdp «1C» и она не просто запустилась, но и была автоматом выбрана нужная информационная база 1С и прошла авторизация под нужным пользователем.
Делается это очень просто, например, используя вот этот батник:
Скачать батник >>>
—————
set v8exe=«C:Program Files1cv8common1cestart.exe»set DataBaseName=«E:InfoBase2»set DataBase=/F%DataBaseName%set AdminUser=/N«Администратор (ОрловАВ)»set Password=/P«»start «»«» /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% %Password% |
—————
На вкладке «Среда» в свойствах пользователя на сервере терминалов, нужно приписать только путь к этому батнику «1c.bat» вместо 1С, указать каталог, где он находится и все!
1С Предприятие будет стартовать с нужной нам ИБ и пользователем.
Думаю, с «батником» сможете разобраться самостоятельно, там ничего сложного нет.
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
Успехов, Коллега!
С уважением, Богдан.
I checked another thread (Automatically run a script when I log on to Windows), but it did not solve my exact problem.
I need to run a script on when a connection is made across my network using Windows Remote Desktop Connection.
The thread listed above works for the initial login, however, if I don’t log out (which is necessary for some processes running on my network), then it won’t run the script again the next time someone connects to the system using remote desktop connection. Previously we were using pcAnywhere to achieve this, however after running into some graphical issues with pcAnywhere, we have decided to move away from it to RDC.
Background: We need to have an email sent out anytime a connection is made to particular machines. The login name will always be the same for those systems and we do not log off when closing the connection.
asked Mar 22, 2010 at 20:45
To my knowledge Windows does not provide a built-in method for running a program or script on connection, only log on. You’ll need to find a program that registers with Windows (using WTSRegisterSessionNotification) and listens for the
WM_WTSSESSION_CHANGE message.
A program that does the above will receive notifications from Windows about user logons, logoffs, connections, disconnections, and all of the events needed to launch a script at connection as well as log on.
Off the top of my head I don’t know of any applications (other than pcAnywhere) that can do this.
answered Mar 30, 2010 at 13:53
JoshuaJoshua
4,52423 silver badges25 bronze badges
2
You can make a new scheduled task and define the trigger to «At the moment of a new connection to a user session»
answered Oct 17, 2012 at 12:08
Laurent FLaurent F
911 silver badge2 bronze badges
2
Use trigger «On connection to user session»
Note: I only noticed that the question is tagged «XP»/»Server2008». What’s here may only work on Vista/2008R2 onwards.
Windows task scheduler has a predefined trigger for that. It is called On connection to user session
.
It also allows you to distinguish between users and between local or remote connections.
The default when creating this trigger: Any user
and Connection from remote computer
. This seems to be what you want, so you don’t have to change that.
Screenshot here:
Source: Microsoft TechNet: Task Scheduler | Triggers (Archived here.)
Further reading
When you export this task and then look inside the file, you will see that this a trigger of type SessionStateChangeTrigger
:
There is in depth documentation on MSDN:
- MSDN:
SessionStateChangeTrigger object
(Archived here.) - MSDN:
SessionStateChangeTrigger.StateChange property
(Archived here.)
answered Jan 18, 2017 at 8:51
StackzOfZtuffStackzOfZtuff
1,4731 gold badge15 silver badges23 bronze badges
I checked another thread (Automatically run a script when I log on to Windows), but it did not solve my exact problem.
I need to run a script on when a connection is made across my network using Windows Remote Desktop Connection.
The thread listed above works for the initial login, however, if I don’t log out (which is necessary for some processes running on my network), then it won’t run the script again the next time someone connects to the system using remote desktop connection. Previously we were using pcAnywhere to achieve this, however after running into some graphical issues with pcAnywhere, we have decided to move away from it to RDC.
Background: We need to have an email sent out anytime a connection is made to particular machines. The login name will always be the same for those systems and we do not log off when closing the connection.
asked Mar 22, 2010 at 20:45
To my knowledge Windows does not provide a built-in method for running a program or script on connection, only log on. You’ll need to find a program that registers with Windows (using WTSRegisterSessionNotification) and listens for the
WM_WTSSESSION_CHANGE message.
A program that does the above will receive notifications from Windows about user logons, logoffs, connections, disconnections, and all of the events needed to launch a script at connection as well as log on.
Off the top of my head I don’t know of any applications (other than pcAnywhere) that can do this.
answered Mar 30, 2010 at 13:53
JoshuaJoshua
4,52423 silver badges25 bronze badges
2
You can make a new scheduled task and define the trigger to «At the moment of a new connection to a user session»
answered Oct 17, 2012 at 12:08
Laurent FLaurent F
911 silver badge2 bronze badges
2
Use trigger «On connection to user session»
Note: I only noticed that the question is tagged «XP»/»Server2008». What’s here may only work on Vista/2008R2 onwards.
Windows task scheduler has a predefined trigger for that. It is called On connection to user session
.
It also allows you to distinguish between users and between local or remote connections.
The default when creating this trigger: Any user
and Connection from remote computer
. This seems to be what you want, so you don’t have to change that.
Screenshot here:
Source: Microsoft TechNet: Task Scheduler | Triggers (Archived here.)
Further reading
When you export this task and then look inside the file, you will see that this a trigger of type SessionStateChangeTrigger
:
There is in depth documentation on MSDN:
- MSDN:
SessionStateChangeTrigger object
(Archived here.) - MSDN:
SessionStateChangeTrigger.StateChange property
(Archived here.)
answered Jan 18, 2017 at 8:51
StackzOfZtuffStackzOfZtuff
1,4731 gold badge15 silver badges23 bronze badges