Ubuntu Сообщение в Windows 7 не работает?

После многих поисков в Google я вижу, что можно отправить сообщение с компьютера с Ubuntu на компьютер с Windows XP с помощью следующего кода smbclient.

эхо "привет мир" | smbclient -M "WindowsHost" . Отправляет сообщение и показывает Windows Meesage Popup

Однако я не нашел ни одного человека, работающего под управлением Windows 7 или 8, который мог бы отправить сообщение из Ubuntu или ЛЮБОГО ДРУГОГО дистрибутива. Я думаю, что это работает нормально, потому что новая утилита сообщений Windows - MSG, которая работает, если вы отправляете сообщение с компьютера Windows на компьютер Windows.

Так почему бы не

echo "hello world" | smbclient -M "WindowsHost" send a popup message to Window Computer?

Альтернатива smbclient для отправки сообщения на компьютер Windows 7 или 8?

1 ответ

Решение

Согласно этому:

Windows Vista, Windows 7 и Windows 8 вообще не имеют команды Netsend, и вам нужно дополнительное программное обеспечение для получения или отправки сетевых сообщений, например, LanTalk NET.

Так что... не более smbclient отправить сообщение в Windows Vista и выше.


В соответствии с этим Windows 7 имеет 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 -команда удаленно на машине Windows. Это должно быть выполнимо с PsExec -оказание услуг.

Сначала я попытался использовать 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 сообщение с /server:x с другой машины Windows, которую вы PsExec к)

Лично мне не нравится, когда во время моей работы появляется диалоговое окно (блокирующее все, что я печатаю), поэтому я использую небольшую, менее навязчивую систему обмена сообщениями, которая выскакивает небольшое окно рядом с системным треем (которое исчезает по истечении времени ожидания), но для этого требуется дополнительное программное обеспечение. Есть много простых программ обмена сообщениями, которые вы можете использовать. Вы также можете написать свой код. Это не обязательно должно быть просто показывать всплывающее окно в правом нижнем углу.

Другие вопросы по тегам