- Расшарить com порт или Как перекинуть порт на удаленный рабочий стол
- Маппинг com портов средствами windows через rdp
- Общие обсуждения
- Все ответы
- Маппинг com портов средствами windows через rdp
- Общие обсуждения
- Все ответы
- RDP проброс стабильного com порта онлайн кассы для 1с
- Настройка port mapping в windows с помощью netsh
- О чём речь и зачем это нужно
- Как сделать port mapping (port forwarding) через netsh
- Проверка правильности настройки port mapping
- Удаление port mapping
- Изменение настроек port mapping через netsh
Расшарить com порт или Как перекинуть порт на удаленный рабочий стол
Гребаный rdp не всегда нормально пробрасывает порты. Особенно в Windows Server 2003. Потому, я пишу эту шпаргалку для настройки или маппинга этих портов.
Е сли у Вас при запуске терминала не видно порт — пропишите его сами:
Выполнять эти 2 команды нужно каждый рас при загрузке терминала. Более подробно ознакомится с командой NET USE Вы можете на сайте мелкософта.
Ч то бы посмотреть на терминале какие сейчас есть порты — нужно написать change port . Вот как должно нормально работать если на исходном компьютере на 5 порту есть устройство.
Е сли вы хотите проверить отзывается ли устройство на вашем компьютере или посмотреть с какими параметрами оно работает — тогда можете запустить команду mode com5 /status . Только в терминале у меня это не работает. Если у вас появится следующие окно значит все нормально:
Н у и в завершение хочу добавить, что команда change port изначально предназначена для изменения портов. Иногда выручает. Вот пример успешной проброски 5 порта на 6:
В этом случае у меня работает и с 5 портом и с 6.
И еще, для тех, кто не в курсе если после команды написать /? то появится справка, со всеми возможными параметрами. например наберите:
Маппинг com портов средствами windows через rdp
Общие обсуждения
Имеется сервер 2012 R2, клиенты (Win10) подключаются по RDP. На клиенте установлены галки — использовать локальные принтеры, диски и порты. В сессии на сервере диски видны, принтеры есть, а COM-портов нет.
На клиенте в .rdp файле строка «redirectcomports:i:1» имеется.
На сервере через PowerShell разрешил перенаправление:
CollectionName : QuickSessionCollection
CollectionDescription :
CustomRdpProperty : redirectcomports:i:1
use redirection server name:i:1
Также через gpedit.msc в административных шаблонах проверил, что «Не разрешать перенаправление COM-портов» отключено.
Все обновления стоят, антивирус отключал. Уже не знаю, на что грешить.
Почему они не видны.
- Изменен тип Petko Krushev Microsoft contingent staff, Moderator 15 июня 2017 г. 8:51
Все ответы
проверьте, чтобы в реестре по пути HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP был раздел SERIALCOMM. Если нет, его нужно создать. На всякий случай — при перенаправлении в диспетчере устройств ком-порт не появляется, он появляется в списке в реестре в разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. Также проверить можно из ком. строки командой «change port». В ответ должна появиться строка с вашим портом.
А теперь интересное. Я также не смог сразу перенаправить порт с 10 на 2012R2 — не появлялся и всё тут, хотя всё везде разрешил. Правда, я прикрутил к 2012 оснастки tsadmin и tsconfig, которых нет в ней и уже оттуда всё крутил. На клиенте с 10 нужно в клиенте разрешить перенаправление порта, обязательно сохранить изменения в первой вкладке (кнопка «Сохранить»), на всякий случай войти на сервер ещё раз, убедиться, что ничего не перенаправилось, выйти с сервера и . перезагрузить клиентский компьютер. О как!
Маппинг com портов средствами windows через rdp
Общие обсуждения
Имеется сервер 2012 R2, клиенты (Win10) подключаются по RDP. На клиенте установлены галки — использовать локальные принтеры, диски и порты. В сессии на сервере диски видны, принтеры есть, а COM-портов нет.
На клиенте в .rdp файле строка «redirectcomports:i:1» имеется.
На сервере через PowerShell разрешил перенаправление:
CollectionName : QuickSessionCollection
CollectionDescription :
CustomRdpProperty : redirectcomports:i:1
use redirection server name:i:1
Также через gpedit.msc в административных шаблонах проверил, что «Не разрешать перенаправление COM-портов» отключено.
Все обновления стоят, антивирус отключал. Уже не знаю, на что грешить.
Почему они не видны.
- Изменен тип Petko Krushev Microsoft contingent staff, Moderator 15 июня 2017 г. 8:51
Все ответы
проверьте, чтобы в реестре по пути HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP был раздел SERIALCOMM. Если нет, его нужно создать. На всякий случай — при перенаправлении в диспетчере устройств ком-порт не появляется, он появляется в списке в реестре в разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. Также проверить можно из ком. строки командой «change port». В ответ должна появиться строка с вашим портом.
А теперь интересное. Я также не смог сразу перенаправить порт с 10 на 2012R2 — не появлялся и всё тут, хотя всё везде разрешил. Правда, я прикрутил к 2012 оснастки tsadmin и tsconfig, которых нет в ней и уже оттуда всё крутил. На клиенте с 10 нужно в клиенте разрешить перенаправление порта, обязательно сохранить изменения в первой вкладке (кнопка «Сохранить»), на всякий случай войти на сервер ещё раз, убедиться, что ничего не перенаправилось, выйти с сервера и . перезагрузить клиентский компьютер. О как!
RDP проброс стабильного com порта онлайн кассы для 1с
Добрый день уважаемые форумчане.
Прошу помощи у гуру .
Не знаю правильно или нет — но для подключения онлайн касс я обычно ставлю клиент 1с на рабочую машину.
Потому что у меня сложилось впечатление что если пробрасывать по RDP СОМ порты то они постоянно будут отваливаться и меняться.
В текущий момент скорее всего прийдется все же ставить RDP клиент а не саму программу 1с.
Ранее чтобы хорошо работали принтеры (по RDP) я нашел такую программу — ScrewDrivers. Работает замечательно принтеры на рдп клиентах вообще не отваливаются.
Хотя если перенаправлять принтеры стантартными методами виндовс (в RDP клиенте поставить галочку принтеры на Локальных ресурсах) то с ними постоянно глюки.
Есть ли что то подобное для СТАБИЛЬНОГО проброса Ком порта ? я думаю должна быть какая то программа или метод для того чтобы СОМ порт был постоянным по значению и не отваливался.
Можете поделиться опытом ? как этого добиться ?
Проброс COM портов через TCP/IP с помощью Virtual Serial Ports Emulator (Windows) от компании Eterlogic . Простой пример настройки. Альтернатива стандартному маппингу com портов средствами Windows через RDP.
Настройка VSPE на сервере.
Устанавливаем VSPE на сервер и запускаем (в настройках я выбрал русский язык). После нужно создать виртуальные порты (для каждой кассы свой порт). Номера портов лучше взять пониже, дабы избежать проблем. У нас 4 кассы, поэтому я создаю 4 виртуальных порта (29,30,31,32). Эти порты и будут указаны в настройках касс в 1С. Нажимаем на кнопку «создать новое устройство». Тип устройства «connector».
Дальше указываем номер нашего нового виртуального порта
После жмем готово.
По аналогии создаем требуемое количество com портов. Идея в том, что этот виртуальный порт будет связывается с реальным com портом кассы магазина.
После мы должны определиться по с адресами. На магазинах у нас должны быть статические ip. Каждый виртуальный порт у нас станет tcp клиентом и будет подключатся к tcp серверу, который будет настроен на компьютере кассы магазина. Поэтому здесь нужно быть внимательным. Мы имеем 4 статических внешних адреса магазинов. Важно понимать, что просто подключится по ip мы не можем. Нужно указать порт tcp server. Продумать номер мы можем заранее. Я решил просто, номера портов складываются следующим образом.
10хх — где хх номера виртуальных портов, которые будут подключаться к реальному com порту (tcp серверу). Каждый виртуальный порт я отнес соответственно магазину, как мне было удобно (т.е. com29 у меня магазин №1, com30 — магазин №2 и т.д.)
В итоге подучилось 4 адреса:
ххх.ххх.ххх.ххх — внешний статических адрес магазина.
Важно продумать эти параметры, чтобы спокойно и удобно настраивать серверную часть.
Идем дальше. Настраиваем подключение tcp клиента. Добавляем новое подключение с типом «tcp client»
По аналогии делаем все виртуальные порты.
Дальше нужно сохранить наши подключения в файл. Нажимаем сохранить, указываем имя файла и путь.
Данный файл с подключением мы должны запускать при каждом старте Windows. Сделать это очень просто, нужно создать ярлык вида «C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\VSPEmulator.exe» -minimize -hide_splash c:/****.vspe
c:/****.vspe — путь к сохраненному файлу. Созданный ярлык помещаем в автозагрузку пользователя (не стартанет если пользователь не зайдет в систему, как настроить службу написано в справке). Программа стартанет в трее.
Естественно клиентская часть у нас не настроена, соответственно созданные подключения tcp client будут ругаться и ждать инициализации.
Результат настройки на сервере (статус «ОК», т.к. все уже настроено)
Настройка клиентской части.
Устанавливаем VSPE. Настраиваем. Здесь уже клиентская машина будет выступать в роли tcp сервера.
Добавляем новое подключение с типом «tcp server»
Жмем готово. Подключение создано. Нужно обязательно сохранить данное подключение. Нажимаем кнопку сохранить, указываем имя файла и выбираем путь.
Данный файл с подключением мы должны запускать при каждом старте Windows. Сделать это очень просто, нужно создать ярлык вида «C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\VSPEmulator.exe» -minimize -hide_splash c:/****.vspe
c:/****.vspe — путь к сохраненному файлу. Созданный ярлык помещаем в автозагрузку. Программа стартанет в трее.
Следующим шагом нужно на маршрутизаторе магазина сделать проброс.
192.168.х.х:10хх ->ххх.ххх.ххх.ххх:10хх (порты 10хх одинаковые).
После проброса все должно заработать. Статус соединения «ОК»
После меняем настройки 1С на наши виртуальные порты. Делаем тестирование.
Работает стабильно! Только время послек перезагрузки Сервера на инициализацию
Настройка port mapping в windows с помощью netsh
О чём речь и зачем это нужно
В windows, начиная с версии Windows XP существует возможность настроить проброс портов (port forwarding или port mapping) без каких-либо внешних программ (и даже не используя встроенный брандмауэр!).
Зачем это может быть нужно? Например, для настройки еще одного (дополнительного) порта, на котором будет «висеть» служба. К примеру, вдобавок к порту 80 (на котором находится apache) можно вдобавок «открыть» порт 1580 или 65123, который будет фактически выполнять ту же роль, что и 80-й порт, но при этом он будет «секретным» портом.
Или же можно таким образом «прятать» фактические серверы: разрешать подключения на какой-либо локальный порт (на localhost, 127.0.0.1), а затем «пробрасывать» это подключение на другой сервер (и на другой порт).
Ограничение: данные перенаправления действуют только на TCP порты, UDP трафик таким образом перенаправить не удастся.
Как сделать port mapping (port forwarding) через netsh
Для этого в netsh есть контекст portproxy, который находится в контексте interface. Для создания port mapping выполните из командной строки (в windows Vista и выше — от имени администратора):
netsh interface portproxy add v4tov4 listenport= <целое_число или имя_службы>listenaddress=
- listenport — обязательный параметр. Задает порт IPv4, который должен прослушиваться, по номеру порта или имени службы;
- listenaddress — задает IPv4-адрес, который должен прослушиваться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
- connectaddress — задает IPv4-адрес, к которому следует подключаться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
- connectport — задает порт IPv4, к которому следует подключаться, по номеру порта или имени службы. Если параметр connectport не задан, по умолчанию используется значение listenport на локальном компьютере.
например:
netsh interface portproxy add v4tov4 listenport=5556 listenaddress=192.168.1.1 connectport=3389 connectaddress=192.168.1.10
В этом примере на компьютере с IP адресом 192.168.1.1 был открыт порт № 5556. При подключении к этому порту все пакеты, приходящие на порт, автоматически будут пересылаться на IP адрес 192.168.1.10, на порт 3389 (RDP).
Проверка правильности настройки port mapping
В первую очередь проверяем, появилось ли наше правило в списке правил netsh:
netsh interface portproxy show all
Если правило появилось, убеждаемся, что настроенный нами порт прослушивается. Для этого выполним команду:
netstat -ano | findstr :
например:
netstat -ano | findstr :5556
Если порт не прослушивается (т.е. port mapping не выполняется), то эта команда не отобразит ничего. Если же наша затея увенчалась успехом, то мы увидим что-то типа такого сообщения:
TCP . 5556 0.0.0.0:0 LISTENING .
В случае возникновения проблем с подключением проверьте, что у Вас правильно настроен (или отключен) брандмауэр (который может блокировать подключения на открытый Вами порт).
Удаление port mapping
Для того, чтобы удалить все правила перенаправления (простейший случай) достаточно выполнить команду (напоминаю, командная строка должна быть запущена от имени администратора!):
netsh interface portproxy reset
После этого убедитесь, что все правила удалены: по команде
netsh interface portproxy show all
не должно ничего отображаться.
Если же Вы хотите удалить только одно правило перенаправления портов, команда будет немного сложнее:
netsh interface portproxy delete v4tov4 listenport= <целое_число или имя_службы>listenaddress=
- listenport — обязательный параметр. Задает удаляемый порт IPv4;
- listenaddress — задает удаляемый адрес IPv4. Если адрес не задан, по умолчанию используется локальный компьютер.
например:
netsh interface portproxy delete v4tov4 listenport=5556
В этом примере мы удаляем port mapping, который был настроен на локальном компьютере, на порту 5556.
Изменение настроек port mapping через netsh
Если Вы хотите изменить значения параметров существующей на portproxy-сервере (т.е. на компьютере, где Вы запускали команду netsh interface portproxy add . ) записи, созданной командой add v4tov4, или добавить новую запись port mapping / port forwarding, выполните следующую команду:
netsh interface portproxy set v4tov4 listenport= <целое_число или имя_службы>listenaddress=
- listenport — обязательный параметр. Задает порт IPv4, который должен прослушиваться, по номеру порта или имени службы;
- listenaddress — задает IPv4-адрес, который должен прослушиваться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
- connectaddress — задает IPv4-адрес, к которому следует подключаться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
- connectport — задает порт IPv4, к которому следует подключаться, по номеру порта или имени службы. Если параметр connectport не задан, по умолчанию используется значение listenport на локальном компьютере.
например:
netsh interface portproxy set v4tov4 listenport=5556 listenaddress=192.168.1.1 connectport=3300 connectaddress=192.168.1.10
В этом примере на компьютере с IP адресом 192.168.1.1 была изменена настройка порта № 5556: теперь при подключении к этому порту все пакеты, приходящие на порт, автоматически будут пересылаться на IP адрес 192.168.1.10, на порт 3300.
Примечание: Можно изменять любые значения параметров для существующей записи сервера portproxy. Если значения не заданы, изменения не производятся.