PowerShell 命令汇总(按功能)

PowerShell 中的 Cmdlet(读作 command-let)是构建自动化任务的核心命令单位,基本格式为 动词-名词,具有一致的语法和可管道处理能力。


一、基本语法与命名规则

✅ 语法格式:

<Verb>-<Noun> [-参数名 <值>] [管道输入]
  • 动词:一般为 Get, Set, New, Remove 等标准动作;

  • 名词:操作对象,如 Process, Item, Service 等;

  • 参数前加 -,使用键值对形式,支持自动补全。


二、核心常用 Cmdlet 汇总

1. 📁 文件与文件夹操作

用于管理文件系统中的目录和文件。

命令 说明
Get-ChildItem 列出文件/目录内容
New-Item 创建新文件或目录
Remove-Item 删除文件/目录
Copy-Item 复制文件/目录
Move-Item 移动/重命名
Test-Path 判断路径是否存在
Get-Content 读取文件内容
Set-Content 写入/替换文件内容
Add-Content 向文件追加内容

示例

Copy-Item -Path "a.txt" -Destination "backup\a.txt"

➡️使用方法详情

2. 🧮 系统信息与进程服务管理

用于查看和管理进程、服务、系统信息。

命令 说明
Get-Process 获取当前进程列表
Stop-Process 停止指定进程
Get-Service 获取服务信息
Start-Service 启动服务
Stop-Service 停止服务
Get-EventLog 查看事件日志(Windows)
Get-ComputerInfo 查看系统信息
Get-Host 获取 PowerShell 版本信息
Get-Command 获取可用命令列表
Get-Help 查看命令帮助

示例

Stop-Process -Name "notepad" -Force

➡️使用方法详情

3. 📦 软件包与模块管理

用于安装、导入和管理 PowerShell 模块或软件包。

命令 说明
Get-Module 查看已导入的模块
Import-Module 导入模块
Install-Module 安装模块(需管理员权限)
Uninstall-Module 卸载模块
Update-Module 更新模块
Find-Module 查找模块

示例

Install-Module -Name PSReadLine

4. 👤 用户和权限管理(Windows)

适用于管理本地用户、组及文件权限。

命令 说明
Get-LocalUser 获取本地用户列表
New-LocalUser 创建本地用户
Add-LocalGroupMember 向组中添加成员
Get-Acl / Set-Acl 获取/设置访问控制权限

示例

Get-LocalUser

⚠️ 某些命令仅在 Windows 10/11 和 PowerShell 5.1+ 中可用。


5. 🌐 网络配置与测试

用于管理 IP、DNS、网络适配器等。

命令 说明
Test-Connection 类似 ping
Resolve-DnsName 查询 DNS
Get-NetAdapter 获取网络适配器信息
Get-NetIPAddress 获取 IP 地址
Set-DnsClientServerAddress 设置 DNS 地址

示例

Test-Connection google.com

6. 🧩 脚本与自动化控制

用于控制流程、创建函数、执行脚本等。

命令/关键字 说明
function 定义函数
if/else 条件判断
foreach / for 循环语句
try/catch/finally 异常处理
Start-Sleep 暂停执行
Invoke-Command 远程执行命令(高级)
Start-Job 启动后台作业(异步)

示例

foreach ($file in Get-ChildItem *.txt) {
    Write-Output $file.Name
}

7. 🧪 环境与变量管理

用于管理环境变量、会话变量、系统配置。

命令 说明
$env: 环境变量访问符
Get-Variable 获取 PowerShell 变量
Set-Variable 设置变量
Remove-Variable 删除变量

示例

$env:PATH

8. 🔐 安全与凭据管理

命令 说明
Get-Credential 弹出凭据输入框
ConvertTo-SecureString 转为加密字符串
Export-CliXml / Import-CliXml 导出/导入加密凭据

示例

$cred = Get-Credential

9. 🛠️ 调试与日志输出

命令 说明
Write-Host 输出到控制台(不建议用于日志)
Write-Output 输出到管道
Write-Error 报错输出
Write-Debug 调试信息(需开启)
Write-Verbose 详细信息输出

示例

Write-Output "任务完成"

10. 🕒 日期和时间操作

命令 说明
Get-Date 获取当前系统日期和时间,可格式化输出
Set-Date 设置本地系统的日期和时间(需管理员权限)

示例

Get-Date                            # 当前日期和时间
Get-Date -Format "yyyy-MM-dd HH:mm" # 格式化输出

➡️使用方法详情

11. 📄 文件内容 I/O

Cmdlet 说明
Get-Content 读取文件内容
Set-Content 覆盖写入文件内容
Add-Content 追加文本到文件
Out-File 将输出写入文件

➡️使用方法详情

12. 📌 对象处理与筛选

Cmdlet 说明
Where-Object 条件筛选
Sort-Object 排序
Select-Object 选择特定属性
ForEach-Object 对每个项执行操作
Measure-Object 统计(数量、平均值、最大等)
Group-Object 按属性分组统计

➡️使用方法详情

✅ 总结分类表

功能类别 常用命令(示例)
文件操作 Get-ChildItemCopy-ItemRemove-Item
系统管理 Get-ProcessStop-ServiceGet-ComputerInfo
网络操作 Test-ConnectionResolve-DnsName
脚本控制 ifforeachStart-SleepStart-Job
用户权限 Get-LocalUserSet-Acl
模块管理 Install-ModuleImport-Module
变量与环境 $env:VARGet-Variable
安全凭据 Get-CredentialConvertTo-SecureString
输出调试 Write-OutputWrite-ErrorWrite-Verbose
日期和时间 Get-DateSet-Date
posted @ 2025-06-29 17:53  kyle_7Qc  阅读(1387)  评论(0)    收藏  举报