PowerShell:零基础完全学习手册(通俗理解+多表格实战)

很多新手始终分不清:PowerShell 和 CMD 到底有什么区别?到底什么时候用 PowerShell?它的核心优势是什么?

本篇手册抛弃晦涩官方话术,用通俗逻辑+大量对比表格,从零讲透 PowerShell 的定义、底层逻辑、版本区别、基础命令、脚本规则、实战场景,适合零基础入门、日常运维、Windows 自动化学习收藏。

一、通俗理解:PowerShell 是什么?

1.1 核心定义(人话版)

PowerShell 是 微软推出的 Windows 高级命令行终端 + 自动化脚本工具,是 CMD 的全面升级版,同时支持命令交互、脚本编程、系统运维、批量自动化,深度依托 .NET 框架,是 Windows 官方标准运维工具。

简单类比:

CMD:老旧简易命令行,只能执行简单文本命令,功能薄弱、无编程能力。

PowerShell :现代化终端,面向对象、支持编程、支持批量自动化、可管控 Windows 全系统资源

1.2 PowerShell 核心特点(区别于所有终端)

面向对象输出:普通终端输出纯文本,PowerShell 输出结构化对象,可直接筛选、排序、修改属性。

兼容全量 CMD 命令:CMD 能跑的命令,PowerShell 全部兼容,无缝过渡。

原生支持脚本 :后缀 .ps1,可编写循环、判断、变量、函数,实现运维自动化。

跨平台新版本:PowerShell 7 支持 Windows / Mac / Linux,不再局限 Windows。

系统权限极高:可管理进程、服务、注册表、文件、网络、系统配置。

二、PowerShell 两大版本区别(必懂,新手最易混淆)

PowerShell 分为 系统自带 Windows PowerShell 5.1跨平台 PowerShell 7+,二者完全不同,下表清晰区分:

对比维度 Windows PowerShell 5.1 PowerShell 7(Core)
内置状态 Win10/Win11 系统自带无需安装 需手动下载安装
运行程序 powershell.exe pwsh.exe
运行平台 仅 Windows 平台专属 Windows / MacOS / Linux 跨平台
底层框架 基于 .NET Framework(老旧框架) 基于 .NET Core / .NET 跨平台框架
更新迭代 停止大版本更新,仅修复漏洞 持续更新,微软主力维护版本
适用场景 Windows 本地日常运维、系统内置功能调用 跨平台脚本、服务器自动化、云运维

三、PowerShell 快速打开方式(新手速查)

打开方式 操作步骤 适用场景
运行窗口打开 Win+R 输入 powershell 回车 快速打开普通权限终端
快捷菜单打开 Win+X,选择 Windows PowerShell 系统快速调用
管理员身份打开 开始菜单搜索 PowerShell → 右键「以管理员身份运行」 修改系统配置、安装软件、修改服务必备
ISE 脚本编辑器 搜索「Windows PowerShell ISE」打开 编写、调试、运行 PS1 脚本

四、PowerShell 与 CMD 核心对比(彻底搞懂优势)

对比项 CMD PowerShell
输出形式 纯文本字符串,无法结构化处理 对象格式,可直接筛选、排序、修改属性
编程能力 极弱,仅简单批处理,无完善语法 完整编程语法:变量、循环、判断、函数、数组
命令规范 命令杂乱无章,无统一规则 统一动词+名词规范,如 Get-ChildItem、Set-Service
管道能力 文本管道,只能字符截取 对象管道,直接传递数据对象,精准处理
自动化能力 仅简单批量处理 支持复杂运维自动化、定时任务、批量管控
兼容性 仅适配老旧 Windows 兼容 CMD 命令,同时支持跨平台

五、PowerShell 命令规范(核心底层逻辑)

PowerShell 所有原生命令遵循 动词-名词 统一规则,极易记忆,告别 CMD 杂乱命令。

5.1 高频通用动词对照表

常用动词 含义 示例命令
Get 获取、查询信息 Get-Process(查看进程)
Set 设置、修改配置 Set-Service(修改服务状态)
New 新建对象/文件/任务 New-Item(新建文件/文件夹)
Remove 删除资源 Remove-Item(删除文件)
Start 启动程序/服务 Start-Service(启动服务)
Stop 停止程序/服务 Stop-Process(关闭进程)
Test 检测、验证 Test-Connection(ping 测试)

六、新手必备高频命令对照表(可直接复用)

兼容 CMD 命令,同时提供 PowerShell 原生标准命令,推荐优先使用原生命令。

功能场景 兼容 CMD 命令 PowerShell 原生标准命令
查看目录文件 dir Get-ChildItem
切换目录 cd Set-Location
新建文件/文件夹 md / copy New-Item
删除文件/文件夹 del / rd Remove-Item
查看本机进程 tasklist Get-Process
关闭进程 taskkill Stop-Process
查看网络配置 ipconfig Get-NetIPAddress
网络连通测试 ping Test-Connection
查看系统服务 无直接命令 Get-Service

七、PowerShell 脚本执行策略(新手必踩坑知识点)

Windows 默认禁止运行 PS1 脚本,目的是防止恶意脚本自动执行,新手写脚本报错基本都是这个原因。

7.1 执行策略等级对照表

策略级别 权限说明 适用场景
Restricted(默认) 禁止所有脚本运行,仅可执行单条命令 系统默认安全策略
RemoteSigned 本地编写脚本可直接运行,网络下载脚本需签名 个人学习、本地开发首选
AllSigned 所有脚本必须数字签名,无签名无法运行 企业生产环境
Unrestricted 无任何限制,所有脚本均可运行 临时测试,不推荐长期开启

7.2 常用配置命令

查看当前策略:Get-ExecutionPolicy

设置本地可运行脚本(管理员执行):Set-ExecutionPolicy RemoteSigned

八、PowerShell 三大核心优势(彻底理解为什么要学)

核心优势 通俗解释 实际价值
面向对象处理数据 不是死板文本,是结构化数据,可直接筛选、排序、取值 无需复杂文本截取,运维数据处理效率翻倍
完整自动化能力 支持变量、循环、判断、函数,可编写复杂脚本 批量处理文件、启停服务、监控系统、自动运维
全系统管控能力 深度对接 Windows 内核、.NET、注册表、服务、云资源 Windows 运维、服务器管理、云平台运维必备工具

九、PowerShell 适用场景总结

日常电脑运维:批量整理文件、清理垃圾、查看进程、关闭冗余程序

Windows 服务器运维:管理系统服务、权限、日志、定时任务

自动化脚本开发:重复性工作脚本化,解放手动操作

云运维:搭配 Azure、服务器集群实现批量管控

开发辅助:项目批量打包、文件处理、环境配置

十、新手学习路线(极简总结)

  1. 熟悉基础打开方式、区分 5.1 和 7.x 版本差异

  2. 掌握「动词-名词」命令规范,熟记高频命令

  3. 配置脚本执行策略,解决 PS1 脚本运行报错

  4. 学习变量、数组、循环、判断基础语法

  5. 练习管道筛选、数据处理、简单自动化脚本

  6. 进阶系统运维、服务器自动化、云运维场景

十一、全篇总结

  1. PowerShell 是 CMD 的现代化升级版,是 Windows 官方标准命令行与自动化工具,具备完整编程能力;

  2. 分为系统自带 5.1 版本和跨平台 7.x 版本,日常学习优先使用 5.1,跨平台开发使用 7.x;

  3. 统一「动词+名词」命令规范,记忆简单、可读性强,优于传统 CMD 杂乱命令;

  4. 默认禁止脚本运行,修改为 RemoteSigned 即可满足本地学习开发需求;

  5. 核心价值在于结构化数据处理 + 自动化运维,是 Windows 运维、开发辅助的必备技能。

相关推荐
马东188 小时前
冲突后的解决状态
学习
CCC:CarCrazeCurator8 小时前
LeRobot 深度技术方案解析:Hugging Face 端到端机器人学习框架
学习·机器人
Titan20248 小时前
网络学习:网络层与数据链路层知识梳理
服务器·网络·学习·tcp/ip
老猿讲编程8 小时前
【Eclipse OpenSOVD学习之十一】网关二进制与部署
学习·中间件·rust·eclipse·汽车
Yanjun2i8 小时前
Agent学习记录六:Tool 类 + Tool Registry
开发语言·python·学习
罗西的思考8 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 —(1)— 总体
人工智能·笔记·深度学习·学习·机器学习
老猿讲编程8 小时前
【Eclipse OpenSOVD学习之十】客户端 SDK
学习·eclipse·嵌入式软件·车载·sovd
gjf05_058 小时前
人该怎样活着呢?版本74.5
学习
励志不掉头发的内向程序员8 小时前
【LibreCAD 2D架构】鼠标点下的坐标为什么会被“吸”走?LibreCAD 对象捕捉系统解析
开发语言·c++·qt·学习·系统架构
明德扬9 小时前
AD9653采集模块怎样连接FPGA底板?从ADC采样到数据处理
学习·fpga开发·fpga