PowerShell 技能连载 - Microsoft Graph API 高级操作

适用于 PowerShell 7.0 及以上版本,需要 Microsoft.Graph 模块

Microsoft Graph 已经成为访问 Microsoft 365 和 Entra ID 数据的统一 API 网关。无论是用户管理、邮件处理、团队协作还是安全合规,几乎所有 Microsoft 云服务的数据和操作都可以通过 Graph API 完成。对于 PowerShell 运维人员来说,掌握 Graph API 的高级用法意味着能够构建更高效、更可靠的自动化流程。

然而,在实际生产环境中,简单的 API 调用往往不够。当需要处理成千上万个用户对象、执行批量许可分配、或者生成复杂的安全审计报告时,必须考虑认证效率、请求优化、分页处理和错误重试等工程化问题。本文将围绕这些高级场景,分享一套可直接用于生产环境的 Graph API 操作模式。

阅读更多

PowerShell 技能连载 - Azure Container Apps 环境管理

适用于 PowerShell 7.0 及以上版本,需要 Az.ContainerApp 模块

Azure Container Apps 的”环境”(Managed Environment)是整个平台的核心组织单元。每个环境相当于一个轻量级的 Kubernetes 集群边界,定义了容器应用之间的网络拓扑、日志目标和共享基础设施。与直接操作 AKS 不同,环境的网络配置、内部流量路由和 Dapr 组件都通过声明式的资源模型管理,运维人员无需关心底层节点维护。

在微服务架构中,环境级别的配置往往比单个应用更为重要。合理规划 VNet 集成可以确保服务间通信不经过公网;精确的流量分割策略可以实现蓝绿发布和金丝雀部署;Dapr 服务网格则统一了服务发现、状态管理和发布订阅等横切关注点。通过 PowerShell 脚本化这些配置,不仅提高了可重复性,也便于纳入 CI/CD 流水线进行审计和回滚。

本文将围绕 Container Apps 环境管理的三个核心场景展开:环境与网络配置、微服务部署与流量管理、以及 Dapr 集成与服务网格。

阅读更多

PowerShell 技能连载 - Azure AI Search 集成

适用于 PowerShell 7.0 及以上版本,需要 Az.Search 模块

Azure AI Search(原名 Azure 认知搜索)是微软 Azure 云平台中的企业级搜索服务,近年来随着大语言模型的爆发,它在检索增强生成(RAG)架构中扮演着越来越关键的角色。传统企业内部拥有海量非结构化文档,从技术手册到合同范本,从会议纪要到产品规格,这些知识长期”沉睡”在文件服务器和 SharePoint 中,难以被高效检索和利用。Azure AI Search 通过集成文本分词、语义排序和向量检索能力,为这些数据赋予了”可搜索”的生命力。

将 PowerShell 与 Azure AI Search 结合,能够实现搜索服务的全生命周期自动化管理。运维团队可以用脚本一键创建索引、批量导入文档、配置向量字段,甚至搭建完整的 RAG 管道,而无需在 Azure 门户中手动点选。这种方式特别适合 CI/CD 集成和大规模知识库的定期更新场景,让企业知识管理真正做到”基础设施即代码”。

本文将通过三个核心示例,逐步演示如何用 PowerShell 管理 Azure AI Search 的搜索服务与索引结构、实现文档导入与向量化处理,以及构建关键词加向量的混合搜索与 RAG 管道。

阅读更多

PowerShell 技能连载 - Azure Monitor 仪表板自动化

适用于 PowerShell 7.0 及以上版本,需要 Az.Monitor 模块

在云原生运维中,Azure Monitor 仪表板是将海量监控数据转化为可视化洞察的核心工具。通过仪表板,运维团队可以一目了然地掌握虚拟机 CPU 利用率、存储账户延迟、应用网关吞吐量等关键指标,从而快速定位性能瓶颈和潜在故障。然而,当企业规模扩展到数十个订阅、上百个资源时,手动在 Azure 门户中拖拽创建仪表板不仅耗时,而且难以保证一致性。

PowerShell 提供了完整的 Azure Dashboard JSON 模板操控能力,结合 Az.Monitor 模块,我们可以将仪表板的创建、修改和部署完全纳入基础设施即代码(IaC)流程。这意味着每套环境都能拥有标准化的监控视图,变更可追溯、可审计、可回滚,大幅降低人为失误风险。

本文将围绕三个核心场景展开:动态构建仪表板 JSON 模板、配置指标告警与自动通知、以及跨订阅批量部署标准化仪表板,帮助你建立一套完整的 Azure Monitor 仪表板自动化工作流。

阅读更多

PowerShell 技能连载 - Azure Private Endpoint 网络隔离

适用于 PowerShell 7.0 及以上版本

在混合云架构中,数据安全的核心诉求之一是确保敏感流量不经过公共互联网。Azure PaaS 服务(如 Storage Account、SQL Database、Key Vault)默认通过公网端点提供服务,虽然传输层使用 TLS 加密,但出于合规要求(如金融行业的 PCI-DSS、医疗行业的 HIPAA),很多企业需要将所有数据路径锁定在私有网络内。Azure Private Endpoint 正是为满足这一需求而设计的网络隔离方案。

Private Endpoint 在虚拟网络中分配一个私有 IP 地址,将 PaaS 服务的入口映射到你的 VNet 内部。通过配合 Private DNS Zone,客户端可以使用原有的服务 FQDN(如 mystorage.blob.core.windows.net)直接解析到私有 IP,无需修改应用代码。整个数据平面流量都在 Microsoft 骨干网内传输,完全不暴露在公网上。

本文将从三个层面展开实战:首先是 Private Endpoint 的创建与 DNS 配置自动化;然后是 Private Link Service 的构建,将内部服务安全地暴露给合作伙伴网络;最后是网络隔离合规验证,通过脚本自动检测配置漂移并生成合规报告。

阅读更多

PowerShell 技能连载 - Azure Log Analytics 查询

适用于 PowerShell 7.0 及以上版本

Azure Log Analytics 是 Azure Monitor 的核心数据收集和分析引擎,它从虚拟机、容器、应用服务、网络安全组等各种数据源汇聚海量日志和指标数据。面对每天数以 GB 计的日志流,仅在门户中手动查询远远不够——你需要将查询能力嵌入到自动化脚本中,才能实现真正的持续监控和快速响应。

Kusto Query Language(KQL)是 Log Analytics 的查询语言,语法简洁但功能强大,支持跨表关联、时间序列分析、正则匹配和统计聚合。通过 PowerShell 调用 Azure Monitor REST API 执行 KQL 查询,可以把日志分析无缝集成到运维工作流中——无论是性能趋势分析、安全事件调查还是容量规划,都能用脚本自动完成并生成报告。

本文将从三个方面展开实战:先搭建 Log Analytics 查询的基础函数,处理认证和结果解析;然后深入运维分析场景,包括性能趋势、错误统计和安全事件检索;最后构建定时查询与告警机制,实现日志监控的全自动化闭环。

阅读更多

PowerShell 技能连载 - Bicep 基础设施即代码

适用于 PowerShell 7.0 及以上版本

在现代云原生开发中,基础设施即代码(Infrastructure as Code,IaC)已经成为团队协作和持续交付的基石。传统 ARM Template 虽然功能强大,但 JSON 语法的冗长和嵌套层级让维护成本居高不下。微软推出的 Bicep 语言正是为了解决这个痛点而诞生的——它是一种透明抽象(transparent abstraction),编译后生成标准 ARM Template,同时提供了更简洁的声明式语法、类型安全和模块化支持。

Bicep 的核心优势在于:语法简洁(去掉了 JSON 的大量样板代码)、编译期类型检查(在部署前就能发现错误)、模块化设计(支持将复杂部署拆分为可复用的模块),以及与 Azure 生态的深度集成。配合 PowerShell 的 Az 模块,我们可以构建从开发到生产的完整部署流水线,实现环境一致性管理和自动化运维。

本文将从 Bicep 模板编写、PowerShell 部署脚本以及模块化与重用三个层面,介绍如何通过 PowerShell + Bicep 构建 Azure 基础设施的自动化部署方案。

阅读更多

PowerShell 技能连载 - Azure Automation Runbook

适用于 PowerShell 7.0 及以上版本

在日常运维中,许多任务需要定时执行:清理过期资源、轮转证书、检查合规状态、生成日报。如果依赖人工操作,不仅效率低下,还容易遗漏。Azure Automation 提供了一个托管的 PowerShell 执行环境,让脚本可以在云端按计划自动运行,无需维护本地服务器。

Azure Automation 的核心概念是 Runbook——一段托管在云端的 PowerShell 脚本。Runbook 支持多种触发方式:定时计划(Schedule)、Webhook 回调、事件驱动(Event Grid),甚至可以手动启动。它内置了凭据管理、变量存储和模块缓存,使脚本能安全地访问 Azure 资源而不暴露密钥。

本文将围绕三个核心场景展开:创建和管理 Runbook、配置定时计划与 Webhook 触发、以及监控作业状态与日志输出。通过这些实践,你可以构建一个完整的无人值守运维体系。

阅读更多

PowerShell 技能连载 - Azure Policy 合规治理

适用于 PowerShell 7.0 及以上版本

在多团队、多订阅的云环境中,资源合规性是治理的核心难题。开发团队随手创建了一个 Premium SKU 的 Redis 缓存,费用瞬间翻了十倍;某个资源组忘了打标签,月底账单无法分摊到业务线;还有人不小心把资源部署到了不支持数据驻留的区域。这些问题在单订阅时还能人工检查,到了几十个订阅、上百个资源组的规模,靠人工审计根本忙不过来。

Azure Policy 提供了声明式的合规规则引擎,可以在资源创建或更新时自动评估是否满足预设条件。不满足条件的资源可以被审计记录、拒绝创建,甚至自动修复到合规状态。结合管理组(Management Group)的层级结构,一条策略可以向下继承到所有子订阅,真正做到”治理即代码”。

本文将演示如何通过 PowerShell 完成 Azure Policy 的三大核心操作:策略定义与管理、策略分配与范围控制、合规审计与自动修复。让你从手工巡检的时代彻底迈入自动化合规治理。

阅读更多
PowerShell 技术 QQ 群