如何用msg命令给他人发消息?

使用管理员权限运行命令提示符,输入 msg /server:计算机名 用户名|会话ID "消息内容" 即可向指定用户或会话发送弹出消息。

msg 是一个内置于 Windows 操作系统(特别是专业版、企业版、教育版等,家庭版可能不支持或功能受限)的命令行工具,它的核心功能是向同一网络(通常是同一局域网或域)中其他已登录 Windows 的用户发送简单的文本消息,这条命令在网络管理、小型办公环境或需要快速通知同事的场景下非常有用。

重要前提和限制:

  1. 目标用户必须已登录: 你只能向当前已登录到其计算机的用户发送消息,如果用户已注销或计算机已关机/睡眠,消息将无法送达。
  2. 网络要求: 发送方和目标计算机必须在同一个局域网 (LAN) 或同一个 Windows 域 (Domain) 中,通常无法通过互联网直接发送。
  3. 服务状态: 目标计算机上必须运行着 Messenger 服务(在较新 Windows 版本中,该服务可能默认禁用或已改名/整合),在 Windows XP/Vista/7 时代,这个服务叫 “Messenger”,在更新的 Windows (8, 10, 11) 中,确保 Windows 服务处于运行状态(它是消息传递功能的基础),防火墙设置(包括 Windows Defender 防火墙)需要允许文件和打印机共享相关的入站规则。
  4. 权限: 你通常需要具有管理员权限才能成功执行 msg 命令,在命令提示符 (CMD) 或 PowerShell 中运行时,请确保以管理员身份运行。
  5. 消息格式: 只能发送纯文本消息,不支持富文本、图片或文件。
  6. 接收方体验: 消息会以弹出窗口的形式显示在目标用户的屏幕上,通常带有发送者的计算机名或用户名,用户需要点击“确定”才能关闭。

基本命令语法:

msg {username | sessionname | sessionid | @filename | *} [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message]

参数详解:

  • *`{username | sessionname | sessionid | @filename | }` (必需):** 指定消息的接收者,你可以选择以下方式之一:

    • username 目标用户的登录用户名(zhangsan),这是最常用的方式。
    • sessionname 目标用户会话的名称(通常比较难记,不如用户名常用)。
    • sessionid 目标用户会话的 ID 号(一个数字),可以通过 query sessionquery user 命令查看。
    • @filename 指定一个文本文件,该文件包含一个或多个用户名、会话名或会话 ID(每行一个)。msg 会向文件中的所有目标发送消息
    • *`:** 向当前服务器(或/SERVER` 指定的服务器)上所有已登录的用户发送消息,慎用!
  • /SERVER:servername (可选): 指定要查询用户登录状态并发送消息的目标服务器(计算机名),如果省略,默认是发送命令的本地计算机(即你操作的那台电脑),如果你想向域中其他计算机上的用户发消息,必须使用此参数指定目标计算机名(/SERVER:PC-02/SERVER:fileserver),这是跨计算机发送的关键参数。

  • /TIME:seconds (可选): 指定消息对话框在目标用户屏幕上保持打开(等待用户响应)的最长时间(秒),如果用户不点击“确定”,时间到了对话框会自动关闭,默认时间通常较短(60 秒)。/TIME:120 表示等待 2 分钟。

  • /V (可选 – Verbose): 显示详细执行信息,包括哪些操作成功,哪些失败(例如找不到用户),有助于调试。

  • /W (可选 – Wait): 强制 msg 命令等待,直到目标用户点击了消息对话框上的“确定”按钮或超时发生,命令提示符才会返回,如果不加此参数,命令发送后立即返回,不等待用户响应。

  • [message] (可选): 要发送的文本消息内容,如果消息中包含空格,必须用双引号 将整个消息括起来,如果省略此参数,msg 会提示你逐行输入消息,按 Ctrl+Z 然后回车结束输入(或按 F6 再回车)。

常用示例:

  1. 向本地计算机上的用户发送消息:

    msg zhangsan "请尽快保存工作,服务器将在5分钟后重启。"

    (向本地登录的用户 zhangsan 发送一条消息)

  2. 向远程计算机上的用户发送消息:

    msg lisi /SERVER:PC-DEPT-01 "您提交的报告已收到,谢谢!"

    (向计算机名为 PC-DEPT-01 上登录的用户 lisi 发送消息)

  3. 向所有本地登录用户广播消息:

    msg * "紧急通知:网络维护将在15分钟后开始,请保存好所有文件。"

    (向本地计算机上所有已登录用户发送广播消息 – 慎用)

  4. 向文件中的用户列表发送消息:
    创建一个文本文件 recipients.txt如下:

    wangwu
    zhaoliu

    然后运行命令:

    msg @recipients.txt /SERVER:MAINSERVER "下午2点会议室开会,请准时参加。"

    (向 MAINSERVER 服务器上登录的用户 wangwuzhaoliu 发送相同消息)

  5. 发送消息并等待用户确认:

    msg zhangsan /W "请确认备份已完成,完成后请点击'确定'。"

    (向 zhangsan 发送消息,命令提示符会一直等待,直到他点击“确定”或超时)

  6. 发送消息并显示详细信息:

    msg lisi /SERVER:PC-02 /V "测试消息,请忽略。"

    (向 PC-02 上的 lisi 发送测试消息,并显示命令执行的详细信息)

常见问题与故障排除:

  • “错误 5 正在获取会话名”: 通常表示权限不足。务必以管理员身份运行命令提示符或 PowerShell。
  • “错误 1713”: 找不到指定的用户名 (username),检查用户名拼写是否正确,并且该用户确实已登录到指定的服务器 (/SERVER) 上,使用 query user /SERVER:servername 命令查看目标服务器上的登录用户列表。
  • 消息未弹出/目标用户没收到:
    • 确认目标用户已登录未锁定屏幕(有时锁屏状态下不显示)。
    • 确认目标计算机的 Windows 服务正在运行 (services.msc 中查看)。
    • 检查目标计算机的防火墙设置,确保允许“文件和打印机共享”相关的入站规则(特别是 NB-SessionNB-Name 相关的规则)。
    • 在目标计算机上,检查 “系统属性” -> “高级” -> “启动和故障恢复” -> “设置”,确保 “系统失败” 下的 “将事件写入系统日志” 已勾选(某些旧文档提到此设置影响消息接收)。
    • 在组策略 (gpedit.msc) 中,检查 “计算机配置” -> “管理模板” -> “Windows 组件” -> “Windows 消息框” 下的策略是否禁用了消息接收(较新 Windows 可能无此策略)。
  • 家庭版用户: Windows 家庭版通常不包含或不支持 msg 命令或其依赖的服务。

安全与使用建议:

  • 权限最小化: 仅在必要时使用管理员权限。
  • 明确目的: 用于工作沟通或重要系统通知,避免发送无关或骚扰信息。
  • 内容清晰: 消息应简洁明了,说明发送者身份和意图。
  • 尊重隐私: 不要滥用广播 () 功能。
  • 替代方案: 在现代工作环境中,即时通讯软件 (Teams, Slack, 微信, QQ)、电子邮件或专业的 IT 通知系统通常是更可靠、功能更丰富的替代方案。msg 更适合简单的、临时的局域网内通知。

msg 命令是一个经典的 Windows 网络管理工具,用于在局域网或域环境中向已登录用户发送简单的弹出式文本消息,它的使用依赖于正确的网络配置、服务状态、防火墙规则和管理员权限,虽然功能有限且在现代环境中可能不如其他通讯工具常用,但在特定场景下(如无其他工具可用的紧急系统通知)仍能发挥作用,使用时请务必注意前提条件和限制。

引用说明:

  • 基于 Microsoft 官方关于命令行工具和网络服务的文档。
  • 具体命令语法和参数解释参考了 Windows 内置的 msg /? 帮助信息。
  • 故障排除建议综合了常见的系统管理员经验和社区讨论。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6310.html

(0)
酷番叔酷番叔
上一篇 2025年7月5日 11:31
下一篇 2025年7月5日 11:42

相关推荐

  • 在Linux系统中,vi(或vim)是经典的文本编辑器,掌握其命令输入方法对高效操作至关重要。以下是详细指南

    理解vi的两种核心模式命令模式(Normal Mode)启动vi后的默认模式(如输入 vi filename.txt),功能:执行删除、复制、保存等操作命令,不可直接输入文本,提示:底部无状态显示,按 Esc 可随时返回此模式,插入模式(Insert Mode)功能:直接编辑文本内容,进入方式:在命令模式下按特……

    2025年6月22日
    1000
  • MOVE命令为何总出错?

    MOVE命令用于将文件或目录移动到新位置,同时支持重命名操作;若目标位置存在同名文件,默认会覆盖它。

    12小时前
    200
  • 每天走一万步真的健康吗

    基础方法:管道与重定向通过管道()或重定向(<<<)向程序发送按键:# 多行输入(EOF 标记)command <<EOFyesinput2EOF适用场景:简单命令(如确认提示),支持大部分Shell(Bash/Zsh),特殊按键的表示需用转义序列表示非打印字符:\n 或 \r:回……

    3天前
    600
  • Windows 10命令行7种开启方法你知道吗?

    通过搜索菜单快速启动(推荐日常使用)点击任务栏左侧的 放大镜图标(搜索框)输入 cmd 或 powershell右键选择 “以管理员身份运行” 获取完整权限适用场景:普通命令执行/需要管理员权限的操作使用运行对话框(快捷操作)同时按下 Win + R 键输入 cmd 打开命令提示符 或 powershell 打……

    4天前
    800
  • 为什么高手都在命令行编译代码?

    准备工作安装编译器C/C++:安装GCC(Linux/macOS)或MinGW(Windows) # Ubuntu/Debiansudo apt install build-essential# Windows:下载MinGW并添加bin目录到PATH环境变量Java:安装JDK(官网下载) java -ver……

    2025年6月22日
    1100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信