适用于 PowerShell 5.1 及以上版本
在运维脚本中,加密和哈希操作无处不在——验证文件完整性、保护敏感配置、安全传输数据、存储密码哈希。.NET 的 System.Security.Cryptography 命名空间提供了丰富的加密算法,PowerShell 可以直接调用这些类实现各种加密操作。理解哈希(不可逆)和加密(可逆)的区别,以及对称加密和非对称加密的适用场景,是编写安全脚本的基础。
本文将讲解 PowerShell 中的加密与哈希操作,以及实用的安全工具。
适用于 PowerShell 5.1 及以上版本
在运维脚本中,加密和哈希操作无处不在——验证文件完整性、保护敏感配置、安全传输数据、存储密码哈希。.NET 的 System.Security.Cryptography 命名空间提供了丰富的加密算法,PowerShell 可以直接调用这些类实现各种加密操作。理解哈希(不可逆)和加密(可逆)的区别,以及对称加密和非对称加密的适用场景,是编写安全脚本的基础。
本文将讲解 PowerShell 中的加密与哈希操作,以及实用的安全工具。
适用于 PowerShell 5.1 及以上版本
安全编码不是可选项,而是生产环境的基本要求。PowerShell 脚本经常处理凭据、连接字符串、API 密钥等敏感信息,如果处理不当,这些信息可能泄露到日志文件、版本控制系统、甚至被恶意代码利用。从凭据管理、输入验证、代码签名,到审计日志和合规检查,PowerShell 提供了完整的安全工具链。
本文将讲解 PowerShell 安全编码的核心实践,帮助构建安全可靠的自动化脚本。
适用于 PowerShell 5.1 及以上版本,SecretManagement 模块需要 PowerShell 7
脚本中的硬编码密码是安全隐患的头号来源。无论是数据库连接字符串中的密码、API 密钥还是 SSH 私钥,都应该使用安全的存储机制。PowerShell 提供了多层凭据管理方案——从基本的 PSCredential 对象到 SecureString,再到现代化的 SecretManagement 模块,可以满足从单机脚本到企业级自动化的所有需求。
本文将讲解凭据的安全创建、存储、使用,以及 Microsoft.PowerShell.SecretManagement 模块的使用。
PowerShell 技能连载 - Windows Defender 安全管理
适用于 Windows 10/11 和 Windows Server 2016 及以上版本
Windows Defender(现称 Microsoft Defender for Endpoint)是 Windows 内置的端点安全解决方案,提供实时保护、漏洞扫描、攻击面减少等多层防护。对于运维人员来说,通过 PowerShell 管理 Defender 比通过 Windows 安全中心 GUI 更高效——可以批量部署策略、自动化扫描、导出安全报告,并将安全操作集成到运维自动化流程中。
本文将讲解 Defender 的配置管理、扫描自动化、威胁响应和攻击面减少(ASR)规则配置。
适用于 PowerShell 5.1 及以上版本(Windows)
在信息安全日益重要的今天,加密和证书管理已成为运维人员的日常任务。无论是 HTTPS 网站的 TLS 证书续期、代码签名证书的管理、还是敏感数据的加密存储,PowerShell 都提供了完整的支持。Windows 证书存储(Certificate Store)通过 Cert: PSDrive 暴露给 PowerShell,使得证书的查询、导入、导出和过期监控都可以脚本化。
本文将讲解证书存储操作、TLS 证书管理、数据加密解密,以及证书过期监控的自动化方案。
PowerShell 技能连载 - Just Enough Administration (JEA)
适用于 PowerShell 5.1 及以上版本(Windows)
在传统运维中,给某人”重启服务”的权限,往往意味着给他管理员权限——而管理员权限能做远不止于此。JEA(Just Enough Administration)是微软提供的安全技术,它允许你精确控制用户可以在远程会话中执行哪些命令,无需授予管理员权限。这对于外包团队、初级运维和审计合规场景尤为重要。
本文将讲解 JEA 的核心概念、如何创建和部署 JEA 端点、角色能力的定义,以及生产环境中的最佳实践。
PowerShell 技能连载 - 文件与注册表 ACL 管理
适用于 PowerShell 5.1 及以上版本(Windows)
Windows 的权限管理核心是访问控制列表(ACL,Access Control List)。无论是文件共享、网站目录还是注册表键,权限配置错误都可能导致数据泄露或服务中断。传统的 GUI 方式(右键→属性→安全)效率低下且容易遗漏,而 PowerShell 提供了完整的 ACL 管理能力,可以实现精确、可重复、可审计的权限配置。
本文将系统讲解 NTFS 文件权限和注册表权限的查看、修改、备份和批量管理。
适用于 PowerShell 5.1 及以上版本(Windows)
在企业环境中,PowerShell 是双刃剑:它既是运维人员最强大的自动化工具,也是攻击者最常滥用的攻击载体。从 Mimikatz 到勒索软件,大量恶意行为都依赖 PowerShell 执行。因此,微软提供了两层防护机制——执行策略(Execution Policy) 和 代码签名(Code Signing),帮助组织控制哪些脚本可以运行、哪些脚本应该被拦截。
本文将系统讲解执行策略的各个级别与作用域、如何获取和使用代码签名证书对脚本进行签名、如何验证签名有效性,以及如何在团队中建立可落地的签名工作流。
PowerShell 技能连载 - Windows 防火墙规则管理
适用于 PowerShell 5.1 及以上版本(Windows 内置模块)
Windows 防火墙是服务器和终端安全的第一道防线。无论是部署新服务、排查网络故障还是进行安全加固,都离不开防火墙规则的配置与管理。传统的图形界面操作虽然直观,但在批量管理和自动化场景下效率低下,且容易遗漏。
PowerShell 内置的 NetSecurity 模块提供了完整的防火墙管理能力,支持查看、创建、修改和删除规则,所有操作都可以脚本化、可重复执行。对于运维工程师来说,掌握这套命令不仅能提高日常工作效率,更是实现基础设施即代码(IaC)的重要基础。
PowerShell 技能连载 - Windows 事件日志分析
适用于 PowerShell 5.1 及以上版本
Windows 事件日志是排查系统问题、监控安全事件的重要数据源。无论是排查服务崩溃、追踪登录失败,还是审计权限变更,事件日志都记录着关键的操作痕迹。传统的”事件查看器”图形界面虽然直观,但面对大规模日志筛选和批量分析时效率极低。
PowerShell 提供了强大的事件日志查询能力,可以像操作数据库一样对日志进行精确筛选和统计。本文将介绍如何使用 Get-WinEvent 高效查询事件日志,以及如何构建自动化的日志分析脚本。