Команда msg - відправити повідомлення користувачу.

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

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

MSG користувач [/ SERVER: сервер] [/ TIME: секунд] [/ V] [/ W] [повідомлення]

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

користувач - Ім`я користувача.
ім`я сеансу - Ім`я сеансу.
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
[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Terminal Server]
"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) отображаютсяв вікні із запрошенням до реєстрації в системі і можуть бути доступні стороннім.
Поділися в соціальних мережах:

Схожі
Команда nbtstat - відображення статистики та поточних підключень nbt (netbios через tcp / ip)Команда nbtstat - відображення статистики та поточних підключень nbt (netbios через tcp / ip)
Logoff - завершення сеансу користувача windows.Logoff - завершення сеансу користувача windows.
Команда getmac - відображення фізичної адреси мережевого адаптера (mac-адреси)Команда getmac - відображення фізичної адреси мережевого адаптера (mac-адреси)
Команди date і timeКоманди date і time
Команда tsdiscon - відключення сеансу віддаленого робочого стола.Команда tsdiscon - відключення сеансу віддаленого робочого стола.
Команда taskkill - завершити процес.Команда taskkill - завершити процес.
Команда echo - висновок тексту на екран консоліКоманда echo - висновок тексту на екран консолі
Команда ftpКоманда ftp
Команда query - відображення інформації про сеанси користувачів.Команда query - відображення інформації про сеанси користувачів.
Команда takeown - змінити власника файлу або каталогу.Команда takeown - змінити власника файлу або каталогу.
» » Команда msg - відправити повідомлення користувачу.