Согласно этому:
Windows Vista, Windows 7 и Windows 8 вообще не имеют команды Netsend, и вам нужно дополнительное программное обеспечение для получения или отправки сетевых сообщений, например, LanTalk NET.
Так что ... не более smbclient
, чтобы отправить сообщение для Windows Vista и выше.
В соответствии с этим в Windows 7 действительно есть MSG.EXE
MSG.EXE, но я не понял, можете ли вы отправить сообщение с компьютера на базе Linux в Windows 7.
C:\>msg rik hello world
дает мне диалоговое окно ниже, так что механизм все еще там.
Теперь нам нужно найти способ сделать это из Linux.
Но наверняка smbclient
несовместим с msg.exe
.
Вы можете попробовать Google для версии Linux
Редактировать:
Я провел поиск и не смог найти никаких Linux-программ, которые могли бы взаимодействовать со стандартным MSG.EXE
-сервисом Windows. Из-за множества подвигов команды net send
применяемой хакерами и спамерами, Microsoft удалила службу (начиная с Vista), и новые сообщения MSG.EXE
зашифрованы.
Следующая идея - выполнить MSG.EXE
MSG.EXE удаленно на компьютере с Windows. Это должно быть выполнимо с помощью PsExec
-service.
Сначала я попытался использовать PsExec из Windows XP в Windows 7 (просто чтобы убедиться, что PsExec работал).
Но я получил ошибку "Отказано в доступе".
Отсюда я последовал первому предложению, и смена реестра на целевой Windows 7 сработала:
(Мне также нужно было сделать это на чистой машине с Windows 8.1, с которой я тестировал в качестве цели)
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
(Если «Windows (PsExec) -> Windows» не работает, «Linux (winexe) -> Windows», безусловно, не будет работать.)
Затем я установил winexe
на свой древний сервер Fedora 3 с 2004 года. (Да, знаю ;).
Я получил много предупреждений во время компиляции, но не были фатальными.
wget http://downloads.sourceforge.net/project/winexe/winexe-1.00.tar.gz
tar xzvf winexe-1.00.tar.gz
cd winexe-1.00/source4/
./autogen.sh
./configure
make
bin/winexe -U user%password //xps8500 'cmd'
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>
Я получил командную строку из удаленной системы.
Следующая команда:
bin/winexe -U user%password //xps8500 'msg rik hello world'
и я получил то же изображение, что и выше. Так что это работает. Не очень красиво использовать PsExec/winexe
для MSG.EXE
, но эй ... это работает;)
(просто протестируйте каждую нужную вам систему, если она может быть использована в качестве цели для PsExec
или может получить MSG.EXE
MSG.EXE с /server:x
с другой машины Windows, на которой вы PsExec
)
Лично мне не нравится, когда во время моей работы появляется диалоговое окно (блокирующее все, что я печатаю), поэтому я использую небольшую, менее навязчивую систему обмена сообщениями, которая выскакивает маленькое окно возле панели задач (которое исчезает по истечении времени ожидания), но для этого требуется дополнительное программное обеспечение. Есть много простых программ обмена сообщениями, которые вы можете использовать. Вы также можете написать свой код. Это не обязательно должно быть просто показывать всплывающее окно в правом нижнем углу.