According to this:
Windows Vista, Windows 7, and Windows 8 have no Netsend command at all, and you need additional software to receive or send net messages, like our LanTalk NET.
So... no more smbclient
to send a message to Windows Vista and higher.
According to this, Windows 7 does have the MSG.EXE
-command but i haven't figured out if you can send a message from a Linux-based machine to Windows 7.
C:\>msg rik hello world
gives me the dialog below so the mechanism is still there.
Now we need to find a way to do it from Linux.
But it is certain that smbclient
is not compatible with msg.exe
.
You could try to Google for a Linux version
Edit:
I did some searching and couldn't find any Linux-programs which can communicate with the standard MSG.EXE
-service of Windows. Due to the many exploits of the net send
-command by hackers and spammers Microsoft retired the service (as of Vista) and the new MSG.EXE
communications are encrypted.
Next idea is to execute the MSG.EXE
-command remotely on a Windows machine. This should be doable with the PsExec
-service.
First i tried to use PsExec from Windows XP to Windows 7 (just to be sure PsExec worked).
But i got an "access denied"-error. From here i followed the first suggestion and the registry change on the target Windows 7 worked:
(i also needed to do this on a clean Windows 8.1 machine i tested with as target)
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
(If "Windows (PsExec) -> Windows" doesn't work "Linux (winexe) -> Windows" certainly wouldn't work.)
Next i installed winexe
on my ancient Fedora 3 server from 2004. (Yeah... i know ;).
I got a lot of warnings during compilation but non were fatal.
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>
I got the command-prompt from the remote system.
Next the command:
bin/winexe -U user%password //xps8500 'msg rik hello world'
and i got the same image as above. So that works. It's not very pretty to use PsExec/winexe
to execute MSG.EXE
, but hey... it works ;)
(just test every system you need if they can be used as target for PsExec
or can receive a MSG.EXE
-message with /server:x
from another Windows machine you PsExec
to)
Personally i don't like a dialog popping up during my work (blocking everything i type), so i use a small less intrusive messaging system, which pops out a small window near the system tray (which disappears after a timeout) but that requires additional software. There are a lot of simple messaging programs you could use. You could also code your own. It doesn't have to be fancy to just show a popup in the right-bottom corner.