Що таке повідомлення msg. Довідкова інформація про команду net send. Загальні відомості про команду net send

Існувала ще в Windows 2000/XP і призначалася для обміну повідомленнями між користувачами, що увійшли в систему локально і користувачами термінальних сесій (підключилися до віддаленого робочого столу). У Windows Vista та пізніших операційних системах сімейства Windows команда MSG стала основним стандартним засобомобміну повідомленнями, оскільки команда net sendданих ОС більше не підтримується.

Формат командного рядка:

MSG (<пользователь> | <имя сеанса> | | @<имя файла> | *} [<сообщение>]

Опис параметрів командного рядка:

<пользователь> Ім'я користувача. <имя сеанса> Ім'я сеансу. Ідентифікатор сеансу. @<имя файла> Файл, який містить список імен користувачів, сеансів або ідентифікаторів сеансів, яким надсилається повідомлення. * Надіслати повідомлення всім сеансам на вказаному сервері. /SERVER:<сервер> Сервер (за замовчуванням – поточний). /TIME:<секунд> Інтервал очікування на підтвердження від одержувача. /VВідображення інформації про виконані дії. /WОчікування відповіді від користувача, корисне разом із /V. <сообщение> Надіслане повідомлення. Якщо не вказано, видається запит або приймається з STDIN.

Важливо!

Нинішня реалізація msg.exe чудово підходить для обміну повідомленнями між сеансами локальних та термінальних користувачів в межах однієї системи, однак, у випадках обміну між різними комп'ютерами локальної мережі, потрібно змінити деякі налаштування безпеки, прийняті за умовчанням в операційних системах Windows Vista, 7 та 8 .

Зазвичай, при стандартних налаштуваннях, надсилання повідомлення на віддалений комп'ютер, не виконується та супроводжується повідомленням

Помилка 1722 при отриманні імен сеансу

Це означає, що на комп'ютері, де має прийматися повідомлення, неможливо отримати інформацію про користувачів, що увійшли в систему. Причиною може бути те, що брандмауер блокує вхідні з'єднання, недостатні права користувача щодо віддаленої системи, заборона віддаленого виклику процедур у параметрах служби сервера терміналів. Як мінімум, для обміну повідомленнями за допомогою команди msgміж комп'ютерами, необхідно мати обліковий запис користувача, дійсний по відношенню до віддаленої системи і виконати наступні налаштування:

  • на кожному комп'ютері, якому надсилатимуться повідомлення, додати до розділу реєстру HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Serverпараметр AllowRemoteRPCтипу REG_DWORDі рівний 1 Для зміни настройок можна використовувати.reg-файл такого змісту:

    Windows Registry Editor Version 5.00 "AllowRemoteRPC"=dword:00000001

    В Windows Vista, Windows 7, 8, 10Technical Preview ключ реєстру AllowRemoteRPCіснує, але має значення рівне 0 що необхідно виправити. Для застосування змін потрібне перезавантаження.

  • оскільки для обміну повідомленнями утиліта msg.exeвикористовує протокол SMB (Server Message Block), кожному комп'ютері, якому надсилатимуться повідомлення, має бути відкритий TCP порт 445

    Приклади використання MSG:

    msg * /server:Server "Тестове повідомлення"- надіслати тестове повідомлення всім користувачам комп'ютера Server

    msg * /server:192.168.0.1 "Тестове повідомлення"- надіслати тестове повідомлення всім користувачам комп'ютера з IP-адресою 192.168.0.1

    msg RDP-Tcp#0 /server:TSServer "Тестове повідомлення"- надіслати тестове повідомлення користувачеві термінальної сесії з ім'ям RDP-Tcp#0 на комп'ютері TSServer

    msg console /server:Windows7 "Тестове повідомлення"- надіслати тестове повідомлення поточному локальному користувачеві комп'ютера Windows7

    msg console "Тестове повідомлення"- Надсилання тестового повідомлення від користувача сеансу RDP локальному користувачеві. Якщо ця команда виконується не користувачем термінальної сесії, повідомлення буде надіслано локальним користувачем самому собі.

    Для виконання команди msgвід імені іншого користувача можна скористатися утилітою PSExecз пакета PSToolsабо штатним засобом runas.exe

    psexec -u otheruser -p otherpass msg * /server:win10 TEST message

    runas /user:otheruser "msg * /server:win10 Test message"

    Повідомлення, надіслані командою msgлокального користувача комп'ютера з операційною системою Windows XP, який відсутній (ще не увійшов до Windows) відображаються у вікні із запрошенням до реєстрації в системі та можуть бути доступні стороннім.

  • Команда MSGіснувала ще в Windows 2000/XP і призначалася для обміну повідомленнями між користувачами, що увійшли в систему локально, і користувачами термінальних сесій (підключилися до віддаленого робочого столу). У Windows Vista та пізніших операційних системах сімейства Windows команда MSG стала основним стандартним засобом обміну повідомленнями, оскільки команда net sendданих ОС більше не підтримується.

    Формат командного рядка:

    MSG (користувач | ім'я сеансу | ID сеансу | @ім'я файлу | *) [повідомлення]

    Опис параметрів командного рядка:

    користувач- Ім'я користувача.
    ім'я сеансу- Ім'я сеансу.
    ID сеансу- Ідентифікатор сеансу.
    @ім'я файлу- Файл, який містить список імен користувачів, сеансів або ідентифікаторів сеансів, яким надсилається повідомлення.
    * - Надіслати повідомлення всім сеансам на вказаному сервері.
    /SERVER:сервер- Сервер (за замовчуванням – поточний).
    /TIME:секунд- інтервал очікування підтвердження від отримувача.
    /V- Відображення інформації про виконані дії.
    /W- Очікування відповіді від користувача, корисне разом із /V.
    повідомлення- Надсилання повідомлення. Якщо не вказано, видається запит або приймається з STDIN.

    Важливо!

    Нинішня реалізація msg.exe чудово підходить для обміну повідомленнями між сеансами локальних та термінальних користувачів в межах однієї системи, однак, у випадках обміну між різними комп'ютерами локальної мережі, потрібно змінити деякі настройки безпеки, прийняті за умовчанням в операційних системах Windows Vista, 7 і більше пізніх.

    При стандартних настройках надсилання повідомлення користувачам віддалених комп'ютерівне виконується та супроводжується повідомленням:

    Помилка 1722 при отриманні імен сеансу

    Це означає, що на комп'ютері, де має прийматися повідомлення, неможливо отримати інформацію про користувачів, що увійшли в систему. Причиною може бути те, що брандмауер блокує вхідні з'єднання, недостатні права користувача щодо віддаленої системи, заборона віддаленого виклику процедур у параметрах служби сервера терміналів. Як мінімум, для обміну повідомленнями за допомогою команди msgміж комп'ютерами, необхідно мати обліковий запис користувача, дійсний по відношенню до віддаленої системи і виконати наступні налаштування:

  • на кожному комп'ютері, якому надсилатимуться повідомлення, додати до розділу реєстру HKLM\SYSTEM\CurrentControlSet\Control\Terminal Serverпараметр AllowRemoteRPCтипу REG_DWORDі рівний 1 Для зміни настройок можна використовувати.reg-файл такого змісту:

    Windows Registry Editor Version 5.00
    "AllowRemoteRPC"=dword:00000001

    В Windows Vista, Windows 7, 8, 10 ключ реєстру AllowRemoteRPCіснує, але має значення рівне 0 що необхідно виправити. Для застосування змін потрібне перезавантаження.

  • оскільки для обміну повідомленнями утиліта msg.exeвикористовує протокол SMB (Server Message Block), кожному комп'ютері, якому надсилатимуться повідомлення, має бути відкритий TCP порт 445

    Приклади використання MSG:

    msg * /server:Server "Тестове повідомлення"- надіслати тестове повідомлення всім користувачам комп'ютера Server

    msg * /server:192.168.0.1 "Тестове повідомлення"- надіслати тестове повідомлення всім користувачам комп'ютера з IP-адресою 192.168.0.1

    msg RDP-Tcp#0 /server:TSServer "Тестове повідомлення"- надіслати тестове повідомлення користувачеві термінальної сесії з ім'ям RDP-Tcp#0 на комп'ютері TSServer

    msg console /server:Windows7 "Тестове повідомлення"- надіслати тестове повідомлення поточному локальному користувачеві комп'ютера Windows7

    msg console "Тестове повідомлення"- Надсилання тестового повідомлення від користувача сеансу RDP локальному користувачеві. Якщо ця команда виконується не користувачем термінальної сесії, повідомлення буде надіслано локальним користувачем самому собі.

    Для виконання команди msgвід імені іншого користувача можна скористатися утилітою PSExecз пакета PSToolsабо штатним засобом runas.exe

    psexec -u otheruser -p otherpass msg * /server:win10 TEST message

    runas /user:otheruser "msg * /server:win10 Test message"

    Повідомлення, надіслані командою msgлокальному користувачеві комп'ютера з операційною системою Windows XP, який відсутній (ще не увійшов до Windows) відображаються у вікні із запрошенням до реєстрації в системі та можуть бути доступні стороннім.

    Перевірте, чи система підтримує команду msg .Функціонал цієї команди багато в чому аналогічний функціоналу команди net send, що не використовується. Але ця команда працює тільки у професійній та корпоративній версіях Windows. Якщо ви працюєте в Windows Домашня, оновіть систему до версії Професійна або Корпоративна, щоб скористатися командою msg .

    • Щоб дізнатися версію Windows, натисніть ⊞ Win + Pauseабо клацніть правою кнопкою миші на "Комп'ютер" і виберіть "Властивості". Версія Windows відображається у розділі «Видання Windows».

    Відкрийте командний рядок.Як і net send, команда msg запускається з командного рядка. Командний рядок запускається різними способами (залежно від версії Windows) або просто натисніть ⊞ Winта введіть cmd.

    • Windows Vista/7: відкрийте командний рядок у меню «Пуск».
    • Windows 8.1/10: клацніть правою кнопкою миші по кнопці «Пуск» та виберіть командний рядок.
    • Windows 8: натисніть ⊞ Win + Xта виберіть командний рядок.
  • Введіть команду.Введіть msg та натисніть Пробіл. Далі потрібно ввести інформацію, яка містить текст та напрямок повідомлення.

  • Визначте отримувача повідомлення.У порівнянні з net send команда msg має додаткові опції.

    • msg Ім'я користувача – введіть ім'я користувача.
    • msg сеанс – введіть назву конкретного сеансу.
    • msg ID сеансу – введіть ідентифікатор сеансу.
    • msg @ filename – введіть ім'я файлу, який містить список імен користувачів, сеансів та/або ідентифікаторів сеансів. Корисно для надсилання повідомлень працівникам відділів.
    • msg * – повідомлення буде надіслано всім користувачам, які підключені до сервера.
  • Вкажіть сервер, користувачам якого потрібно надіслати повідомлення (якщо хочете).Якщо потрібно надіслати повідомлення користувачу, який підключено до іншого сервера, введіть інформацію про сервер після інформації про одержувача. Якщо сервер не вказано, повідомлення буде надіслано на поточний сервер.

    • msg * /server: ім'я сервера
  • Вкажіть обмеження часу (якщо хочете).Можна вказати обмеження часу, щоб вказати інтервал очікування підтвердження від одержувача. Тимчасовий модифікатор вводиться після інформації про сервер (якщо вона є).

    • msg * /time: секунди (наприклад, 300 секунд для п'ятихвилинного інтервалу)
  • Введіть текст повідомлення.Після введення різних установок введіть текст повідомлення. Або натисніть ↵ Enter, та система запропонує ввести текст повідомлення в окремому рядку.

    • Наприклад: msg @salesteam /server:EASTBRANCH /time:600 Вітаю зі збільшенням продажів цього кварталу!
  • Надішліть повідомлення.Для цього натисніть ↵ Enter. Адресат отримає його негайно.

    • Команда msg призначена для надсилання повідомлень користувачам терміналів, а не лише різним комп'ютерам, підключеним до однієї мережі.
  • Виправлення неполадок.При роботі з msg можна зіткнутися з такими помилками:

    • "msg" is not recognized як internal or external command, operable program or batch file. (msg не розпізнається як внутрішній або зовнішній команди, виконуваної програми або пакетного файлу). У цьому випадку версія Windows не підтримує msg. Оновіть Windows до професійної версії.
    • Error 5 getting session names (Помилка 5 отримання імен сеансів) або Error 1825 getting session names (Помилка 1825 отримання імен сеансів). Помилка спілкування з одержувачем. Можна спробувати усунути таку неполадку, якщо на комп'ютері одержувача відкрити редактор реєстру (для цього виконайте команду regedit), перейти в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server та змінити значення параметра "AllowRemoteRPC" з 0 на 1.
  • Info
    My Windows-Server 2008 R2 machine couldn’t msg my Windows 7 box due to Error 5 getting session names.
    I found the solution , in a comment made by Consoles. I reblog it so it can be found easier.

    Це turns out it has nothing to do with not being on the same domain or whatever. It is due to a setting related to Terminal Server.
    Що це не miraculous, since msg.exe is designed для messaging to terminal users.

    So, changing a simple registry value and rebooting makes it all work again.

    Solution
    On the machine that you cannot message to:
    Use regedit to navigate to:
    Then change the following value:

    Name: AllowRemoteRPC
    Type: REG_DWORD
    Value: 1

    Reboot. Now it should work. 🙂

      I did this on all my Windows 7 HP machines and it got rid of the error 5 but now it says does not exist or is disconnected. Any solution yet. I have been google-ing for about 3 hours on this and haven't found anything other than 3rd party installs which is impractical in my situation.

      Hi All after much trying and re trying i got it right to send windows 7 to windows 7

      using the following command

      msg /server:pcname username message

      server stays as is. pcname is the name of the pc ви є sending to. user name is the name the user loged in under on that PC. message is obviously the msg u want to send.

      Ви будете потребувати зміни в налаштуваннях на комп'ютері, використовуючи regedit.

      following registry key must be activated (якщо оголошено Consoles above):

      HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server

      Name: AllowRemoteRPC

      Value: 1 (the dafault is ‘0’)

      Isn’t allowing remote RPC як, a *HUGE* security risk?

      Я можу, щоб це можливо і моє ліжко встановлюють, може бути рідко прямий спосіб комунікувати, але якщо вона завдає її комп'ютера, щоб зробити RPC телефони, я роблю це, якщо ви virus моє комп'ютер буде кинути це, або Якщо для кожного питання RPC потреби можуть бути пройдені через мій router, anyone over the internet will have easy attack vector to my machine.

      I think there's a reason it's disabled in Vista/7 by default. I'm not sure if the winpopup is worth compromising your security.

      superray: search in regedit (F3) для 'allowremoterpc' it will find it

      anon: yes, але тільки в intranet, і тільки якщо ваш firewall не може бути ні. rooter firewall буде вирішувати всі додатки. (it could be a problem only in mass lan-s like barding school. If scared, use skype or msn (meeboo.com)

      Ви можете повідомити інформацію про Windows 7 пристроїв і Windows XP пристроїв на LAN використовуючи freeware. Це робить безліч досліджень, але я app that works from command prompt and in batch files to send messages.

      Я повинен hoped для використання msg.exe на нашій локальній мережі, але після того, як всі записані Registry tweaks, firewall зміни, etc., я маю лише send messages to Windows 7 machines. Проти freeware apps worked right away sending to Windows XP machines and to Windows 7 machines. The work on both Workgroup LANs and on domains.

      WinSend is a more traditional Instant Messaging application that starts at o $12 and goes down in price based on quantity of licenses purchased.

      I know this is old, but maybe someone has a solution.

      My computer: PC
      Target: LAPTOP (192.168.0.110)

      msg /server:laptop * "Hello Laptop"
      Returns * does not exist or is disconnected.

      Trying with IP
      msg /server:192.168.0.110 * "Hello Lappy"
      Returns ‘Error 5 getting session names’

      I має всі applied the registry change and rebooted the machine multiple times.

      Any other suggestions?

      you need to do what SUHAIL said…
      and the computer wich you are triying to connected need a password, and user… added in windows credentials,
      shearch in windows credential manager… and add the user and password…

      Hi i tried to go regedit and follow the steps but it doesn’t have a folder called HKML instead it has HKEY_CLASSES_ROOT and HKEY_CURRENT_USER etc. can i get the path for the folders i have?

      modify regedit файл

      HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server

      Name: AllowRemoteRPC

      Value: 1 (the dafault is ‘0’)

      msg / SERVER: Destination User “send message”
      regards

      _______________________________________

      modificar archivo regedit

      HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server

      Name: AllowRemoteRPC

      Value: 1 (the dafault is ‘0’)

      envio de

      msg /SERVER:Destino Usuario

    На ті комп'ютери мережі, з яких потрібно надсилати повідомлення.

    Загальні відомості про команду net send

    Net send це консольна програма, що входить до складу деяких версій Windows і призначена для надсилання повідомлень по локальній мережі іншому користувачеві, комп'ютеру або псевдоніму. Команда доступна лише у Windows NT, 2000, XP, 2003 і недоступна у Windows 7, Vista, ME, 98, 95 і більше. У Windows XP, починаючи з Service Pack 2, команда net send за замовчуванням відключена.

    Використання команди net send

    Для роботи програми net send має бути запущена служба повідомлень Windows. Фактично, команда net send є лише інтерфейсом командного рядка до служби повідомлень, яка займається безпосередньо відправкою та отриманням повідомлень. Для отримання повідомлень на комп'ютері, на який надсилається повідомлення, також повинна бути запущена служба повідомлень або інша програма, що використовує той же протокол для обміну повідомленнями. Повідомлення може бути надіслано лише активному об'єкту в мережі. Якщо повідомлення надсилається користувачеві, він має увійти до системи під своїм ім'ям.

    Щоб надіслати повідомлення командою net send, запустіть командний інтерпретатор (командний рядок). Щоб запустити командний інтерпретатор, виберіть пункт Виконати з меню Пуск, наберіть cmd і натисніть кнопку OK. Використовуйте команду net з параметром send та іншими параметрами відповідно до синтаксису команди. Служба повідомлень відображає отримані повідомлення у стандартному діалоговому вікні повідомлень Windows.

    Синтаксис команди net send

    Команда net send має наступний синтаксис:

    net send (username | * | /domain[:domainname] | /users) message

    username- Ім'я користувача, ім'я комп'ютера або псевдонім, якому потрібно надіслати повідомлення;

    * - Надсилання повідомлень усім членам домену або робочої групи;

    /domain[:domainname]- Надсилання повідомлення всім іменам в домені комп'ютера або в домені domainname;

    /users- Надсилання повідомлення всім користувачам, підключеним до сервера;

    message- Текст повідомлення.

    Зауваження щодо використання команди net send

    Якщо аргументи параметрів команди містять прогалини, їх слід укладати у лапки.

    Можливі труднощі з використанням довгих імен одержувачів повідомлень. Імена, що використовуються службою повідомлень, мають довжину до 15 символів.

    Гранична довжина широкомовних повідомлень становить 128 знаків. Гранична довжина персональних повідомлень – 1600 знаків.

    Приклади використання команди net send

    Щоб надіслати повідомлення "Надіслати повідомлення по локальній мережі можна командою net send" користувачу ivanov введіть:

    net send ivanov Надіслати повідомлення по локальній мережі можна командою net send

    Щоб надіслати повідомлення всім користувачам, підключеним до комп'ютера, з якого надсилається повідомлення, введіть:

    net send /users Всім негайно вийти із 1С!

    Щоб надіслати повідомлення всім користувачам у домені ukmz, введіть:

    net send /domain:ukmz Електрика в будівлі буде відключена через 5 хвилин

    Щоб надіслати повідомлення всім користувачам у домені комп'ютера, з якого надсилається повідомлення, введіть:

    net send * Господа, нарада при генеральному директорі відбудеться о 13:00

    Увімкнення та вимкнення служби повідомлень та net send

    Увімкнення та вимкнення служби повідомлень можливе як консолі MMC (оснащення Служби) так і за допомогою командного рядка. Для виконання цих операцій необхідно мати права адміністратора.

    Щоб увімкнути службу повідомлень за допомогою консолі MMC, виконайте такі дії: Зайдіть у Панель керування. Відкрийте папку Адміністрація, Служби. Знайдіть у списку "Служба повідомлень" (Messenger). Відкрийте вікно властивостей служби. Виберіть "Авто" зі списку "Тип запуску" якщо ви хочете, щоб служба автоматично запускалася при завантаженні Windows. Потім натисніть кнопку Пуск. Натисніть кнопку OK.

    Щоб вимкнути службу повідомлень, виконайте такі дії: Зайдіть у Панель керування. Відкрийте папку Адміністрація, Служби. Знайдіть у списку "Служба повідомлень" (Messenger). Відкрийте вікно властивостей служби. Виберіть "Вручну" зі списку "Тип запуску". Потім натисніть кнопку Стоп. Натисніть кнопку OK.

    Щоб увімкнути службу повідомлень з командного рядка, введіть у командному інтерпретаторі такі команди:

    sc config messenger start=auto
    net start messenger

    Щоб вимкнути службу повідомлень з командного рядка, введіть у командному інтерпретаторі такі команди:

    net stop messenger
    sc config messenger start= disabled

    Як відправляти net send повідомлення у Windows 7

    Для надсилання net send повідомлень у тих версіях Windows, де ця команда відсутня (Windows 7, Vista, ME, 95, 98) можна використовувати стороннє програмне забезпечення. Пропонуємо вам використовувати дві програми: WinSent Messenger та утиліту Sent. WinSent Messenger це месенджер для локальний мережісумісний з net send. Утиліта Sent призначена для надсилання повідомлень із командного рядка. Докладніша інформація доступна на сторінках цих програмних продуктів: