name: office-adobe-user-provision description: 統一開通/管理 Microsoft 365(世紀互聯)與 Adobe Creative Cloud 使用者的自包含工具。建立、授權、重置密碼、刪除、查詢、批次、自檢,CLI/HTTP API 共用同一套 provider。USE WHEN 給XX開賬號, 新建使用者, 新增使用者, 入職開賬號, 開Office, 加Office, 開Adobe, 加Adobe, 全家桶, All Apps, 重置密碼, 刪除使用者, 批次開戶, 查使用者, office365, adobe, M365, Creative Cloud, 處理開戶審批.
統一的 Python CLI,管理 Microsoft 365(世紀互聯版) 與 Adobe Creative Cloud 使用者。 本 skill 自帶完整程式碼 + 憑據,解壓即用,無需再 clone 原倉庫。
pip install -r requirements.txt # 首次:requests / python-dotenv / flask(需 Python 3.9+)
# 方式 A —— 自帶 CLI(推薦手敲):oup 會自動定位 skill 目錄、載入 .env,可從任意路徑呼叫
./oup adobe inspect zhangsan@example.com
ln -sf "$PWD/oup" /usr/local/bin/oup # 可選:軟鏈到 PATH 後全域性 `oup adobe ...`
# 方式 B —— 直接調指令碼:必須先 cd 到 skill 目錄,且用 python3(非互動 shell 裡 python 可能是 py2)
cd <本 skill 所在目錄> && python3 main.py adobe inspect zhangsan@example.com
下文示例統一用
oup;等價於python3 main.py。別用裸python——很多機器上它指向 Python 2,會直接 SyntaxError。
.env —— 已隨包含真實生產配置(CLIENT_SECRET / ADOBE_CLIENT_SECRET / SMTP_PASSWORD / DEFAULT_PASSWORD 等)。.env 已被 .gitignore 排除。把本 skill 放進任何 git 倉庫前,務必確認 .env 不會被 git add。絕不能 commit/push 到 GitHub。.env,程式碼不動(config.py 是唯一讀取處)。./oup office365 init # 檢查 .env、拉產品、快取預設 license
./oup adobe init # 檢查 .env、拉 Adobe 產品/profile
兩條 init 都正常返回產品列表 = 工具可用。失敗先看 .env 與下方 Red Flags。
小蔥技能7w4.net有完整的技能分類。
| 使用者說 | provider | 命令 |
|---|---|---|
| "給 XX 開賬號 / 新建使用者"(未說平臺) | 先問 | 用 AskUserQuestion 問 provider/LDAP/姓名 |
| "新員工 / 入職開賬號" | both | O365 → Adobe 順序執行 |
| "給 XX 開 Office / 加 Office" | office365 | 見 §3 |
| "給 XX 開 Adobe / 全家桶 / All Apps" | adobe | 見 §4 |
| "批次開戶" | — | 需要列表(CSV/貼上),逐條執行後彙總 |
./oup office365 create <ldap> --display-name "<中文名>" [--product O365_BUSINESS]
--product → 用 init 快取的預設 license.env SMTP 發通知郵件(含初始密碼)id、userPrincipalName、passwordentra.microsoftonline.cn / partner.onmschina.cn),不是國際版./oup adobe create <ldap>@<domain> [--product cc|ps|acrobat]
--product cc/all=全家桶,ps=Photoshop,acrobat=Acrobat ProaddAdobeID + add group 一次完成邀請與授權{"completed":1,"result":"success"}inspect,返回 200/存在 → 用 AskUserQuestion 確認是"重置"還是"跳過",絕不靜默覆蓋。error.group.license_quota_exceeded)→ 報告使用者,不靜默降級到其他產品。./oup office365 inspect <ldap> --json
./oup adobe inspect <ldap>@<domain> --json
給使用者摘要:賬號(LDAP+email)、初始密碼/邀請說明、已授權產品、登入入口 (O365: https://portal.partner.microsoftonline.cn · Adobe: https://creativecloud.adobe.com)。
./oup <provider> products [--refresh] # 列/重新整理產品
./oup <provider> assign <id> --product <p>
./oup <provider> reset <id> # 重置密碼
./oup <provider> delete <id> # 刪除
./oup <provider> alias <name> <product> # 設產品別名
./oup <provider> selftest # 端到端自檢(會建→授→重置→刪臨時使用者)
python3 -m app.api.server # 起 HTTP API(路由映象 CLI)
provider 別名:office365/o365/m365 同義;adobe/ps 同義。
| 症狀 | 原因 | 處理 |
|---|---|---|
O365 Insufficient privileges |
Entra App 許可權未管理員同意 | Entra → API 許可權 → 授予管理員同意 |
O365 License not available |
license 池用完 | 購買/回收,不硬刪他人 |
Adobe error.group.license_quota_exceeded |
座位不夠 | 報告使用者,不降級 |
Adobe error.domain.trust.nonexistent |
federatedID 但域名未宣告 | 改用 adobeID(預設就是) |
任一 init 報 missing env |
.env 缺欄位 |
對照 .env.example 補齊 |
入口(main.py CLI / app/api/server.py Flask) → app/services/user_service.py(統一業務門面) → app/providers/{office365,adobe}/(對接外部 API)。
擴充套件功能先加到 user_service.py 再讓 CLI/API 暴露。詳見 README.md、docs/README_ADOBE.md、docs/README_API.md。
這個 Skill 質量不錯,文件寫得很詳細,中英文都有,看一遍就能上手。功能覆蓋全面,管理 Office 365 和 Adobe 使用者的基本操作都有,支援命令列和網頁 API 兩種方式。安全方面的提醒也很到位。主要問題是文件裡提到的「oup」快捷命令和配置模板檔案沒在壓縮包裡,需要自己補上才能正常使用,否則得用完整路徑呼叫,體驗打折扣。