Команда msg уже должна прийти с Windows. (По крайней мере, это здесь, на XP.)
Общий синтаксис:
msg [/server <server>] <session> [<message>]
/server <server> является обязательным. Используйте его, когда хотите отправить сообщение на другой компьютер. (Это значит почти всегда.)
<session> может быть:
имя пользователя вошедшего в систему пользователя; примеры: Administrator, jsmith
"имя сеанса" подключенного сеанса: console означает тот, который в данный момент использует монитор и клавиатуру. Сеансы RDP называются rdp-tcp#<number>.
числовой идентификатор сеанса; работает и для отключенных сессий
* отправить на все сеансы на компьютере. (Это эквивалентно отправке сообщения на компьютер в net send .)
Используйте qwinsta или qwinsta /server <server> для просмотра списка всех существующих в данный момент сеансов. (Или загрузите "Инструменты администрирования Windows 2003" и используйте инструмент tsadmin .)
Обратите внимание, что в отличие от NetBIOS на базе NET SEND , вы не можете отправить сообщение всей рабочей группе.
<message> - это текст, который вы хотите отправить. Если вы не укажете ничего, msg будет ждать ввода, пока вы не введете Ctrl Z в строке.
Например:
msg /server snow console Hi there!
Все эти инструменты (msg, qwinsta, quser, qprocess, tskill, tscon, shadow) используют RPC служб терминалов. В потребительских версиях Windows доступ к этому RPC возможен только с локального компьютера, а не по сети. Чтобы включить его, следуйте этим инструкциям.
TL; DR summary: Запустите следующую команду из командной строки с повышенными правами.
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v AllowRemoteRPC /t REG_DWORD /d 1 /f
RPC передается по тому же протоколу, что и обмен файлами. Если msg или qwinsta возвращают "Отказано в доступе" даже после разрешения удаленного RPC (см. Выше), убедитесь, что вы можете получить доступ к файлам другого компьютера, прошедшим проверку подлинности (не в качестве гостя).