答案1
该msg
命令应该已随 Windows 提供。(至少在 XP 上是这样的。)
一般语法是:
msg [/server <server>] <session> [<message>]
/server <server>
是可选的。当您想要将消息发送到另一台计算机时使用它。(这意味着几乎总是。)<session>
可:登录用户的用户名;示例:
Administrator
,jsmith
已连接会话的“会话名称”:
console
表示当前正在使用显示器和键盘的一方。RDP 会话被命名为rdp-tcp#<number>
。数字会话 ID;也适用于断开连接的会话
*
发送到计算机上的所有会话。(这相当于向 中的计算机发送消息net send
。)
使用
qwinsta
或qwinsta /server <server>
列出所有当前存在的会话。(或者下载“Windows 2003 管理工具”并使用其tsadmin
工具。)请注意,与基于 NetBIOS 不同
NET SEND
,您不能向整个工作组发送消息。<message>
是您要发送的文本。如果您未指定任何内容,则信息将等待输入,直到您CtrlZ在单独一行中输入。
例如:
msg /server snow console Hi there!
所有这些工具(msg、qwinsta、quser、qprocess、tskill、tscon、shadow)都使用终端服务 RPC。在 Windows 的消费者版本中,此 RPC 只能从本地计算机访问,而不能通过网络访问。要重新启用它,请按照这些说明。
TL;DR 摘要:从提升的命令提示符运行以下命令。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v AllowRemoteRPC /t REG_DWORD /d 1 /f
RPC 与文件共享通过相同的协议进行。如果信息或者奎斯塔即使允许远程 RPC(参见上文),仍返回“访问被拒绝”,请确保您可以访问另一台计算机的文件,已认证(不是作为客人)。
答案2
msg.exe 命令已作为 Windows 7 的一部分安装(仅限旗舰版和商务版)。其工作原理与 Vista 之前的“net send”语法几乎相同。只需进入 cmd 提示符并输入以下内容:
msg JoeTheUser Hi Joe... This is a message from me.
或者对于工作站:
msg /server:SomeWorkstation Please Logoff as your typing hurts my feelings.
与旧的“net send”命令不同,msg 不依赖于 Windows 消息服务。