PowerShell 教程

PowerShell(包括 Windows PowerShell 和 PowerShell Core)是微软公司开发的一个跨平台的命令行工具和脚本语言,它建立在.NET框架之上。与

PowerShell 由在 .NET Framework 和后来的 .NET 上构建的命令行界面壳层相关脚本语言组成,最初仅仅是 Windows 组件,后于 2016 年 8 月 18 日开源并提供跨平台支持。

PowerShell 是面向对象的,这意味着它处理的不是简单的文本,而是 .NET 对象。


谁适合学习 PowerShell?

PowerShell 适合需要高效管理 Windows 系统、自动化重复任务或与微软产品(如 Active Directory、Azure、Exchange 等)交互的技术人员,包括系统管理员、IT 运维、开发者和安全工程师。

PowerShell 的核心优势是将图形界面的点击操作转化为可复用的脚本命令,特别适合批量操作和定期任务。

普通用户若只需基本电脑操作则不必学习 PowerShell。


为什么需要 PowerShell?

UNIX 系统一直有着功能强大的壳程序(shell),Windows PowerShell 的诞生就是要提供功能相当于UNIX系统的命令行壳程序(例如:sh、bash或csh),同时也内置脚本语言以及辅助脚本程序的工具。

PowerShell 核心特性

  1. 面向对象 - 命令输出的是对象(如进程、文件),而非纯文本。
  2. 管道(Pipeline) - 支持对象传递,可链式处理数据。
  3. 统一命名规范 - 采用 动词-名词 格式(如 Get-Process)。
  4. 跨平台支持 - 可在 Windows、Linux、macOS 运行(PowerShell Core)。
  5. 深度集成 .NET - 可直接调用 .NET 类库和方法。
  6. 模块化设计 - 功能以模块形式扩展(如 ActiveDirectory 模块)。
  7. 自动化脚本 - 支持复杂脚本编写(变量、循环、函数等)。
  8. 远程管理 - 通过 Enter-PSSessionInvoke-Command 管理远程机器。
  9. 别名系统 - 支持简写(如 ls 替代 Get-ChildItem)。
  10. 强大的帮助系统 - 内置 Get-Help 和示例代码。

一句话总结:PowerShell 是面向对象的自动化工具,专为高效系统管理和跨平台任务设计。


PowerShell 入门实例

实例

# 获取所有正在运行的进程
Get-Process

# 获取特定进程的详细信息
Get-Process -Name "notepad" | Select-Object Name, CPU, WorkingSet

# 停止特定进程
Stop-Process -Name "notepad" -Force

相关资源

官方文档:https://docs.microsoft.com/powershell/