PowerShell 备忘清单 & powershell cheatsheet & 速查表

辅助命令

PowerShell 的命令遵循动词-名词格式 一些常见的动词:

动词描述
Get用于检索信息
Set用于配置或更改设置
New用于创建新对象实例
Remove用于删除或移除项目
Invoke用于执行特定的操作或动作
Start用于启动进程或操作
Stop用于停止或终止进程或操作
Enable用于激活或启用功能
Disable用于停用或禁用功能
Test用于执行测试或检查
Update用于更新或刷新数据或配置

列出可用模块

Get-Module --ListAvailable

列出可用的 cmdlet 和函数

Get-Command -Module ActiveDirectory

列出别名及其对应的 cmdlet 名称

Get-Alias | Select-Object Name, Definition

获取帮助

Get-Help <cmd>
Get-Help <cmd> -Examples
Get-Help -Name Get-Process -Parameter Id

Get-Member: 显示对象的属性和方法

Get-Process | Get-Member

对象操作

Select-Object: 选择对象的特定属性或自定义其显示

Get-Process | Select-Object Name, CPU

Where-Object: 根据指定条件过滤对象

Get-Service | Where-Object { $PSItem.Status -eq 'Running' }
#OR
Get-Service | ? { $_.Status -eq 'Running' }

Measure-Object: 计算对象属性的统计信息,如总和、平均值和计数

Get-Process | Measure-Object -Property WorkingSet -Sum

ForEach-Object: 对集合中的每个对象执行操作(注意:以下命令将为当前目录中的文件/文件夹添加前缀)

Get-ChildItem | ForEach-Object { Rename-Item $_ -NewName "Prefix_$_" }

Sort-Object: 按指定属性对对象进行排序

Get-ChildItem | Sort-Object Length -Descending

Format-Table: 将输出格式化为带有指定列的表格

Get-Service | Format-Table -AutoSize  # ft alias

Format-List: 将输出格式化为属性和值的列表

Get-Process | Format-List -Property Name, CPU  # fl alias

文件系统

New-Item -path file.txt -type 'file' -value 'contents'
New-Item -path file.txt -type 'dir'
Copy-Item <src> -destination <dest>
Move-Item -path  <src> -destination <dest>
Remove-Item <file>
Test-Path <path>
Rename-Item -path <path> -newname <newname>

# using .NET Base Class Library
[System.IO.File]::WriteAllText('test.txt', '')
[System.IO.File]::Delete('test.txt')

Get-Content -Path "test.txt"
Get-Process | Out-File -FilePath "processes.txt"# 输出到文件
Get-Process | Export-Csv -Path "processes.csv"  # 输出到 CSV
$data = Import-Csv -Path "data.csv"             # 从 CSV 导入