PowerShell 技能连载 - Azure Virtual Desktop 管理
适用于 PowerShell 7.0 及以上版本,需要 Az.DesktopVirtualization 模块
PowerShell 技能连载 - Azure Virtual Desktop 管理
适用于 PowerShell 7.0 及以上版本,需要 Az.DesktopVirtualization 模块
PowerShell 技能连载 - Azure 容器注册表管理
适用于 PowerShell 7.0 及以上版本
Azure Container Registry(ACR)是微软 Azure 平台提供的托管私有 Docker 镜像仓库服务。与 Docker Hub 的公开镜像不同,ACR 让企业可以在 Azure 区域内就近存储和管理容器镜像,享受低延迟的镜像拉取体验和网络隔离的安全保障。无论是运行在 Azure Kubernetes Service(AKS)中的编排集群,还是 App Service 的容器化 Web 应用,都可以直接从 ACR 拉取镜像来部署。
然而,镜像管理远不止”推送和拉取”这么简单。随着版本迭代,注册表中会积累大量过时镜像,占用存储空间并增加攻击面。安全团队要求对所有镜像进行漏洞扫描,运维团队需要配置最小权限的访问控制和跨区域复制策略。如果用 Azure Portal 手动处理这些任务,在面对数十个注册表和成百上千个镜像标签时,效率会非常低下。
本文将通过三个部分介绍如何用 PowerShell 自动化管理 ACR:首先是基础操作,包括注册表的创建、镜像的推送拉取和标签管理;其次是镜像清理与安全扫描,自动化识别并移除未使用的镜像层;最后是访问控制与复制策略,通过 RBAC 和 Webhook 将 ACR 深度集成到 CI/CD 流水线中。
PowerShell 技能连载 - Azure 成本管理与优化
适用于 PowerShell 7.0 及以上版本
随着企业云上工作负载的增长,Azure 账单往往会以意想不到的速度膨胀。开发测试环境忘记关闭、过度配置的虚拟机规格、长期闲置的存储账户,这些看似微小的浪费累积起来可能占云总支出的 20% 到 30%。手动在 Azure 门户中逐项检查既耗时又容易遗漏,尤其是管理多个订阅的团队。
FinOps(云财务运营)实践提倡将成本管理融入工程流程,而非仅仅交给财务部门事后核算。PowerShell 在这一领域有着天然优势:它能调用 Azure Cost Management API 获取精细化费用数据、自动创建预算和告警规则、扫描资源利用率并生成优化建议。将成本治理自动化后,团队可以从被动应对账单转变为主动控制支出。
本文将围绕三个核心场景展开:按资源组和标签维度查询成本趋势、设置多级预算告警并集成 Action Group 通知、以及基于利用率数据生成资源优化建议和自动清理方案。所有脚本均基于 Az PowerShell 模块,可直接集成到 Azure Automation 或 CI/CD 流水线中。
PowerShell 技能连载 - Azure App Configuration 集中配置
适用于 PowerShell 7.0 及以上版本
在微服务架构中,每个服务都有自己的 appsettings.json 或环境变量文件来管理配置。随着服务数量增长,配置分散在各处的问题日益严重:修改一个数据库连接字符串需要逐个服务更新并重新部署,不同环境之间的配置差异难以追踪,紧急开关的生效时间更是无法保证。这种”配置碎片化”不仅增加了运维成本,也埋下了安全隐患。
Azure App Configuration 正是为解决这些问题而生的集中化配置管理服务。它提供统一的键值存储,支持标签(Label)实现环境隔离,内置 Feature Flag 功能支持灰度发布,并通过 Sentinel 机制实现配置的动态刷新——所有这些都不需要重启应用。结合 PowerShell 的自动化能力,我们可以将配置管理纳入 CI/CD 流水线,实现配置的版本控制、审计追踪和跨环境同步。
本文将围绕三个核心场景展开:配置存储的日常管理操作、Feature Flag 的创建与条件控制,以及配置的批量导入导出与环境间同步。掌握这些技能后,你就能用 PowerShell 构建一套完整的配置管理自动化方案。
PowerShell 技能连载 - Azure 托管标识与无密码认证
适用于 PowerShell 7.0 及以上版本
在云环境中,服务之间的认证一直是个令人头疼的问题。传统做法是创建服务主体(Service Principal),然后把客户端 ID 和密钥硬编码在配置文件或环境变量里。这些密码一旦泄露,攻击者就能以该身份访问你的 Azure 资源。更糟糕的是,密码有有效期,过期了服务就会中断,而定期轮换密码本身就是一项繁琐的运维负担。
Azure 托管标识(Managed Identity)从根本上解决了这个问题。它为 Azure 资源自动提供一个由 Azure AD(现称 Microsoft Entra ID)管理的标识,应用程序无需管理任何凭据就能获取 OAuth 2.0 令牌来访问支持 Azure AD 认证的服务。系统分配的托管标识与资源生命周期绑定,资源删除时标识自动回收;用户分配的托管标识则可以共享给多个资源使用。
本文将演示如何通过 PowerShell 完成托管标识的全生命周期管理:从启用标识、分配权限,到实际访问 Key Vault、Storage 和 SQL Database,最后展示虚拟机和容器中的令牌获取方式。让你从”到处藏密码”的窘境中彻底解脱出来。
PowerShell 技能连载 - Azure Event Grid 事件驱动自动化
适用于 PowerShell 7.0 及以上版本
PowerShell 技能连载 - Azure Service Bus 消息管理
适用于 PowerShell 7.0 及以上版本
在微服务架构日益普及的今天,服务之间的异步通信成为系统解耦的关键。Azure Service Bus 作为微软云端的企业级消息传递平台,提供了可靠的队列、主题和订阅模式,能够处理高吞吐量的消息流,并支持事务、会话和死信队列等高级特性。对于运维和开发团队来说,掌握如何通过 PowerShell 自动化管理这些资源,可以显著提升消息中间件的运维效率。
传统的 Service Bus 管理往往依赖 Azure 门户界面手动操作,或者通过 C# / Python 编写专门的管理工具。然而 PowerShell 凭借其与 Azure 生态的深度集成,能够以极低的代码量完成命名空间创建、队列配置、消息收发和监控告警等全套操作。结合自动化脚本和定时任务,可以实现 Service Bus 的全生命周期管理。
本文将从三个实战场景出发:命名空间与队列的基础管理、消息的发送与接收处理、以及队列的监控与运维,全面介绍如何用 PowerShell 构建 Service Bus 的自动化管理体系。
PowerShell 技能连载 - Azure Front Door 与 CDN 管理
适用于 PowerShell 7.0 及以上版本
Azure Front Door 是微软 Azure 平台上的云原生应用交付控制器(ADC),集成了全球 CDN、智能七层路由、Web 应用防火墙(WAF)和 SSL 卸载等核心能力。对于面向全球用户的 Web 应用来说,Front Door 能通过遍布全球的边缘节点,将用户请求自动路由到最近的后端实例,显著降低访问延迟并提升可用性。
在实际运维中,Front Door 的配置往往涉及多个层面:后端池定义、健康探测、路由规则、WAF 策略、缓存行为和自定义域名绑定。当环境数量增多(开发、预发布、生产)或者需要频繁调整规则时,纯手工在 Azure 门户中操作不仅效率低下,还容易因为人为疏漏导致配置漂移。
通过 PowerShell 的 Az.FrontDoor 模块,我们可以将 Front Door 的完整配置脚本化,实现基础设施即代码(IaC)的管理方式。本文将围绕三个核心场景展开:Front Door 配置管理、WAF 安全策略配置,以及缓存与性能优化,帮助你用 PowerShell 系统化地管理全球流量入口。
PowerShell 技能连载 - Azure SQL 数据库管理
适用于 PowerShell 7.0 及以上版本
Azure SQL Database 是微软 Azure 云平台上的托管关系数据库服务,基于最新的 SQL Server 数据库引擎提供企业级能力。它自动处理备份、补丁更新和高可用性配置,让 DBA 可以将精力集中在数据建模和查询优化上。然而,当管理数十甚至数百个数据库时,手动通过 Azure 门户操作不仅效率低下,还容易出现配置不一致的问题。
PowerShell 的 Az 模块提供了完整的 Azure SQL Database 管理 API 封装,支持从逻辑服务器创建、弹性池管理到安全策略配置的全生命周期操作。结合脚本化工作流,团队可以实现基础设施即代码(IaC),确保开发、测试和生产环境的数据库配置保持一致。
本文将通过三个实战场景,演示如何用 PowerShell 自动化 Azure SQL Database 的日常管理任务:数据库与服务器管理、安全与合规配置、性能监控与优化。每个场景都提供了可直接运行的脚本模板,帮助你快速构建自己的数据库管理工具集。
PowerShell 技能连载 - Azure API Management 管理
适用于 PowerShell 7.0 及以上版本
在微服务架构中,API 网关是连接前端应用与后端服务的关键枢纽。Azure API Management(APIM)作为微软云平台的企业级 API 网关,提供了 API 发布、流量控制、安全认证、请求转换和用量分析等一站式能力。无论是对外暴露开放 API,还是在内部微服务之间做统一入口,APIM 都能胜任。
然而 APIM 的配置项非常庞杂——API 定义、操作策略、产品打包、订阅密钥、后端服务池、开发者门户,每一项都需要精确配置。在多环境(开发、测试、生产)部署场景下,手动在 Azure 门户中点选配置既容易出错,也难以做到版本追溯。
通过 PowerShell 的 Az.ApiManagement 模块,我们可以将 APIM 的全部配置写成脚本,实现基础设施即代码(IaC)。这不仅保证了环境之间的一致性,还能将配置纳入 Git 版本控制,配合 CI/CD 管线实现 API 管理的自动化交付。本文将从实例管理、策略配置和产品运营三个维度,展示如何用 PowerShell 高效管理 APIM。