贝博恩创新科技网

Windows PowerShell教程如何快速入门?

Windows PowerShell 完整教程

目录

  1. 什么是 PowerShell?
  2. 为什么学习 PowerShell?
  3. 如何启动 PowerShell?
  4. PowerShell 基础语法
  5. 核心概念:对象与管道
  6. 常用核心命令
  7. 使用脚本:.ps1 文件
  8. 进阶主题
  9. 学习资源推荐
  10. 总结与最佳实践

什么是 PowerShell?

PowerShell 是一个由微软开发的,基于任务的命令行 shell 和脚本语言,它最初仅用于 Windows 系统,但现在也已开源并支持 Linux 和 macOS。

Windows PowerShell教程如何快速入门?-图1
(图片来源网络,侵删)

与传统 Windows CMD (命令提示符) 的最大区别在于:

  • 面向对象:PowerShell 的输出不是纯文本,而是结构化的 对象,这使得数据可以被其他命令轻松处理。
  • 强大且可扩展:PowerShell 拥有超过 200 个内置命令(称为 Cmdlet,发音为 "command-let"),并且可以通过安装 模块 来无限扩展功能。
  • 脚本自动化:它是一种完整的编程语言,支持变量、函数、循环、条件判断等,非常适合编写自动化脚本,替代大量重复的手动操作。

PowerShell 是 Windows 系统管理的瑞士军刀

为什么学习 PowerShell?

如果你是以下用户,学习 PowerShell 会给你带来巨大价值:

  • 系统管理员/IT 运维人员:批量管理数百台服务器,自动部署软件,监控系统状态,处理日志等。
  • 开发者:快速构建开发环境,自动化测试部署流程,与版本控制系统(如 Git)集成。
  • 高级用户:比图形界面更快地完成系统配置任务,清理系统,优化性能。
  • 安全研究员:分析恶意软件行为,进行事件响应,取证分析。

一句话总结:学会 PowerShell,你就拥有了一种直接与 Windows 内核对话的能力。

Windows PowerShell教程如何快速入门?-图2
(图片来源网络,侵删)

如何启动 PowerShell?

有多种方式可以启动 PowerShell,推荐使用以下几种:

  1. 开始菜单搜索(最简单)

    • Win 键,输入 PowerShell
    • 你会看到 "Windows PowerShell" 和 "Windows PowerShell ISE""Windows PowerShell (x86)"
    • 推荐使用 "Windows PowerShell",这是最现代的版本,ISE 是一个集成的脚本环境,适合编写和调试脚本。
  2. 管理员权限(非常重要)

    • 在开始菜单搜索 PowerShell
    • 右键点击 "Windows PowerShell",选择 “以管理员身份运行”
    • 执行需要管理员权限的命令(如安装软件、修改系统设置)时,必须这样做。
  3. 运行对话框

    • Win + R,输入 powershell,然后按回车。

启动后,你会看到一个蓝色的窗口,提示符类似于: PS C:\Users\YourUsername\Documents>

PowerShell 基础语法

命令结构

PowerShell 的命令遵循一个统一的格式:动词-名词,这被称为 Cmdlet

  • 动词:表示要执行的操作。Get (获取), Set (设置), Start (启动), Stop (停止), New (新建), Remove (删除)。
  • 名词:表示操作的对象。Process (进程), Service (服务), Item (文件/目录), User (用户)。

示例:

  • Get-Process:获取所有进程。
  • Stop-Service:停止服务。
  • Get-ChildItem:获取当前目录下的子项(即文件和文件夹)。

获取帮助

PowerShell 自带一个非常强大的帮助系统,学会使用 Get-Help 是学习 PowerShell 的第一步。

  • Get-Help <Command-Name>:获取某个命令的基本帮助。
    • Get-Help Get-Process
  • Get-Help <Command-Name> -Examples:获取命令的使用示例。
    • Get-Help Get-Process -Examples
  • Get-Help <Command-Name> -Full:获取完整的帮助文档,包括参数说明。
    • Get-Help Get-Process -Full
  • Update-Help:更新本地帮助文档(需要管理员权限),建议首次使用前运行一次。

常用内置变量

PowerShell 有一些自动变量,存储了常用信息:

  • $_$PSItem管道当前对象,在管道操作中,它代表正在被处理的当前对象。
  • 上一个命令的执行状态。True 表示成功,False 表示失败。
  • $PID:当前 PowerShell 进程的 ID。
  • $HOME:当前用户的主目录路径,等同于 C:\Users\YourUsername
  • PWD:当前工作目录,等同于 Get-Location

核心概念:对象与管道

一切皆对象

这是 PowerShell 的精髓,当你运行一个命令时,它返回的不是文本,而是一个对象,这个对象包含 属性方法

  • 属性:是对象的数据或特征,一个进程对象有 ProcessName, Id, CPU 等属性。
  • 方法:是对象可以执行的操作,一个进程对象有 Kill() 方法来终止自己。

如何查看一个对象的属性和方法? 使用 Get-Member Cmdlet。

# 获取所有进程,并通过管道传递给 Get-Member
Get-Process | Get-Member

你会看到输出中列出了所有进程对象的属性(如 Name, Id)和方法(如 Kill, Refresh)。

强大的管道符

管道符 是 PowerShell 的灵魂,它的作用是将 一个命令的输出 作为 另一个命令的输入

这就像工厂的流水线,第一个工位(命令)完成加工后,直接将半成品传给下一个工位(命令),无需中间人(手动处理文本)。

经典示例:查找 CPU 占用率最高的 3 个进程

这个任务在 CMD 中几乎不可能完成,但在 PowerShell 中,一行命令就能搞定。

# 1. Get-Process: 获取所有进程对象
# 2. |: 将进程对象传递给 Sort-Object
# 3. Sort-Object -Property CPU -Descending: 按 CPU 属性降序排序
# 4. |: 将排序后的结果传递给 Select-Object
# 5. Select-Object -First 3: 只选择前 3 个对象
Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 3

分解理解:

  1. Get-Process 产生了一堆进程对象。
  2. Sort-Object 接收这些对象,根据它们的 CPU 属性值进行排序。
  3. Select-Object 接收排序后的对象列表,只取最前面的 3 个。

常用核心命令

文件和目录操作

  • Get-ChildItem (别名: ls, dir):列出目录内容。
    • Get-ChildItem -Path C:\Windows:列出 C:\Windows 下的文件和文件夹。
    • Get-ChildItem -Path .\*.txt:列出当前目录下所有 .txt 文件。
  • Set-Location (别名: `
分享:
扫描分享到社交APP
上一篇
下一篇