PowerShell 技能连载 - Entra ID 应用注册

适用于 PowerShell 5.1 及以上版本

在企业云环境中,Entra ID(原 Azure AD)的应用注册(App Registration)是构建自动化和集成方案的基础。无论是让 CI/CD 流水线访问 Azure 资源,还是让自定义应用调用 Microsoft Graph API,都需要先在 Entra ID 中注册一个应用程序,并为其配置权限和凭据。手动在 Azure 门户中点击操作不仅效率低下,而且难以保持多个环境(开发、测试、生产)之间的一致性。

通过 PowerShell 的 Microsoft.Graph 模块,我们可以将应用注册的全生命周期管理纳入代码化流程。从创建应用、配置 API 权限、添加客户端密钥,到创建服务主体并授予角色权限,每一步都可以脚本化、参数化,然后集成到基础设施即代码(IaC)流水线中。这种方式不仅提高了效率,更重要的是让安全团队能够审查和审计每一次应用注册的变更。

本文将介绍如何使用 PowerShell 完成 Entra ID 应用注册的常见操作,包括创建应用并配置基本属性、管理客户端密钥和凭据、配置 API 权限委派,以及批量审计租户内的应用注册信息,帮助你构建安全可控的身份管理自动化方案。

阅读更多

PowerShell 技能连载 - VS Code 扩展开发

适用于 PowerShell 7.0 及以上版本

VS Code 的扩展生态极其丰富,但当现有扩展无法满足需求时,我们就需要自己动手开发。虽然 VS Code 扩展通常用 TypeScript 编写,但 PowerShell 在扩展开发的工程化管理中扮演着不可或缺的角色——从脚手架生成、依赖安装、构建打包到发布上线,整个生命周期都可以用 PowerShell 自动化。特别是在团队协作中,统一的构建和发布脚本能大幅降低出错概率。

本文将介绍如何利用 PowerShell 自动化 VS Code 扩展开发的完整流程,包括环境准备、项目初始化、构建打包和版本发布,帮助你在扩展开发中事半功倍。

阅读更多

PowerShell 技能连载 - SQL Server 管理

适用于 PowerShell 5.1 及以上版本(Windows)

SQL Server 是企业级关系型数据库的常青树,广泛应用于金融、制造、零售等行业。作为 DBA 或运维工程师,日常需要频繁执行实例巡检、数据库备份、性能监控、空间分析等操作。传统做法是通过 SQL Server Management Studio(SSMS)手工完成,但面对多实例、多数据库的环境,图形界面操作效率低下且容易遗漏。PowerShell 凭借其强大的自动化能力和丰富的 SQL Server 模块生态,让这些任务变得可编程、可复用、可调度。

微软提供的 SqlServer 模块封装了 SQL Server Management Objects(SMO)库,几乎覆盖了 SSMS 能做的所有事情。从查询实例信息、管理数据库文件,到执行 T-SQL、配置安全策略,都可以通过 PowerShell 脚本完成。结合 Windows 任务计划或 SQL Agent Job,还能实现定时自动巡检和告警推送,大幅减轻 DBA 的重复劳动负担。

本文将从连接实例、查询元数据、执行 T-SQL、监控数据库空间四个典型场景入手,演示如何用 PowerShell 高效管理 SQL Server,帮助你建立一套实用的数据库自动化运维脚本库。

阅读更多

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

适用于 PowerShell 5.1 及以上版本

随着企业云基础设施规模不断膨胀,资源合规性管理成为运维团队的核心挑战。Azure Policy 是微软 Azure 平台提供的治理服务,能够在资源创建和更新时自动执行组织规则,例如限制资源类型、强制标签策略、审核配置基线等。通过 PowerShell 的 Az 模块,我们可以将策略的定义、分配和合规审查全部纳入自动化流水线,实现”基础设施即代码”的治理闭环。

传统的合规审计往往依赖人工巡检或第三方工具,耗时且容易遗漏。Azure Policy 将合规检查前移到资源生命周期中,一旦资源偏离预期状态就会触发警报甚至自动修正。结合 PowerShell 的批量处理能力,管理员可以在几分钟内对数百个订阅进行策略评估,快速定位不合规资源并生成报告,大幅降低安全风险和审计成本。

本文将介绍如何使用 PowerShell 完成 Azure Policy 的常见操作,包括查询策略定义、分配策略到作用域、检索合规状态,以及批量导出合规报告,帮助你构建可重复、可审计的云治理工作流。

阅读更多

PowerShell 技能连载 - PowerShell Gallery 发布

适用于 PowerShell 5.1 及以上版本

PowerShell Gallery(www.powershellgallery.com)是微软官方维护的 PowerShell 模块和脚本共享平台,类似于 Node.js 的 npm 或 Python 的 PyPI。通过它,你可以将自己编写的模块分发给全球的 PowerShell 用户,也可以方便地安装其他人发布的工具。对于团队协作而言,将内部通用组件发布到私有 Gallery 或公开 Gallery,能够显著提升代码复用率和团队协作效率。

本文将从模块准备、API Key 管理、发布流程以及版本更新四个环节,完整介绍如何将一个自定义 PowerShell 模块发布到 PowerShell Gallery。无论你是开源项目维护者还是企业内部工具开发者,掌握这一流程都能让你的 PowerShell 代码分发更加规范和专业。

阅读更多

PowerShell 技能连载 - Azure Monitor 告警

适用于 PowerShell 5.1 及以上版本

Azure Monitor 是微软 Azure 平台的核心可观测性服务,提供指标采集、日志分析、告警通知等一站式监控能力。在云原生架构日益复杂的今天,运维团队往往需要管理数十甚至上百个 Azure 资源的监控策略。手动在 Azure 门户中逐一配置告警规则既耗时又容易遗漏,而通过 PowerShell 自动化管理告警,可以实现告警策略的标准化、版本化和批量部署。

本文将介绍如何使用 PowerShell 和 Az 模块操作 Azure Monitor 告警,包括查看现有告警规则、创建指标告警、配置操作组(Action Group)实现通知推送,以及批量管理告警规则。这些方法适用于日常运维自动化,也能与基础设施即代码(IaC)流程相结合,确保监控策略随应用部署同步更新。

在开始之前,请确保已安装 Az PowerShell 模块并完成 Azure 身份认证。所有示例基于 Azure 资源管理器(ARM)REST API,需要拥有目标资源组或订阅级别的 Monitoring Contributor 权限。

阅读更多

PowerShell 技能连载 - 安全字符串处理

适用于 PowerShell 5.1 及以上版本(Windows)

在自动化脚本中处理密码、API 密钥、连接字符串等敏感信息时,直接将明文写入脚本或配置文件是非常危险的做法。一旦代码仓库泄露或日志被不当收集,这些凭据就会暴露无遗。PowerShell 提供了 SecureString 类型,它使用 Windows 数据保护 API(DPAPI)对内存中的字符串进行加密,使得敏感数据不会以明文形式驻留在进程内存中。

虽然 SecureString 并非银弹——在 .NET Core 跨平台场景下其保护能力有所减弱——但在 Windows 环境中,结合 DPAPI 的用户/机器级密钥,它仍然是脚本开发中最实用的凭据保护手段之一。本文将系统介绍 SecureString 的创建、转换、持久化以及凭据对象的完整使用流程,帮助你在自动化场景中更安全地管理敏感信息。

阅读更多

PowerShell 技能连载 - Azure Functions 无服务器

适用于 PowerShell 7.0 及以上版本

无服务器架构(Serverless)正在改变企业自动化的交付方式。Azure Functions 作为微软云平台的核心计算服务,支持 PowerShell 作为一等公民运行时——这意味着你可以直接用 PowerShell 脚本响应 HTTP 请求、处理队列消息、定时执行任务,而无需管理任何虚拟机或容器。Azure 负责底层基础设施的扩缩容、补丁更新和高可用,你只需关注业务逻辑本身。

对于 PowerShell 运维人员来说,Azure Functions 打开了全新的可能性。传统的计划任务、Windows 服务、甚至本地脚本,都可以迁移到云端,获得天然的高可用性和按需付费的优势。2025 年,Azure Functions 已全面支持 PowerShell 7.4 运行时,并且与 Azure Managed Identity、Key Vault 等安全组件深度集成,让云端自动化脚本既安全又易维护。本文将从实战角度出发,带你完成 Azure Functions 的项目创建、本地调试和云端部署全流程。

阅读更多

PowerShell 技能连载 - 安全事件响应自动化

适用于 PowerShell 5.1 及以上版本(Windows)

安全事件响应(Incident Response)是企业安全运维中最关键的环节之一。当安全警报触发时,响应速度直接影响损失范围——根据 IBM 的《数据泄露成本报告》,平均响应时间每缩短一天,泄露成本可降低约 100 万美元。传统的手动排查方式耗时耗力,而且容易遗漏关键线索,特别是在攻击者已经横向移动的情况下。

PowerShell 作为 Windows 环境的原生脚本语言,天生具备深度系统访问能力,可以从事件日志、注册表、网络连接、进程树等多个维度快速采集取证数据。结合 2025 年企业安全场景中普遍面临的勒索软件、供应链攻击、凭证窃取等威胁,用 PowerShell 构建自动化事件响应流程不仅能提升效率,还能确保采集过程的标准化和可重复性。

今天是万圣节,让我们用 PowerShell 来对付那些比鬼魂更可怕的——系统里的安全威胁。本文将从实战角度出发,带你构建一套涵盖威胁检测、取证采集和自动处置的安全事件响应工具集。

阅读更多
PowerShell 技术 QQ 群