PowerShell 命令速查表 - PowerShell 常用命令大全

Windows 系统管理与自动化必备的 PowerShell 命令都在这里了,从文件操作到远程管理,按场景分类整理,直接复制使用。

系统与运维·共 58 条命令·最后更新 2026-07-21
返回 系统与运维

基础命令 5

Get-Command
列出所有可用的 PowerShell 命令(cmdlet、函数、别名)
Get-Help Get-Process
查看命令帮助文档,加 -Detailed 查看更多详情
Get-Member
查看管道中对象的属性和方法
Get-Verb
列出所有 PowerShell 批准的动词
Get-Alias
列出所有命令别名

文件与目录 8

Get-ChildItem
列出目录内容,类似 ls/dir
Set-Location ..
切换目录,类似 cd
New-Item -ItemType Directory -Path C:\NewDir
创建新目录或文件
Copy-Item src.txt dst.txt
复制文件或目录,类似 cp
Move-Item src.txt dst.txt
移动或重命名文件,类似 mv
Remove-Item file.txt
删除文件或目录,类似 rm
Rename-Item old.txt new.txt
重命名文件或目录
Test-Path C:\path
检查路径是否存在,返回 True/False

内容操作 8

Get-Content file.txt
读取文件内容,类似 cat
Set-Content file.txt "text"
写入文件内容(覆盖)
Add-Content file.txt "text"
追加内容到文件
Out-File output.txt
将输出写入文件
Export-Csv data.csv -NoTypeInformation
导出对象为 CSV 文件
Import-Csv data.csv
从 CSV 文件导入对象
ConvertTo-Json
将对象转换为 JSON 格式
ConvertFrom-Json
从 JSON 字符串创建对象

管道与筛选 6

Where-Object { $_.Name -eq "svchost" }
筛选对象,类似 grep,可简写为 where
Select-Object -First 10 Name,Id
选择对象属性或前 N 个,可简写为 select
Sort-Object Name -Descending
对对象排序,可简写为 sort
Group-Object Status
按属性分组统计
Measure-Object -Sum -Average
计算数值统计信息(总和、平均值等)
ForEach-Object { $_ * 2 }
对管道中每个对象执行操作,可简写为 foreach

进程与服务 9

Get-Process
列出所有正在运行的进程,类似 ps
Get-Process -Name "chrome"
按名称查找进程
Stop-Process -Name "notepad"
停止指定进程,类似 kill
Start-Process notepad.exe
启动新进程
Get-Service
列出所有 Windows 服务
Start-Service Spooler
启动服务
Stop-Service Spooler
停止服务
Restart-Service Spooler
重启服务
Set-Service Spooler -StartupType Automatic
设置服务启动类型(自动/手动/禁用)

网络与远程 6

Test-Connection 8.8.8.8
测试网络连接,类似 ping
Test-NetConnection google.com -Port 443
高级网络诊断,测试端口连通性
Invoke-WebRequest -Uri https://api.example.com
发送 HTTP/HTTPS 请求,类似 curl
Invoke-RestMethod -Uri https://api.example.com
发送 REST API 请求,自动解析 JSON/XML
Enter-PSSession -ComputerName Server01
进入远程 PowerShell 会话,类似 SSH
Invoke-Command -ComputerName Server01 -ScriptBlock { Get-Process }
在远程机器上执行命令

脚本编写 8

$name = "World"
定义变量,用 $ 前缀
$array = 1,2,3; $array[0]
数组定义和索引访问
$hash = @{ Name = "Tom"; Age = 30 }
哈希表(字典)定义
if ($val -gt 10) { "big" } else { "small" }
条件判断,-gt 大于/-lt 小于/-eq 等于
switch ($val) { 1 { "one" } default { "?" } }
Switch 多分支判断
foreach ($item in $items) { $item }
遍历数组或集合
function Say-Hello { param($name) "Hello $name" }
定义函数,支持参数
try { 1/0 } catch { "error: $_" } finally { "done" }
异常处理 try/catch/finally

系统管理 8

Get-Date
获取当前日期时间
Set-Date "2026-01-01"
设置系统日期时间
Get-WmiObject Win32_Processor
通过 WMI 查询系统信息(CPU)
Get-CimInstance Win32_LogicalDisk
通过 CIM 查询磁盘信息(推荐代替 WMI)
Format-Table Name,Id -AutoSize
表格格式输出,自动调整列宽
Format-List Name,Id
列表格式输出,每个属性一行
Format-Wide Name -Column 4
宽格式输出,多列显示
Get-EventLog -LogName System -Newest 10
查看系统事件日志(最新 10 条)

💡 提示

  • PowerShell 命令采用"动词-名词"命名规范,如 Get-Process、Stop-Service
  • 使用 Get-Command 查找所有可用命令,Get-Help 查看帮助
  • 管道传递的是对象而不是文本,用 Get-Member 查看对象属性和方法
  • 变量用 $ 前缀,如 $var = "hello"
  • 使用 $profile 文件自定义 PowerShell 环境,类似 .bashrc