经过大量的谷歌搜索后,我发现可以使用以下 smbclient 代码从 Ubuntu 计算机向 Windows XP 计算机发送消息。
echo "hello world" | 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 命令,并且您需要额外的软件来接收或发送网络信息,例如我们的兰谈网络。
所以...不再smbclient
向 Windows Vista 及更高版本发送消息。
根据这,Windows 7 确实有MSG.EXE
-命令,但我还没弄清楚是否可以从基于 Linux 的机器向 Windows 7 发送消息。
C:\>msg rik hello world
给出下面的对话框,因此机制仍然存在。
现在我们需要找到一种从 Linux 执行此操作的方法。
但可以肯定的是,smbclient
与不兼容msg.exe
。
你可以尝试Google 查找 Linux 版本
编辑:
我搜索了一下,没有找到任何可以与MSG.EXE
Windows 标准服务通信的 Linux 程序。由于net send
黑客和垃圾邮件发送者多次利用该命令,微软已停用该服务(自 Vista 开始),新的MSG.EXE
通信已加密。
下一个想法是在 Windows 机器上远程执行MSG.EXE
-command。这应该可以通过PsExec
-服务。
首先,我尝试从 Windows XP 到 Windows 7 使用 PsExec(只是为了确保 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
在我的古老的2004 年的 Fedora 3 服务器。(是的...我知道 ;)。
我在编译期间收到很多警告,但都不是致命的。
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
或者可以从另一台 Windows 机器接收MSG.EXE
消息/server:x
PsExec
我个人不喜欢在工作时弹出对话框(阻止我输入所有内容),因此我使用一个干扰较少的小型消息系统,它会在系统托盘附近弹出一个小窗口(超时后会消失),但这需要额外的软件。您可以使用许多简单的消息程序。您也可以编写自己的代码。它不必太花哨,只需在右下角显示一个弹出窗口即可。