PowerShell 命令

PowerShell 常用命令速查,文件/系统/进程/网络/注册表,一键复制

共 47 个脚本

安全Get-ChildItemls

列出目录内容(ls)

Get-ChildItem 列出指定路径下的文件与子目录,等价于 Linux 的 ls 或 CMD 的 dir。

安全New-Item创建

创建文件或目录

New-Item 用于创建文件、目录及其他项类型,-ItemType 决定创建的对象类型。

安全Copy-Itemcp

复制文件或目录

Copy-Item 复制文件与目录,-Recurse 用于递归复制整个目录树。

注意Move-Itemmv

移动或重命名

Move-Item 移动文件到新位置,也常用于重命名,原位置的文件将被移除。

高危Remove-Itemrm

删除文件或目录(rm)

Remove-Item 删除文件或目录。-Recurse 递归删除目录,-Force 强制删除只读或隐藏项,两者合用时非常危险。

安全Get-ChildItem搜索

搜索文件

结合 Get-ChildItem 与 -Recurse、-Filter、-Include 递归搜索文件,类似 Linux 的 find。

安全Select-Stringsls

文件内容搜索(grep)

Select-String 在文件内容中搜索文本或正则,类似 Linux 的 grep,支持递归与上下文显示。

安全Compress-ArchiveExpand-Archive

压缩与解压(zip)

Compress-Archive 将文件或目录打包成 zip,Expand-Archive 解压 zip 包。

安全Get-FileHashhash

计算文件哈希

Get-FileHash 计算文件的哈希值,默认 SHA256,常用于校验文件完整性。

安全Get-ComputerInfo系统

查看系统版本信息

Get-ComputerInfo 返回操作系统、硬件、BIOS 等综合信息(仅 Windows PowerShell 5.1+)。

安全Get-PSDrive磁盘

查看磁盘空间

Get-PSDrive 列出所有驱动器(含文件系统与注册表等),显示已用与可用空间。

安全Get-ProcessSort-Object

查看 CPU 与内存占用

Get-Process 配合 Sort-Object 与 Select-Object 查看资源占用最高的进程。

注意env环境变量

查看与设置环境变量

通过 $env: 读写当前会话的环境变量,Get-ChildItem Env: 列出全部,.NET 方法可持久化。

安全Get-WmiObjectWin32_Product

查看已安装程序

通过 WMI/CIM 查询系统中已安装的软件列表,可导出用于审计。

安全Get-CimInstance内存

查看内存与运行时间

Get-CimInstance 查询操作系统与内存总量、上次启动时间,换算出已运行时长。

安全Get-Processps

查看进程列表

Get-Process 列出当前系统运行的进程,可按名称或 ID 过滤。

高危Stop-Processkill

终止进程

Stop-Process 通过 PID 或名称结束进程,-Force 强制结束无响应进程。

安全Get-Service服务

查看服务列表

Get-Service 列出系统服务及其状态(Running/Stopped)与启动类型。

注意Start-ServiceStop-Service

启动/停止/重启服务

Start-Service、Stop-Service、Restart-Service 控制服务运行,通常需要管理员权限。

安全Win32_StartupCommand启动项

查看开机启动项

查询注册表与启动文件夹中的开机自启程序,排查随系统启动的项目。

安全Get-NetIPAddressIP

查看 IP 地址

Get-NetIPAddress 列出所有网卡的 IPv4/IPv6 地址,可过滤地址族与状态。

安全Test-Connectionping

测试连通性(ping)

Test-Connection 等价于 ping,发送 ICMP 包测试主机可达性。

安全Test-NetConnection端口

测试端口连通性

Test-NetConnection 测试指定主机的端口是否可达,并显示路由跳数(仅 Windows)。

安全Invoke-WebRequestiwr

下载文件(curl)

Invoke-WebRequest 下载文件或发起 HTTP 请求,类似 curl。-OutFile 保存到磁盘。

安全Resolve-DnsNameDNS

DNS 解析

Resolve-DnsName 查询域名的 DNS 记录,支持指定记录类型与 DNS 服务器。

安全Invoke-RestMethodirm

调用 REST API

Invoke-RestMethod 调用 RESTful API 并自动将 JSON/XML 响应解析为 PowerShell 对象。

安全USERNAME用户

查看当前用户

通过 $env:USERNAME 或 .NET 获取当前登录用户名与域名。

安全Get-LocalUser用户

查看本地用户列表

Get-LocalUser 列出系统中的本地账户及其启用状态(仅 Windows 10/Server 2016+)。

安全Administrator管理员

检查管理员权限

检测当前会话是否以管理员身份运行,常用于脚本开头做权限校验。

安全Get-AclACL

查看文件权限

Get-Acl 获取文件或目录的访问控制列表(ACL),显示哪些用户/组有何种权限。

高危Set-AclACL

修改文件权限

Set-Acl 设置文件或目录的访问控制列表,可添加或修改访问规则。

注意Start-ProcessRunAs

以管理员运行程序

Start-Process -Verb RunAs 触发 UAC 提权,以管理员身份启动新进程。

高危New-LocalUserAdd-LocalGroupMember

创建本地用户并加入组

New-LocalUser 创建本地账户,Add-LocalGroupMember 将用户加入指定组(需管理员)。

安全Get-ItemProperty注册表

查看注册表项

Get-ItemProperty 读取注册表键值,注册表通过 HKLM:、HKCU: 等驱动器访问。

高危Set-ItemProperty注册表

修改注册表值

Set-ItemProperty 修改或新建注册表键值。注册表直接影响系统行为,修改前务必备份。

高危New-ItemNew-ItemProperty

新建注册表项

New-Item 与 New-ItemProperty 在注册表中创建新的键与值。-Force 可递归创建父项。

高危Remove-ItemRemove-ItemProperty

删除注册表值或项

Remove-ItemProperty 删除单个值,Remove-Item 删除整个注册表项(含子项)。

安全registry注册表

常用注册表路径速查

系统管理中最常访问的注册表路径,涵盖启动项、卸载信息、系统策略等。

注意Set-ExecutionPolicy执行策略

设置脚本执行策略

Set-ExecutionPolicy 控制 PowerShell 运行脚本的权限。RemoteSigned 是较安全且常用的策略。

安全Get-Helphelp

查看命令帮助

Get-Help 查看任意 cmdlet 的用法、参数与示例,-Online 打开在线版最新文档。

安全pipeline管道

管道符与对象流

PowerShell 管道传递的是 .NET 对象而非纯文本,后续 cmdlet 可直接访问对象属性。

安全Where-Objectwhere

过滤对象(Where-Object)

Where-Object 按条件过滤管道中的对象,? 是其别名,支持简化与脚本块两种语法。

安全ForEach-Objectforeach

循环处理(ForEach-Object)

ForEach-Object 对管道中每个对象执行操作,% 是其别名,$_/$PSItem 代表当前对象。

安全Export-CsvImport-Csv

导出 CSV 文件

Export-Csv 将对象集合导出为 CSV 文件,-NoTypeInformation 去除类型头信息。

安全ConvertFrom-JsonConvertTo-Json

解析与生成 JSON

ConvertFrom-Json 将 JSON 字符串转为对象,ConvertTo-Json 将对象序列化为 JSON。

安全string字符串

字符串操作

PowerShell 字符串常用操作:格式化、分割、替换、连接与多行字符串。

安全Get-AliasSet-Alias

查看与管理别名

Get-Alias 查看 cmdlet 的别名,Set-Alias 与 New-Alias 创建自定义别名。

使用帮助