Office 365 + Adobe User Provisioning

👤 user_0db36cac 📦 v0.1.0 ⭐ 4.4 ⬇️ 341 下載
🔒 IT運維與安全 免費 🔑 需 API Key

📖 技能介紹


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, 處理開戶審批.


Office 365 + Adobe 使用者開通工具(自包含 skill)

統一的 Python CLI,管理 Microsoft 365(世紀互聯版)Adobe Creative Cloud 使用者。 本 skill 自帶完整程式碼 + 憑據,解壓即用,無需再 clone 原倉庫。

0. 前置(每次執行前確認)

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 是唯一讀取處)。

1. 驗證工具可用(開戶前必做)

./oup office365 init    # 檢查 .env、拉產品、快取預設 license
./oup adobe init        # 檢查 .env、拉 Adobe 產品/profile

兩條 init 都正常返回產品列表 = 工具可用。失敗先看 .env 與下方 Red Flags。

2. 觸發場景 → 動作

小蔥技能7w4.net有完整的技能分類。

使用者說 provider 命令
"給 XX 開賬號 / 新建使用者"(未說平臺) 先問 用 AskUserQuestion 問 provider/LDAP/姓名
"新員工 / 入職開賬號" both O365 → Adobe 順序執行
"給 XX 開 Office / 加 Office" office365 見 §3
"給 XX 開 Adobe / 全家桶 / All Apps" adobe 見 §4
"批次開戶" 需要列表(CSV/貼上),逐條執行後彙總

3. Office 365 開通

./oup office365 create <ldap> --display-name "<中文名>" [--product O365_BUSINESS]
  • 未指定 --product → 用 init 快取的預設 license
  • CLI 自動:建立使用者 → 分配 license → 按 .env SMTP 發通知郵件(含初始密碼)
  • 成功返回含 iduserPrincipalNamepassword
  • 租戶是世紀互聯版(entra.microsoftonline.cn / partner.onmschina.cn),不是國際版

4. Adobe 開通

./oup adobe create <ldap>@<domain> [--product cc|ps|acrobat]
  • 預設 = All Apps(全家桶);--product cc/all=全家桶,ps=Photoshop,acrobat=Acrobat Pro
  • 底層 addAdobeID + add group 一次完成邀請與授權
  • 期望返回 {"completed":1,"result":"success"}
  • adobeID 型別走邀請制:新使用者收到 Adobe 邀請郵件,接受後登入 https://creativecloud.adobe.com
  • 注意:CLI 會從郵箱字首自動拆 firstname/lastname(非中文名);adobeID 顯示名影響小,需中文名要去 Adobe Admin Console 改

5. 安全紅線(執行時遵守)

  • 不覆蓋已有使用者:先 inspect,返回 200/存在 → 用 AskUserQuestion 確認是"重置"還是"跳過",絕不靜默覆蓋。
  • 初始密碼不回顯到日誌:只出現在通知郵件正文,控制台脫敏。
  • LDAP 不自作主張生成:必須使用者明確給出。
  • Adobe 座位不足(error.group.license_quota_exceeded)→ 報告使用者,不靜默降級到其他產品。

6. 結果驗證 + 交付

./oup office365 inspect <ldap> --json
./oup adobe inspect <ldap>@<domain> --json

給使用者摘要:賬號(LDAP+email)、初始密碼/邀請說明、已授權產品、登入入口 (O365: https://portal.partner.microsoftonline.cn · Adobe: https://creativecloud.adobe.com)。

7. 其他命令

./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 同義。

Red Flags

症狀 原因 處理
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 補齊

架構(改 provider 行為前先讀)

入口(main.py CLI / app/api/server.py Flask) → app/services/user_service.py(統一業務門面) → app/providers/{office365,adobe}/(對接外部 API)。 擴充套件功能先加到 user_service.py 再讓 CLI/API 暴露。詳見 README.mddocs/README_ADOBE.mddocs/README_API.md

🤖 AI 評測

這個 Skill 質量不錯,文件寫得很詳細,中英文都有,看一遍就能上手。功能覆蓋全面,管理 Office 365 和 Adobe 使用者的基本操作都有,支援命令列和網頁 API 兩種方式。安全方面的提醒也很到位。主要問題是文件裡提到的「oup」快捷命令和配置模板檔案沒在壓縮包裡,需要自己補上才能正常使用,否則得用完整路徑呼叫,體驗打折扣。

📊 多維度評分

適應性4.4
規範性4.3
有效性4.6
可靠性4.2
可信度4.8

📁 包含檔案 (32 個)

📄 README.md 5.2 KB
📄 README.zh-CN.md 5.1 KB
📄 SKILL.md 5.8 KB
📄 _meta.json 146 B
📄 app/__init__.py 0 B
📄 app/api/__init__.py 0 B
📄 app/api/server.py 3.8 KB
📄 app/core/__init__.py 0 B
📄 app/core/config.py 1.1 KB
📄 app/core/logger.py 883 B
📄 app/core/prompt.py 1.4 KB
📄 app/core/state.py 958 B
📄 app/providers/__init__.py 0 B
📄 app/providers/adobe/__init__.py 0 B
📄 app/providers/adobe/auth.py 4.3 KB
📄 app/providers/adobe/client.py 46.6 KB
📄 app/providers/adobe/provider.py 5.6 KB
📄 app/providers/base.py 1.4 KB
📄 app/providers/office365/__init__.py 0 B
📄 app/providers/office365/auth.py 4.3 KB
📄 app/providers/office365/email_sender.py 3.7 KB
📄 app/providers/office365/graph_client.py 9.7 KB
📄 app/providers/office365/license_manager.py 6.9 KB
📄 app/providers/office365/provider.py 7.1 KB
📄 app/providers/office365/user_manager.py 28 KB
📄 app/services/__init__.py 0 B
📄 app/services/provider_factory.py 904 B
📄 app/services/user_service.py 2.8 KB
📄 config.py 5.8 KB
📄 main.py 13.4 KB
📄 requirements.txt 52 B
📄 skill-card.md 2.4 KB