以下是 PowerShell 中 运行类命令 的全面整理,涵盖系统管理、服务控制、进程操作、远程执行等核心场景,结合多个来源的实用命令清单,助您快速掌握高效操作技巧:
一、系统与进程管理
1.进程操作
Get-Process(别名ps):查看所有运行中的进程
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 # 查看CPU占用最高的5个进程Stop-Process(别名kill):终止指定进程
Stop-Process -Name "chrome" -Force # 强制终止所有Chrome进程Start-Process:启动新进程(支持参数传递)
Start-Process notepad.exe -ArgumentList "/A file.txt" # 以管理员权限打开记事本Wait-Process:等待进程结束
$p = Start-Process powershell -PassThru; Wait-Process $p.Id2.服务管理
Get-Service:查看服务状态
Get-Service -Name "WinRM" | Select-Object Status, StartType # 检查WinRM服务状态Restart-Service:重启服务
Restart-Service -Name "Spooler" -Confirm:$false # 无确认重启打印服务Set-Service:修改服务启动类型
Set-Service -Name "Defender" -StartupType Automatic # 设置杀毒软件为自动启动二、网络与远程管理
1.网络诊断
Test-Connection(类似ping):测试网络连通性
Test-Connection -ComputerName "8.8.8.8" -Count 4 # 发送4次ICMP请求Resolve-DnsName:解析DNS记录
Resolve-DnsName "www.baidu.com" | Select-Object IPAddressGet-NetTCPConnection:查看活动TCP连接
Get-NetTCPConnection -LocalPort 80 | Where-Object { $_.State -eq "Listen" }2.远程执行
Enter-PSSession:进入远程会话
Enter-PSSession -ComputerName "192.168.1.100" -Credential (Get-Credential)Invoke-Command:远程批量执行命令
Invoke-Command -ComputerName "SRV01","SRV02" -ScriptBlock { Get-Process }Enable-PSRemoting:启用远程管理功能
Enable-PSRemoting -Force # 需管理员权限三、文件与数据处理
1.文件操作
New-Item(别名ni):创建文件/目录
New-Item -Path "C:\logs\app.log" -ItemType File -Force # 强制创建文件Copy-Item(别名cp):复制文件/目录
Copy-Item -Path "C:\data\*" -Destination "D:\backup\" -RecurseRemove-Item(别名rm):删除文件/目录
Remove-Item -Path "temp\*.tmp" -Recurse -Force # 删除临时文件2.文本处理
Get-Content(别名cat):读取文件内容
Get-Content -Path "C:\logs\app.log" -Tail 10 # 查看最后10行Set-Content(别名sc):写入文件(覆盖)
Set-Content -Path "C:\report.txt" -Value "系统检查完成"Select-String:搜索文本模式
Get-ChildItem *.log | Select-String -Pattern "error" -Context 2 # 查找含"error"的日志行四、安全与权限管理
1.权限控制
Get-Acl:查看文件/目录的访问控制列表
Get-Acl -Path "C:\Windows" | Format-ListSet-Acl:修改权限
$acl = Get-Acl "C:\data"; $acl.SetAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","Read","Allow"))); Set-Acl -Path "C:\data" -AclObject $aclGet-Credential:安全输入密码
$cred = Get-Credential; Invoke-Command -ComputerName "SRV01" -Credential $cred -ScriptBlock { Get-Process }2.脚本安全
Set-ExecutionPolicy:设置脚本执行策略
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # 允许本地签名脚本运行Get-AuthenticodeSignature:验证脚本签名
Get-AuthenticodeSignature -FilePath "C:\scripts\deploy.ps1" | Select-Object Status五、模块与包管理
1.模块操作
Install-Module:从PowerShell Gallery安装模块
Install-Module -Name "Az" -Scope CurrentUser # 安装Azure模块Import-Module:加载模块到当前会话
Import-Module -Name "ActiveDirectory" # 加载AD模块Update-Module:更新已安装模块
Update-Module -Name "PSReadLine"2.软件包管理
Install-Package:安装NuGet包
Install-Package -Name "Newtonsoft.Json" -Source "nuget.org"Get-Package:查看已安装包
Get-Package -Name "Dapper" | Format-List Version, Source六、高级运行技巧
1.管道与对象操作
筛选与排序:
Get-Service | Where-Object { $_.Status -eq "Running" } | Sort-Object Name转换数据格式:
Get-Process | ConvertTo-Json -Depth 5 # 将进程信息转为JSON2.后台任务
Start-Job:启动后台作业
Start-Job -ScriptBlock { Get-EventLog -LogName System -Newest 100 }Receive-Job:获取作业结果
$job = Get-Job; Receive-Job -Job $job七、实用别名速查表
别名 | 原命令 | 用途 |
ls | Get-ChildItem | 列出目录内容 |
cp | Copy-Item | 复制文件/目录 |
rm | Remove-Item | 删除文件/目录 |
cat | Get-Content | 查看文件内容 |
ps | Get-Process | 查看进程列表 |
kill | Stop-Process | 终止进程 |
以上,既然看到这里了,如果觉得不错,随手点赞、收藏、转发三连吧,如果想第一时间收到推送,也可以给我一个关注~谢谢你看我的文章,我们,下次再见。