Samuel Aguilar
返回博客
2026年6月21日·系统·1 分钟阅读

用 PowerShell 在 Windows 上自动化任务

手动做一次的事没关系;每周都要手动做的事,就把它自动化。

PowerShell 是认真自动化 Windows 的方式:它处理的是对象,而不是文本,这让它在系统管理方面非常强大。

第一个实用脚本

清理超过 7 天的临时文件:

Get-ChildItem $env:TEMP -Recurse |
  Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
  Remove-Item -Force -ErrorAction SilentlyContinue

为什么是对象而不是文本

在 Unix 上,你用 grep/awk 把文本串联起来。在 PowerShell 中,你通过管道传递的是对象,因此你可以按真实属性(LastWriteTimeLength……)进行过滤,而无需解析脆弱的字符串。

投入生产环境

  • Task Scheduler 来调度脚本。
  • 记录它所做的操作。
  • 为你的脚本签名,并调整 Execution Policy,而不是把它整个禁用。

自动化不仅仅是节省时间:它能让任务每次都以相同的方式运行,不会有任何遗漏。

#powershell#windows#自动化