PowerShell 概述

一、什么是 PowerShell?

PowerShell 是微软开发的一个任务自动化和配置管理的命令行 Shell 和脚本语言,最初基于 Windows 平台开发,后来推出跨平台版本 PowerShell Core(7.x 版本及以上),支持 Windows、Linux 和 macOS 系统。

与传统的命令行工具不同,PowerShell 操作的是对象(Object)而非纯文本,这种结构化处理方式让系统管理更加灵活、强大。


二、PowerShell 的核心特点

1. 面向对象

  • 所有命令输出都是 .NET 对象,便于数据提取、筛选和处理。

  • 例如你可以只提取一个对象的某个属性,而不需要解析文本。

2. 丰富的 Cmdlet

  • PowerShell 的命令叫 Cmdlet(命令单元),格式为 动词-名词

  • 示例:Get-ProcessStart-ServiceSet-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-ProcessStart-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 集成 极佳 一般 一般

八、参考资源


posted @ 2025-06-29 17:10  kyle_7Qc  阅读(151)  评论(0)    收藏  举报