Cmdlet 进程和服务管理

PowerShell 进程 & 服务管理 Cmdlet 完全实战表(2025 最新版)

这些命令在 Windows、Linux、macOS 全平台通用(PowerShell 7+)

任务推荐 Cmdlet + 最常用参数实战一键命令(直接复制)
列出所有进程Get-Process(别名:ps、gps)Get-Process | Sort CPU -Desc | Select -First 15
按条件精确查找进程Get-Process -Name chrome*Get-Process -Name code,msedge -ErrorAction SilentlyContinue
查看进程详细信息Get-Process -Id 1234 -FileVersionInfo(Get-Process code)[0] | Select *
杀进程(推荐三种方式)1. Stop-Process(最常用)
2. $proc.Kill()
3. taskkill
Stop-Process -Name notepad -Force
Get-Process chrome | Stop-Process -Force
安全杀进程(先提示)Stop-Process -WhatIf → 先预览
-Confirm → 每次确认
Get-Process *edge* | Stop-Process -WhatIf
启动程序Start-Process(别名:start、saps)Start-Process notepad
Start-Process "C:\Tools\Sysinternals\procexp.exe" -Verb RunAs
以管理员启动-Verb RunAsStart-Process powershell -Verb RunAs
等待进程结束-Wait 参数Start-Process "D:\安装.exe" -Wait
查看服务列表Get-ServiceGet-Service | Where Status -eq Running | Sort DisplayName
启动 / 停止 / 重启服务Start-Service, Stop-Service, Restart-ServiceRestart-Service Spooler -Force # 重启打印服务
设置服务启动类型Set-Service -StartupType Automatic|Manual|DisabledSet-Service -Name wuauserv -StartupType Manual
远程管理服务(神器)Get-Service, Restart-Service 直接加 -ComputerNameRestart-Service -Name BITS -ComputerName PC01,PC02,Server01 -Force
查看进程对应的服务Get-CimInstance Win32_Service | Where ProcessId -eq 1234Get-Process -Id 1234 | Select ProcessName, @{Name="服务名";Expression={(Get-CimInstance Win32_Service -Filter "ProcessId=$($_.Id)").Name}}
列出占用某端口的进程Get-NetTCPConnection + Get-ProcessGet-NetTCPConnection -LocalPort 3389 | Select OwningProcess | Get-Process -Id {$_.OwningProcess}
一键结束所有吃内存大户经典脚本“`powershell
监控进程启动(防病毒/入侵)Register-CimIndicationEvent 或简单轮询powershell\nwhile($true){ Get-Process | Where {$_.StartTime -gt (Get-Date).AddSeconds(-5)} | Select Name,Id,StartTime; Start-Sleep 1 }\n

10 个运维/安全/办公必备“一键脚本”

# 1. 一键杀掉所有 Chrome 并重新启动(解决卡死)
Get-Process chrome -ErrorAction SilentlyContinue | Stop-Process -Force
Start-Process "C:\Program Files\Google\Chrome\Application\chrome.exe"

# 2. 检查并重启卡死的打印服务
if ((Get-Service Spooler).Status -ne 'Running') { Restart-Service Spooler -Force }

# 3. 找出 1 分钟内新启动的进程(常用于查木马)
$time = (Get-Date).AddMinutes(-1)
Get-Process | Where StartTime -gt $time | Select Name,Id,StartTime,Path

# 4. 批量远程重启 100 台电脑的服务
$pcs = Get-Content C:\pcs.txt
Invoke-Command -ComputerName $pcs -ScriptBlock { Restart-Service lanmanserver -Force }

# 5. 关闭所有不必要的后台服务(省电省资源)
"XboxGipSvc","XblAuthManager","XblGameSave","XboxNetApiSvc" | 
  ForEach-Object { Stop-Service $_ -Force; Set-Service $_ -StartupType Disabled }

# 6. 查看当前最占 CPU 的前 10 个进程(实时)
while($true) { cls; Get-Process | Sort CPU -Desc | Select -First 10 Name,CPU,ID; Start-Sleep 2 }

# 7. 结束所有占用 3389 端口的进程(远程桌面卡死时)
Get-NetTCPConnection -LocalPort 3389 | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }

掌握这些,你已经可以在任何 Windows 环境里“秒杀”进程和服务问题,比 99% 的运维都快!

下一步你想要:

  • “进程注入检测 + 内存占用分析”高级技巧?
  • “写一个图形化进程管理工具(Out-GridView)”?
  • 还是“Linux 下的进程管理对比”(kill、pkill、systemctl)?

随时说,我继续给你更硬核的!

文章已创建 2965

发表回复

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

相关文章

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

返回顶部