无人值守脚本终极方案:office-docs-powershell 证书认证与Azure托管标识实战指南

发布时间:2026/8/22 12:54:00
无人值守脚本终极方案:office-docs-powershell 证书认证与Azure托管标识实战指南 无人值守脚本终极方案office-docs-powershell 证书认证与Azure托管标识实战指南【免费下载链接】office-docs-powershellPowerShell Reference for Office Products - Short URL: aka.ms/office-powershell项目地址: https://gitcode.com/gh_mirrors/of/office-docs-powershelloffice-docs-powershell 是 Office 产品Exchange、Teams、Skype 等的官方 PowerShell 命令参考库。本文面向新手讲解如何用证书认证CBA和Azure 托管标识两种方式为 Exchange Online PowerShell 配置无人值守脚本让自动化任务安全免登录运行彻底告别明文密码。为什么无人值守脚本不该用账号密码让 PowerShell 脚本自动运行最简单的办法是把管理员账号和密码写进脚本或本地文件——这是公认的安全隐患密码泄露、人员离职交接、审计不合规……微软给出的官方方案是应用专用认证App-only / CBA即证书认证用 Microsoft Entra 应用 自签名证书代替个人账号脚本无需人工登录即可安全连接。项目中的两篇核心文档证书认证教程exchange/docs-conceptual/app-only-auth-powershell-v2.md托管标识教程exchange/docs-conceptual/connect-exo-powershell-managed-identity.md方案一证书认证CBA五步走⚙️ 前提Exchange Online PowerShell 模块 2.0.3Security Compliance 需 3.0.0。第 1 步注册 Microsoft Entra 应用打开 Azure 门户搜索App registrations点击New registration账户类型选择仅此组织目录中的账户单租户。第 2 步授予 Exchange.ManageAsApp 应用权限进入应用的API permissions页面添加Office 365 Exchange Online → Exchange.ManageAsAppApplication 类型并点击Grant admin consent为组织授予管理员同意。第 3 步生成自签名证书以管理员身份运行 PowerShell三条命令即可生成并导出证书注意必须加-KeySpec KeyExchangeCNG 证书不受支持$cert New-SelfSignedCertificate -DnsName contoso.org -CertStoreLocation Cert:\CurrentUser\My -KeySpec KeyExchange $cert | Export-PfxCertificate -FilePath cert.pfx -Password (Get-Credential).password $cert | Export-Certificate -FilePath cert.cer第 4 步把证书绑定到应用在应用的Certificates secrets页面上传第 3 步生成的.cer文件列表中出现证书指纹Thumbprint即绑定成功。第 5 步为应用分配角色到Microsoft Entra roles and administrators中为应用分配权限最小化的角色Exchange 场景选Exchange administrator合规场景选Compliance AdministratorGlobal Administrator 权限过大仅建议应急使用。配置完成后脚本里一行命令即可免登录连接Connect-ExchangeOnline -CertificateThumbPrint 证书指纹 -AppID 应用ID -Organization contoso.onmicrosoft.com方案二Azure 托管标识最省心的终极方案如果脚本本来就跑在 Azure 上自动化账户、虚拟机推荐直接用托管标识Azure 自动颁发并轮换凭据证书完全不用管脚本中零密钥落地。第 1 步为自动化账户启用系统分配托管标识创建 Azure Automation 账户时Advanced选项卡默认勾选系统分配托管标识启用后在Identity页面可看到 Object (principal) ID后续授权要用到它。第 2 步导入 ExchangeOnlineManagement 模块在自动化账户的Modules中选择Browse from gallery搜索并导入ExchangeOnlineManagement运行时选 5.1 或 7.1。第 3 步授权并分配角色通过 Microsoft Graph PowerShell 为托管标识授予Exchange.ManageAsApp应用权限再按方案一第 5 步分配相同的 Microsoft Entra 角色。第 4 步一条命令连接全程零凭据在 Runbook 或虚拟机 PowerShell 中执行即可开始自动化任务Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com Get-AcceptedDomain | Format-Table Name # 先用简单命令验证连接两种方案怎么选对比项证书认证CBAAzure 托管标识适用环境本地服务器、任意 PowerShell 环境Azure 自动化账户、Azure 虚拟机凭据管理需自行生成/续期自签名证书全托管自动轮换配置成本5 步配置中等依赖 Azure 资源较低推荐场景混合部署、自建机房纯云自动化、长期无人值守任务 新手建议先在本机用证书认证跑通流程再把长期运行的任务迁移到 Azure 托管标识。延伸阅读项目中的关键文档证书认证完整教程exchange/docs-conceptual/app-only-auth-powershell-v2.md托管标识连接指南exchange/docs-conceptual/connect-exo-powershell-managed-identity.md模块安装与 REST 连接说明exchange/docs-conceptual/exchange-online-powershell-v2.md连接方式总览exchange/docs-conceptual/connect-to-exchange-online-powershell.mdConnect-ExchangeOnline 命令参考exchange/exchange-ps/exchange/Connect-ExchangeOnline.md【免费下载链接】office-docs-powershellPowerShell Reference for Office Products - Short URL: aka.ms/office-powershell项目地址: https://gitcode.com/gh_mirrors/of/office-docs-powershell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考