星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

PowerShell运行命令_Powershell运行命令后没反应

以下是 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.Id

2.服务管理

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 IPAddress

Get-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\" -Recurse

Remove-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-List

Set-Acl:修改权限

$acl = Get-Acl "C:\data"; $acl.SetAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","Read","Allow"))); Set-Acl -Path "C:\data" -AclObject $acl

Get-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 # 将进程信息转为JSON

2.后台任务

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

终止进程



以上,既然看到这里了,如果觉得不错,随手点赞、收藏、转发三连吧,如果想第一时间收到推送,也可以给我一个关注~谢谢你看我的文章,我们,下次再见。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言