PowerShell 概述
一、什么是 PowerShell?
PowerShell 是微软开发的一个任务自动化和配置管理的命令行 Shell 和脚本语言,最初基于 Windows 平台开发,后来推出跨平台版本 PowerShell Core(7.x 版本及以上),支持 Windows、Linux 和 macOS 系统。
与传统的命令行工具不同,PowerShell 操作的是对象(Object)而非纯文本,这种结构化处理方式让系统管理更加灵活、强大。
二、PowerShell 的核心特点
1. 面向对象
-
所有命令输出都是 .NET 对象,便于数据提取、筛选和处理。
-
例如你可以只提取一个对象的某个属性,而不需要解析文本。
2. 丰富的 Cmdlet
-
PowerShell 的命令叫 Cmdlet(命令单元),格式为
动词-名词。 -
示例:
Get-Process、Start-Service、Set-ExecutionPolicy。
3. 强大的脚本功能
- PowerShell 脚本文件扩展名为
.ps1,可实现自动化任务、批量操作等。
4. 集成.NET / WMI / COM
- 可直接调用 .NET 类库、WMI 管理接口、COM 对象。
5. 跨平台兼容(PowerShell Core)
- 新版 PowerShell(7.x 及以上)支持 Windows、Linux 和 macOS。
三、PowerShell ISE 简介
什么是 PowerShell ISE?
PowerShell ISE(Integrated Scripting Environment) 是微软提供的一个图形化开发环境,用于编写、调试和运行 PowerShell 脚本。它主要适用于 Windows 平台。
💡 注意:ISE 在 Windows PowerShell(5.1及以下)中可用,在 PowerShell 7.x(Core)中已不再支持。新版推荐使用 Visual Studio Code + PowerShell 插件。
ISE 的核心功能:
-
代码高亮:命令和关键字有语法高亮,提升阅读体验。
-
多标签脚本编辑器:可以同时打开多个脚本文件。
-
集成控制台窗口:可以一边写代码,一边立即运行测试。
-
调试功能:支持断点、单步执行、变量监视等调试操作。
-
自动补全:帮助你更快输入命令和参数。
打开方式:
-
Win + R
输入powershell_ise.exe
-
“开始菜单”搜索“PowerShell ISE”。它将列出服务器上安装的所有应用程序,然后单击 Windows PowerShell ISE。
![image]()
-
下面的表格将被打开 −
![image]()
它分为三个部分,其中包括 - 编号为 1 的 PowerShell 控制台,然后是编号为 2 的脚本文件,第三个是命令模块,您可以在其中找到该模块。
使用建议:
-
对初学者非常友好,适合学习和调试 PowerShell 脚本;
-
写完脚本可直接保存
.ps1文件,右键或命令执行; -
如果使用 PowerShell 7+,建议转向 Visual Studio Code。
四、基本命令和语法
(一)命令格式
PowerShell 的命令通常以动词 - 名词的形式命名,例如Get-Process、Start-Service等。这种命名方式使得命令的含义更加直观。
(二)获取帮助
- 使用
Get-Help命令可以获取任何 cmdlet 的详细帮助信息。例如:Get-Help Get-Process - 如果需要更详细的帮助,可以添加
-Detailed参数:Get-Help Get-Process -Detailed
(三)常用命令
| 命令 | 说明 |
|---|---|
Get-Process |
获取当前进程 |
Get-Service |
查看服务状态 |
Start-Service |
启动指定服务 |
Get-ChildItem |
列出文件夹内容(等同于 ls) |
Set-ExecutionPolicy RemoteSigned |
设置脚本执行策略 |
Get-Content file.txt |
读取文本文件 |
Out-File |
将输出保存为文件 |
Get-Help CmdletName |
查看命令帮助 |
ForEach-Object |
遍历对象集合 |
五、示例练习:找出占用 CPU 前 5 的进程
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5
六、PowerShell 的常见应用场景
-
批量创建用户、管理用户权限(如 Active Directory 管理)
-
自动部署软件或配置系统
-
服务监控与重启机制
-
结合任务计划自动执行脚本
-
获取系统日志、生成报表
-
与 DevOps 工具链集成(如 Azure CLI, Jenkins)
七、PowerShell 与其他 Shell 对比
| 特性 | PowerShell | CMD | Bash |
|---|---|---|---|
| 基于对象 | ✅ | ❌ | ❌ |
| 脚本能力 | 强 | 弱 | 强 |
| 跨平台 | ✅(PowerShell 7+) | ❌ | ✅ |
| 图形化编辑器 | PowerShell ISE / VS Code | 无 | 少 |
| Windows 集成 | 极佳 | 一般 | 一般 |
八、参考资源
-
📘 Microsoft 官方文档:https://docs.microsoft.com/powershell/
-
🔧 PowerShell Gallery:https://www.powershellgallery.com/
-
💻 开发工具推荐:
- PowerShell ISE(适合 Windows PowerShell)
- VS Code + PowerShell 扩展(适合 PowerShell Core)



浙公网安备 33010602011771号