惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
S
Secure Thoughts
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
W
WeLiveSecurity
O
OpenAI News
SecWiki News
SecWiki News
博客园 - Franky
NISL@THU
NISL@THU
Microsoft Azure Blog
Microsoft Azure Blog
T
Tor Project blog
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
Security Latest
Security Latest
H
Hacker News: Front Page
Google Online Security Blog
Google Online Security Blog
P
Privacy & Cybersecurity Law Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
月光博客
月光博客
李成银的技术随笔
Spread Privacy
Spread Privacy
F
Full Disclosure
F
Fortinet All Blogs
T
The Exploit Database - CXSecurity.com
Vercel News
Vercel News
AWS News Blog
AWS News Blog
WordPress大学
WordPress大学
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
V
Visual Studio Blog
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
P
Palo Alto Networks Blog
宝玉的分享
宝玉的分享
T
True Tiger Recordings
N
News and Events Feed by Topic
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
N
News | PayPal Newsroom
S
SegmentFault 最新的问题
Jina AI
Jina AI

博客园 - iTech

Anthropic 停招 L6 以下:当最强 AI 公司自己都不招初级工程师了 面试 AI Agent 工程师会被问什么?40+ 真题 + 知识图谱全梳理 - iTech 7 个标准正在重塑 AI 开发:从 MCP 到 AG-UI,一文看懂 Agent 时代的协议栈 SpaceX IPO:史上最大上市案,1.75万亿到2万亿美元的估值到底买了什么? DeepSeek 悄悄挂出 Agent Harness 岗位:Model + Harness = Agent,要做智能体产品了? AI 技术日报 - 2026-05-21 Claw 和 Hermes 精选 10 个零成本 Skills:让 AI Agent 能力翻倍 Stainless:AI 时代最被低估的幕后公司,你用的每个 SDK 可能都出自他们之手 飞书 CLI vs 企业微信 CLI vs 钉钉 CLI:三大办公平台终端工具横评 12-Factor Agents:从 21k Star 的开源项目看 AI Agent 的正确构建姿势 AI 技术日报 - 2026-05-20 Semble:让 AI Agent 搜代码的 Token 消耗直降 98%,怎么做到的 CloakBrowser:15k Star 的隐形浏览器,49 个 C++ 补丁干翻所有反爬检测 AI 技术日报 - 2026-05-19 面向 Agent 的软件开发:当软件的第一用户不再是人类 8MB 内存跑 AI 编程代理?Zerostack 用纯 Rust 证明:Agent 不需要那么重 AI 技术日报 - 2026-05-18 AI 技术日报 - 2026-05-17 AI 技术日报 - 2026-05-16 Anthropic 发布创始人手册:AI Native 公司不是多招几个工程师,是换一种活法 "不用 AI 就会被淘汰"——这是我听过最懒惰的恐吓 0.79ms 创建一个安全沙箱:zeroboot 用 COW 打穿 AI Agent 隔离的性能天花板 2000+ API 一把梭:agentic-ai-apis 让你少写 80% 的基础设施代码 AI 技术日报 - 2026-05-15 OpenHuman:一个让你在几分钟内拥有 AI 超级智能的开源项目 开源项目怎么选 License?个人免费、企业收费的 6 种方案全对比 browser-use vs browser-harness vs agent-browser:AI Agent 浏览器自动化工具终极选型指南 AI 技术日报 - 2026-05-14 一个 Deep Agent 到底能干什么?从功能视角拆解它的全部能力 Deep Agents SDK 功能全清单:我逐行读了源码,整理出这份完整参考手册 7MB 干翻 200MB?开源终端 Terax AI 能不能替代 Warp,我替你试了 Deep Agents vs Claude Code vs Cursor:2026 年 AI 编程 Agent 终极对比 15 个 Deep Agents 实战案例:从 Deep Research 到 Text-to-SQL,看看这个框架能做什么 用 Deep Agents CLI 替代 Claude Code:一条命令装好,任意模型驱动的终端 Agent 拆解 Deep Agents 架构:中间件、后端、Profile 三板斧,这设计比我想的还深 Deep Agents:LangChain 出品的 2026 年最强开源 Agent 框架,3 行代码搞定一切 AI 时代,我辞掉了大厂工作去做独立开发者——血泪换来的 7 条生存法则 中国 AI 六小虎估值大盘点:谁在泡沫上跳舞,谁在价值里扎根 AI 技术日报 - 2026-05-13 写好 AGENTS.md 相当于白嫖一次模型升级(写错了还不如不写) GitHub 49K Star!Ruflo 让 Claude 多 Agent 协作像带团队一样简单 AI 技术日报 - 2026-05-12 罗福莉访谈深度解析:Agent 时代普通人还能干什么 AWS DevOps Agent:亚马逊的自主运维 Agent 来了 Vercel vs Netlify vs Cloudflare Pages:2026 静态托管三巨头实测对比 AI 时代,为什么中国出不了英伟达、三星、海力士? Vercel 开源 Open Agents:把 Claude Code 搬上云,关机也能干活 黄仁勋 CMU 毕业演讲全文解读:计算范式 60 年来首次被重写,每个人都是程序员 AI 技术日报 - 2026-05-11 nuwa-skill 18K Star:16 个思维 Skill 全拆解 - iTech Hermes Web UI:把 AI Agent 装进浏览器,一个面板管到底 AI Agent 工具多到选不过来?Agent MGMT 帮你一次性看清全局 营收创新高却裁员 20%:Cloudflare 用 AI Agent 告诉我们,替代已经开始了 AI 技术日报 - 2026-05-10 23K Star 的 DeepSeek TUI,真能代替 Claude Code 吗? Gumroad创始人把《极简创业》做成AI技能包:10个斜杠命令,让Claude当你的创业顾问 Open Design:3.4万星的开源AI设计工作室,让你的编程Agent秒变设计师 免费搭一个 AI 新闻雷达:Horizon 开源项目部署实战 Cloudflare Agent Setup:一行指令让 AI Agent 帮你配好整个开发环境 AI 技术日报 - 2026-05-09 AI Agent 写完代码谁来测?这个开源沙箱把 CI/CD 和多 Agent 协作全包了 7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策 71000颗星的AI交易团队:让大模型模拟投行分工,自动做交易决策 13400颗星的开源项目:输入一句话,AI全自动帮你做短视频 102颗星的沙盒:当AI学会自己写代码、跑测试、做部署 AI 技术日报 - 2026-05-08 29k 星的 PageIndex:不用向量数据库,靠推理就能做 RAG 每天花两小时刷信息?这个开源项目帮你全自动搞定 读源码像读小说?试了 DeepWiki 和 Zread,我再也不想裸读 GitHub 了 Matt Pocock 开源的这套 .claude 技能,为什么让工程师集体上头? Cursor Team Kit:Cursor 官方团队在用的 17 个 AI 工作流 AI 技术日报 - 2026-05-07 AI 技术日报 - 2026-05-06 - iTech AI 技术日报 - 2026-05-05 Anthropic CEO 说 12 个月内程序员要失业,我扒完他的底牌,发现事情没那么简单 把工程师的肌肉记忆装进 Claude Code,这个 4300 Star 的项目我后悔没早用 AI 技术日报 - 2026-05-04 AI 技术日报 - 2026-05-03 AI 技术日报 - 2026-05-02 六大 Agent 框架横评:谁支持 Skills?谁能自动创建 Agent?MCP 呢? Wechatsync:一个 Chrome 插件,一键把文章同步到 31 个平台 LangChain 开源了 Open SWE:Stripe、Ramp、Coinbase 内部都在造的编程 Agent Cockpit:把 Claude Code 从终端里搬出来,装进浏览器 Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活 AI 技术日报 - 2026-05-01 AI 写代码每次结果都不一样?Archon 用 YAML 工作流把 AI 编程变成流水线 AI 写代码比你快了,但你还是得学编程——只不过学法得换 腾讯的龙虾特工队:4 个 AI Agent 同日更新,全家桶正式成型 Agno 不做更聪明的 Agent,它要把所有 Agent 框架包进同一个操作系统 Hermes Agent 终于有了像样的 Web 界面,而且还支持远程访问 Datawhale 出了一套 29 学科知识地图,把 AI 的底牌全掀了 Hermes Agent 在聊天框里就能用的 20 种高级功能 一份 AGENTS.md 能顶一次模型升级?Augment Code 用数据说了算 NVIDIA 开源了一个「AI 沙箱」,20K Star,让 Agent 跑代码不再裸奔 60ms 冷启动、5MB 内存:腾讯开源的这个沙箱让 Docker 安全隔离像笑话 AI 技术日报 - 2026-04-30 AI 技术日报 - 2026-04-29 AI 技术日报 - 2026-04-28 Goose:Linux 基金会亲儿子,能撼动 Claude Code 和 OpenCode 吗? AI 技术日报 - 2026-04-27
CLI for Microsoft 365 实战:用命令行操控 Teams 收发消息
iTech · 2026-05-21 · via 博客园 - iTech

CLI for Microsoft 365 实战:用命令行操控 Teams 收发消息

每天在 Teams 里复制粘贴发消息,能不能直接在终端里搞定?

CLI for Microsoft 365(前身是 Office 365 CLI)是 PnP 社区维护的开源命令行工具,覆盖了 Microsoft 365 全家桶的管理操作。其中 Teams 相关的命令可以让你在终端里完成聊天消息的发送、读取、搜索,不需要打开 Teams 客户端。

本文从零开始,记录安装、登录、发消息、读消息的完整流程。

安装与登录

安装 CLI

要求 Node.js 18+,全局安装即可:

npm install -g @pnp/cli-microsoft365

验证安装:

m365 version

登录 Microsoft 365

CLI 支持多种登录方式。最简单的是浏览器交互登录:

m365 login

执行后会弹开浏览器,用你的 Microsoft 365 账号登录授权。登录成功后终端会显示确认信息。

如果是在 CI/CD 环境中运行,可以使用设备码登录:

m365 login --authType deviceCode

或者用用户名密码(不推荐在生产环境使用):

m365 login --authType password --userName user@contoso.com

发送消息

CLI for Microsoft 365 提供了两种发送 Teams 消息的方式:聊天消息(1:1 或群聊)和频道消息(Team Channel)。

方式一:向个人或群聊发消息

使用 teams chat message send 命令。这个命令支持三种定位聊天会话的方式:

按邮箱发给个人(最简单,不需要知道 Chat ID):

m365 teams chat message send \
  --userEmails alexw@contoso.com \
  --message "你好,这条消息来自终端"

如果和对方之间还没有聊天会话,CLI 会自动创建一个新的。

按邮箱发给多人群聊

m365 teams chat message send \
  --userEmails alexw@contoso.com,meganb@contoso.com \
  --message "团队会议提醒:今天下午 3 点"

按 Chat ID 发送(适合已知会话 ID 的场景):

m365 teams chat message send \
  --chatId 19:2da4c29f6d7041eca70b638b43d45437@thread.v2 \
  --message "部署已完成"

按聊天名称发送

m365 teams chat message send \
  --chatName "项目讨论组" \
  --message "本周进度已更新"

发送 HTML 格式消息:

m365 teams chat message send \
  --userEmails alexw@contoso.com \
  --message "<b>重要通知</b>:<br/>服务器将于今晚 22:00 维护" \
  --contentType html

方式二:向 Team 频道发消息

向 Team 的 Channel 发消息需要用到 teams message send 命令(注意没有 chat 关键字):

m365 teams message send \
  --teamId 5f5d7b71-1161-44d8-bcc1-3da710eb4171 \
  --channelId 19:88f7e66a8dfe42be92db19505ae912a8@thread.skype \
  --message "构建已通过,版本号 v2.1.0"

如果不知道 Team ID 和 Channel ID,可以先查询:

# 列出所有 Team
m365 teams team list

# 列出某个 Team 的所有 Channel
m365 teams channel list --teamId 5f5d7b71-1161-44d8-bcc1-3da710eb4171

接收/读取消息

列出所有聊天会话

先看看你有哪些活跃的聊天:

m365 teams chat list

可以按类型过滤:

# 只看一对一聊天
m365 teams chat list --type oneOnOne

# 只看群聊
m365 teams chat list --type group

读取聊天消息

拿到 Chat ID 后,列出聊天中的消息:

m365 teams chat message list \
  --chatId 19:2da4c29f6d7041eca70b638b43d45437@thread.v2

按时间范围过滤消息:

# 读取 2026 年 5 月 1 日之后创建的消息
m365 teams chat message list \
  --chatId 19:2da4c29f6d7041eca70b638b43d45437@thread.v2 \
  --createdEndDateTime 2026-05-01T00:00:00Z

# 读取某个时间段内修改过的消息
m365 teams chat message list \
  --chatId 19:2da4c29f6d7041eca70b638b43d45437@thread.v2 \
  --modifiedStartDateTime 2026-05-01T00:00:00Z \
  --modifiedEndDateTime 2026-05-21T00:00:00Z

返回的消息数据结构如下:

{
  "id": "1667653590582",
  "createdDateTime": "2026-05-21T13:06:30.582Z",
  "from": {
    "user": {
      "displayName": "张三",
      "userIdentityType": "aadUser"
    }
  },
  "body": {
    "contentType": "html",
    "content": "<p>你好</p>"
  }
}

读取频道消息

# 列出频道消息
m365 teams message list \
  --teamId 5f5d7b71-1161-44d8-bcc1-3da710eb4171 \
  --channelId 19:88f7e66a8dfe42be92db19505ae912a8@thread.skype

# 读取单条消息
m365 teams message get \
  --teamId 5f5d7b71-1161-44d8-bcc1-3da710eb4171 \
  --channelId 19:88f7e66a8dfe42be92db19505ae912a8@thread.skype \
  --id 1540747442203

# 读取消息的回复
m365 teams message reply list \
  --teamId 5f5d7b71-1161-44d8-bcc1-3da710eb4171 \
  --channelId 19:88f7e66a8dfe42be92db19505ae912a8@thread.skype \
  --messageId 1540747442203

完整操作流程图

MERMAID_BLOCK_0

实战场景:用 JMESPath 提取关键信息

CLI 默认返回完整 JSON,配合 --query 参数可以用 JMESPath 提取你需要的字段。

只看消息内容和发送者:

m365 teams chat message list \
  --chatId 19:2da4c29f6d7041eca70b638b43d45437@thread.v2 \
  --query "[].{from: from.user.displayName, body: body.content, time: createdDateTime}" \
  --output table

只看某个人的消息:

m365 teams chat message list \
  --chatId 19:2da4c29f6d7041eca70b638b43d45437@thread.v2 \
  --query "[?from.user.displayName == '张三'].body.content"

导出为 CSV 格式:

m365 teams chat message list \
  --chatId 19:2da4c29f6d7041eca70b638b43d45437@thread.v2 \
  --output csv > messages.csv

权限说明

这些 Teams 命令需要以下 Microsoft Graph 权限:

操作 需要的权限
发送聊天消息 Chat.ReadChatMessage.Send
读取聊天消息 ChatMessage.Read
读取频道消息 ChannelMessage.Read.All

CLI 默认使用 Delegated 权限(即当前登录用户的权限上下文)。teams chat message send 不支持 Application 权限,这意味着你不能用一个后台服务账号来发消息,必须用真实用户登录。

适合自动化的场景

这些命令真正发挥价值的地方是自动化场景:

CI/CD 通知:构建完成后自动在 Teams 频道发通知

m365 teams message send \
  --teamId $TEAM_ID \
  --channelId $CHANNEL_ID \
  --message "✅ $REPO 构建成功,分支 $BRANCH,提交者 $AUTHOR"

定时巡检报告:每天早上把系统状态推到运维群

m365 teams chat message send \
  --chatName "运维告警群" \
  --message " 今日系统状态:$STATUS" \
  --contentType html

消息归档:定期导出群聊记录做备份

m365 teams chat message list \
  --chatId $CHAT_ID \
  --createdEndDateTime $(date -u +%Y-%m-01T00:00:00Z) \
  --output json > archive.json

CLI for Microsoft 365 还支持 Docker 运行和 GitHub Actions 集成,可以把这些命令直接嵌入到你的自动化流程中。


作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/
每日分享最前沿的AI新闻资讯和技术研究。

关注公众号,获取更多 AI 技术干货!