macOS 运维:通过 Automator 实现网络诊断测试

星明酱_5630

星明酱_5630

2026-06-24

378人浏览

原创

automator 网络诊断核心是封装常用命令为一键操作,聚焦触发快、结果明、权限稳;需授权辅助功能与完全磁盘访问,适配sequoia限制,规避ui操作不稳、路径权限及超时卡死等问题。

用 automator 做 macos 网络诊断测试,核心是把常用命令封装成一键可触发的操作,避免每次开终端输指令。重点不在“自动化多高级”,而在于“触发快、结果明、权限稳”——尤其要解决 applescript 控制 terminal 全屏、服务权限授权、输出可视化这几个实际卡点。

快速启动带诊断脚本的全屏终端

这是最实用的入口:热键一按,Terminal 自动打开、执行网络检测、立刻全屏显示结果。

  • 打开 Automator,新建「快速操作」(不是工作流程或应用程序)
  • 添加「运行 AppleScript」动作,粘贴以下脚本(适配 macOS Sequoia 15+):
tell application "Terminal"
  activate
  do script "echo '=== 网络基础诊断 ==='; networksetup -listallhardwareports | head -5; echo; echo '=== 公网 IP 与 DNS 解析 ==='; curl -s https://api.ipify.org; echo; nslookup google.com | head -4"
end tell
tell application "System Events"
  keystroke "f" using {command down, control down}
end tell
  • 保存为“网络快诊”,然后去「系统设置 → 键盘 → 键盘快捷键 → 服务」里分配组合键(如 ⌘⌥N)
  • 首次运行前,必须在「系统设置 → 隐私与安全性 → 辅助功能」中勾选 Terminal 和 Automator

生成结构化诊断报告(无需手动复制)

把无线诊断工具的分析结果自动导出为 .wdreport 文件,方便存档或发给 IT 支持。

WeChat macOS Proxy
WeChat macOS Proxy

macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...

下载
  • 新建 Automator「应用程序」类型文稿
  • 添加「运行 Shell 脚本」动作,设置为 /bin/zsh,输入:
open -a "Wireless Diagnostics"
# 等待 2 秒确保窗口就绪(实测需缓冲)
sleep 2
# 模拟 Option+点击 Wi-Fi 图标后选择“监视”的行为不可靠,改用命令行触发监控(需提前允许辅助功能)
osascript -e 'tell application "System Events" to click menu item "监视" of menu "文件" of menu bar 1 of application process "Wireless Diagnostics"'
  • 更稳妥的做法是:用 Automator 启动无线诊断后,人工点一次“监视”,再加一个「暂停」动作(设为 90 秒),最后用「运行 AppleScript」执行:
    do shell script "mkdir -p ~/Desktop/NetReports; cp /var/tmp/WirelessDiagnostics*.tar.gz ~/Desktop/NetReports/ 2>/dev/null"
  • 这样能确保日志文件被复制到桌面指定文件夹,不依赖 GUI 点击稳定性

定时自动连通性验证(后台静默运行)

适合服务器或长期驻留设备,每 5 分钟 ping 一次网关和 DNS,异常时弹窗提醒。

  • 新建「快速操作」,添加「运行 Shell 脚本」,内容如下:
GATEWAY=$(netstat -nr | grep default | awk '{print $2}')
if ping -c 2 -W 1 "$GATEWAY" &>/dev/null && ping -c 2 -W 1 1.1.1.1 &>/dev/null; then
  exit 0
else
  osascript -e 'display notification "网络异常:网关或公网不可达" with title "Automator 网络监控"'
  • 保存后,在「登录项」中添加该快速操作(需先转成.app,方法:用 Automator 新建「应用程序」,仅包含一个「运行 Shell 脚本」并调用上一步保存的 workflow 路径)
  • 或配合 launchd 实现真正后台定时:将脚本存为 /usr/local/bin/net-check.sh,再配置 plist 放入 ~/Library/LaunchAgents/ 下,设 StartInterval 为 300(秒)

关键注意事项

Automator 网络诊断不是万能胶,几个坑必须提前填平:

  • macOS Sequoia 对 AppleScript 的 UI 控制限制变严,所有涉及「点击菜单」「切换窗口」的操作,必须在「辅助功能」中明确授权对应 App;Terminal 还需额外在「完全磁盘访问」中启用
  • 无线诊断工具生成的 .tar.gz 日志默认存在 /var/tmp,该路径非用户可写,直接 cp 可能失败;建议先用 do shell script "sudo cp …" 并配置免密 sudo(仅限可信环境)或改用 ~/Library/Caches 临时中转
  • Networksetup 命令在某些 M 系列 Mac 上对 Thunderbolt 以太网适配器返回空值,建议优先用 ifconfig enX | grep "status:" 判断物理链路是否 active
  • 所有涉及 curl 或 ping 的脚本,务必加超时参数(-m 3 或 -W 1),避免因网络卡死导致 Automator 进程挂起

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

macos

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

0

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

0

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

0

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

0

12

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

2026.09.22

0

13

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

2026.09.22

0

19

loomy官网入口地址合集
loomy官网入口地址合集

本专题汇总了 Loomy 桌面 AI 助理的官方入口地址合集及使用指南。提供 macOS 与 Windows 客户端下载 。Loomy 是讯飞推出的桌面级 AI 工作搭子,支持文件整理、数据分析、网页操作及通过飞书/钉钉远程操控电脑,助你高效完成本地办公任务 。

2026.09.22

0

19

NumPy常见函数使用方法
NumPy常见函数使用方法

本专题整理 NumPy 常见函数使用方法相关教程,覆盖函数大全、参数用法、数组运算、统计聚合、排序处理、where 条件筛选、linspace 创建数列等常用场景,帮助读者快速掌握 NumPy 函数调用思路和实际数据处理技巧。

2026.09.22

0

21

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

2026.09.22

20

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 172人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.1万人学习

好课诞生记
好课诞生记

共20课时 | 7.1万人学习