PowerShell 技能连载 - 磁盘清理自动化

适用于 PowerShell 5.1 及以上版本

磁盘空间不足是运维中最常见的问题之一。日志文件堆积、临时文件未清理、回收站膨胀、Windows 更新缓存占用等问题,如果不加以管理,迟早会导致系统异常甚至服务中断。在容器化和虚拟化环境中,磁盘资源更是需要精打细算,自动化的磁盘清理机制必不可少。

手动清理磁盘既低效又容易遗漏,而且无法做到定期执行。通过 PowerShell 脚本可以精确定位各类可清理的目标,量化空间占用,并在安全的前提下自动执行清理操作。本文将介绍如何构建一个全面的磁盘清理自动化方案。

阅读更多

PowerShell 技能连载 - 服务依赖分析与启动顺序

适用于 PowerShell 5.1 及以上版本

Windows 系统中的服务并非孤立运行,许多服务之间存在依赖关系。例如,Web 服务可能依赖 IIS,IIS 又依赖 HTTP.sys 驱动服务;数据库服务可能依赖远程过程调用(RPC)和事件日志服务。当需要批量重启服务、排查启动失败或规划系统迁移时,理清服务之间的依赖链条至关重要。

手动查阅服务的”依赖”选项卡效率低下,尤其是面对多层嵌套的依赖关系时。PowerShell 可以通过 WMI 和 Get-Service 等原生命令递归遍历服务依赖树,自动生成启动顺序报告,甚至可以一键按正确顺序停止和启动一组相互依赖的服务。

本文将介绍如何使用 PowerShell 分析 Windows 服务依赖关系,并生成可视化报告和自动化启停脚本。

阅读更多

PowerShell 技能连载 - 配置管理模式

适用于 PowerShell 5.1 及以上版本

几乎所有脚本都涉及配置管理——数据库连接字符串、API 端点、超时设置、日志级别。如何存储、加载、验证、合并配置,直接影响脚本的可维护性和灵活性。硬编码的配置难以适应不同环境,缺少验证的配置导致运行时错误,没有合并机制的配置无法覆盖默认值。

本文将讲解 PowerShell 中的配置管理模式,从简单的配置文件到多层配置合并。

阅读更多

PowerShell 技能连载 - 进程管理进阶

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

进程管理是系统运维的基本功——排查 CPU 飙高、清理僵尸进程、监控关键服务、控制进程资源占用。虽然任务管理器能做基本的进程管理,但 PowerShell 可以实现更精细的控制:批量操作、历史趋势分析、自动告警、进程树追踪。掌握进程管理的高级技巧,是高效排查系统问题的关键。

本文将讲解进程的查询、监控、控制,以及自动化的进程管理方案。

阅读更多

PowerShell 技能连载 - 注册表管理

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

Windows 注册表是系统配置的核心存储——从系统服务配置到用户偏好,从已安装软件列表到启动项管理,几乎所有 Windows 配置都存储在注册表中。虽然图形界面提供了部分设置入口,但大量高级配置只能通过注册表修改。PowerShell 把注册表当作文件系统来处理,可以像操作文件一样读写注册表项和值。

本文将讲解注册表的操作技巧、常见配置管理场景,以及安全注意事项。

阅读更多

PowerShell 技能连载 - 系统信息采集

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

系统信息采集是运维工作的基础——新服务器上架时的资产登记、故障排查时的环境确认、容量规划时的硬件盘点、合规审计时的配置核查。PowerShell 通过 CIM/WMI、.NET 类和注册表,可以获取几乎所有的系统信息:硬件配置、操作系统详情、网络设置、已安装软件、驱动版本等。

本文将讲解如何高效采集系统信息,并生成可用的资产报告。

阅读更多

PowerShell 技能连载 - 环境变量管理

适用于 PowerShell 5.1 及以上版本

环境变量是操作系统级别的配置机制,几乎影响所有程序的行为——PATH 决定命令搜索路径、JAVA_HOME 指定 Java 运行时、HTTP_PROXY 配置代理。在运维场景中,合理管理环境变量可以控制程序行为、隔离开发/测试/生产环境配置、管理工具链路径。PowerShell 对环境变量的操作比 CMD 更加强大和直观。

本文将讲解 PowerShell 中环境变量的读取、设置、持久化,以及实用的配置管理技巧。

阅读更多

PowerShell 技能连载 - 日期时间高级操作

适用于 PowerShell 5.1 及以上版本

日期时间处理在运维脚本中无处不在——日志时间戳解析、定时任务调度、报表周期计算、服务运行时间监控、跨时区协作。PowerShell 基于 .NET 的 DateTimeTimeSpan 类型,提供了丰富的时间操作能力。但时区转换、UTC 处理、文化格式化等场景容易出错,需要掌握一些关键技巧。

本文将讲解 PowerShell 中日期时间的高级操作和常见陷阱。

阅读更多

PowerShell 技能连载 - 文件系统监控进阶

适用于 PowerShell 5.1 及以上版本(Windows),FileSystemWatcher 需要 .NET Framework/Core

文件系统监控是自动化运维的重要能力——监控配置文件变更触发服务重载、监控上传目录自动处理新文件、监控日志目录异常增长告警。.NET 的 FileSystemWatcher 类提供了操作系统级的文件变更通知机制,比轮询扫描高效得多。结合 PowerShell 的事件处理能力,可以构建响应迅速的文件系统自动化工作流。

本文将讲解 FileSystemWatcher 的高级用法、事件处理模式,以及实用的自动化场景。

阅读更多

PowerShell 技能连载 - IIS Web 服务器管理

适用于 Windows Server 2016 及以上版本,需安装 IIS 管理工具

Internet Information Services(IIS)是 Windows 上最流行的 Web 服务器,广泛用于托管 ASP.NET 应用、静态网站和反向代理。IIS 管理器(GUI)虽然直观,但在管理多台服务器或执行批量操作时效率极低。PowerShell 的 WebAdministration 模块提供了完整的 IIS 管理能力,可以实现网站创建、应用池管理、绑定配置和性能调优的全面自动化。

本文将讲解 IIS 的 PowerShell 管理技巧,涵盖日常运维的各个场景。

阅读更多
PowerShell 技术 QQ 群