PowerShell 核心概念

PowerShell 的 8 个核心概念

掌握这 8 点,你就真正理解了 PowerShell 的灵魂,而不是只会背命令。

#核心概念含义 + 为什么重要经典例子
1一切都是对象(Everything is an Object)PowerShell 输出的不是文本,而是 .NET 对象(有属性和方法)。这才是它比 cmd/bash 强大 100 倍的根本原因。Get-Process code → 返回的是 [System.Diagnostics.Process] 对象,可以直接点出 .CPU.StartTime
2Cmdlet(命令) = 动词-名词所有命令都严格遵循 Verb-Noun 格式,动词是标准集合(Get/Set/New/Remove/Start/Stop…)。看名字就知道能干什么。Get-Service, Stop-Process, New-Item, Remove-ADUser
3管道传输的是对象,不是文本| 左边的命令把完整对象传给右边,而不是像 bash/cmd 那样只传文本。所以可以一直点属性过滤、排序、计算。Get-Process | Sort-Object CPU -Descending | Select -First 5
4成员访问(. 和 ()).属性 取值,用 .方法() 执行动作,这是日常 80% 的操作。$proc.CPU$proc.Kill()$path.Length$date.AddDays(30)
5类型系统与强制转换PowerShell 是强类型语言,但会自动帮你转换。需要时用 [int], [datetime], [xml] 等强制转换。[datetime]"2025-12-03"[int]"123abc" → 123
6提供者(Providers)与驱动器(PSDrives)PowerShell 把文件系统、注册表、环境变量、证书、Active Directory 都当成“磁盘”来操作,命令完全一样。cd HKLM:\SOFTWARE\Microsoft
dir Env:\PATH
Get-Item Cert:\LocalMachine\My
7脚本块 { } 与 & 调用运算符{ } 是代码块,可以当参数、变量、当函数用。& 是“执行这个变量里的命令或脚本”。Get-Process | Where-Object {$_.CPU -gt 1000}
$action = { param($x) $x*2 }; & $action 5
8模块与命令发现系统所有功能都以模块(Module)形式组织,Get-CommandGet-Module 是你最强大的“搜索引擎”。Get-Command -Module ActiveDirectory
Import-Module Microsoft.PowerShell.Utility

一张图记住 PowerShell 的数据流向

命令 → [对象] → | 管道 → [对象] → | 管道 → [对象] → 最终输出(Format-*)

只要中间不经过 Out-String| Select * 这种“把对象变回纯文本”的操作,管道里永远是完整对象!

快速验证这 8 个概念(复制粘贴即刻体验)

# 1. 一切都是对象
(Get-Process -Id $PID).GetType().FullName

# 2. 动词-名词
Get-Command Get-*

# 3. 管道传对象
Get-Service | Where-Object Status -eq 'Running' | Select Name,DisplayName -First 5

# 4. 成员访问
(Get-Date).AddDays(100)
(Get-Process)[0].Kill()   # 小心!会杀掉第一个进程

# 5. 强制转换
[xml]$xml = Get-Content .\test.xml
[int]"00500"

# 6. 提供者
Get-PSDrive
Set-Location Alias:
Get-ChildItem

# 7. 脚本块
$sb = { "今天是 $(Get-Date -Format yyyy年MM月dd日)" }
& $sb

# 8. 模块
Find-Module *excel*      # 找可以无 Office 操作 Excel 的模块
Get-Command -Noun PSReadLine*   # 看看你现在用的命令行补全功能来自哪个模块

记住这 8 个核心概念后,你看任何 PowerShell 脚本都不会再懵逼——因为它们全部都是围绕这 8 点展开的。

接下来你想深入哪个概念?我可以立刻给你实战+进阶案例(比如“管道高级技巧”“自定义对象”“提供者开发”等等)。

文章已创建 2965

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部