Windows常用命令手册

Windows 常用命令手册

适用范围:Windows 10 / 11 / Server

目录


一、系统信息与进程

1.1 系统基本信息

systeminfo              查看系统详细信息(OS 版本、内存、补丁、网卡等)
hostname                查看计算机名
whoami                  查看当前登录用户
ver                     查看 Windows 版本号
wmic os get caption      查看操作系统名称
wmic computersystem get model,name,manufacturer   查看硬件型号

PowerShell 等效:

Get-ComputerInfo                                  # 详细系统信息
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber
$env:COMPUTERNAME                                  # 计算机名
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name  # 当前用户

1.2 进程管理

tasklist                         列出所有运行中的进程
tasklist /FI "IMAGENAME eq chrome.exe"   按名称筛选进程
tasklist /FI "PID eq 1234"               按 PID 筛选进程
taskkill /F /IM chrome.exe               强制结束进程(按名称)
taskkill /F /PID 1234                    强制结束进程(按 PID)

PowerShell 等效:

Get-Process                                     # 列出所有进程
Get-Process | Where-Object {$_.CPU -gt 100}     # 筛选 CPU 占用超 100 秒的进程
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10  # CPU 占用前 10
Stop-Process -Name chrome -Force                 # 强制结束进程
Stop-Process -Id 1234 -Force                    # 按 PID 结束进程

1.3 服务管理

net start                      列出所有已启动的服务
net start 服务名                启动指定服务
net stop 服务名                 停止指定服务
sc query state= all            查看所有服务状态(更详细)
sc start 服务名                 启动服务
sc stop 服务名                  停止服务

PowerShell 等效:

Get-Service                                      # 查看所有服务
Get-Service | Where-Object {$_.Status -eq "Running"}  # 只看运行中的服务
Start-Service -Name Spooler                       # 启动服务
Stop-Service -Name Spooler -Force                  # 停止服务
Restart-Service -Name Spooler                      # 重启服务
Set-Service -Name Spooler -StartupType Automatic   # 设置开机自启

二、网络诊断

2.1 IP 与网络配置

ipconfig               查看基本 IP 配置
ipconfig /all          查看详细网络配置(IP/MAC/DNS/网关)
ipconfig /release      释放当前 IP 地址
ipconfig /renew        重新获取 IP 地址
ipconfig /flushdns     清除 DNS 缓存(域名解析失败首选)
ipconfig /displaydns   查看 DNS 缓存内容
ipconfig /registerdns  重新注册 DNS

PowerShell 等效:

Get-NetIPAddress                                 # 查看 IP 地址
Get-NetIPConfiguration -Detailed                 # 详细网络配置
Get-NetAdapter                                   # 查看网卡信息
Disable-NetAdapter -Name "以太网" -Confirm:$false   # 禁用网卡
Enable-NetAdapter -Name "以太网"                    # 启用网卡

2.2 连通性测试

ping www.baidu.com           测试连通性(默认 4 次)
ping www.baidu.com -t        持续测试(Ctrl+C 停止)
ping -n 10 www.baidu.com     指定发送 10 个包
ping -l 1024 www.baidu.com   指定数据包大小 1024 字节

PowerShell 等效:

Test-Connection google.com -Count 4          # 测试连通性
Test-Connection google.com -Continuous       # 持续测试
Test-NetConnection -ComputerName google.com  # 详细连接测试(含端口)

2.3 路由与 DNS

tracert www.baidu.com    追踪路由路径(逐跳)
tracert -d www.baidu.com  不解析主机名,速度更快
nslookup www.baidu.com    查询 DNS 解析
nslookup www.baidu.com 8.8.8.8   使用指定 DNS 服务器查询
pathping www.baidu.com    路由追踪 + 丢包统计(耗时较长)

2.4 端口与连接监控

netstat -ano                    查看所有连接及对应 PID
netstat -ano | findstr :8080     查找占用 8080 端口的进程
netstat -an | findstr ESTABLISHED  只看已建立的连接
netstat -an | findstr LISTENING    只看监听中的端口

PowerShell 等效:

Get-NetTCPConnection                            # 所有 TCP 连接
Get-NetTCPConnection -LocalPort 80              # 查指定端口
Get-NetTCPConnection | Where-Object {$_.State -eq "Established"}
Resolve-DnsName baidu.com                       # DNS 解析

三、磁盘与维护

3.1 磁盘检查与修复

chkdsk C:              检查 C 盘错误(只读模式)
chkdsk C: /F            检查并修复 C 盘错误(需重启)
chkdsk C: /R            检查 + 修复 + 恢复坏扇区(最彻底)
⚠️ 需管理员权限。修复系统盘时提示"无法锁定当前驱动器",输入 Y 确认下次重启时检查。

3.2 系统文件修复

sfc /scannow                                     扫描并修复系统文件
sfc /verifyonly                                  仅扫描不修复
dism /online /cleanup-image /checkhealth         快速检查系统映像健康状态
dism /online /cleanup-image /scanhealth          详细扫描系统映像
dism /online /cleanup-image /restorehealth       修复系统映像(需联网)
💡 推荐顺序:sfc /scannow → 若失败 → dism /restorehealth → 再跑一次 sfc /scannow

3.3 磁盘容量与分区

wmic logicaldisk get name,size,freespace     查看各盘容量(字节)
fsutil volume diskfree C:                    查看 C 盘剩余空间
diskpart                                     进入磁盘分区管理(高级)

进入 diskpart 后常用子命令:

list disk          列出所有磁盘
select disk 0      选中磁盘 0
list partition     列出分区
list volume        列出卷
exit               退出 diskpart

PowerShell 等效:

Get-PSDrive -PSProvider FileSystem              # 查看磁盘容量
Get-Volume                                        # 查看卷信息
Get-Disk                                          # 查看磁盘
Get-Partition                                     # 查看分区

3.4 格式化

format D: /FS:NTFS           将 D 盘格式化为 NTFS
format D: /FS:FAT32 /Q        快速格式化为 FAT32
⚠️ 格式化不可逆,操作前务必确认盘符!

四、用户与权限管理

4.1 查看用户

net user                        查看本地用户列表
net user 用户名                  查看指定用户详细信息
whoami /groups                  查看当前用户所属组

PowerShell 等效:

Get-LocalUser                             # 查看所有本地用户
Get-LocalUser -Name "zhangsan"            # 查看指定用户
Get-LocalGroup                            # 查看所有本地组

4.2 创建与删除用户

net user zhangsan P@ssw0rd! /add          新建用户并设置密码
net user zhangsan /add                     新建用户(随后提示设密码)
net user zhangsan /del                     删除用户

PowerShell 等效:

New-LocalUser -Name "zhangsan" -Password (ConvertTo-SecureString "P@ssw0rd!" -AsPlainText -Force)
Remove-LocalUser -Name "zhangsan"

4.3 修改密码

net user zhangsan NewP@ss1                 修改指定用户密码
net user zhangsan /logonpasswordchg:yes    强制用户下次登录时改密码
net user zhangsan /active:no               禁用账户
net user zhangsan /active:yes              启用账户

PowerShell 等效(推荐,避免明文密码出现在历史记录中):

# 方式一:直接指定密码
$pwd = ConvertTo-SecureString "NewP@ss1" -AsPlainText -Force
Set-LocalUser -Name "zhangsan" -Password $pwd

# 方式二:弹出安全对话框输入(密码不进历史记录)
$cred = Get-Credential -UserName "zhangsan" -Message "请输入新密码"
Set-LocalUser -Name $cred.UserName -Password $cred.Password

# 禁用/启用账户
Disable-LocalUser -Name "zhangsan"
Enable-LocalUser -Name "zhangsan"

4.4 权限与组管理

net localgroup                         查看所有本地组
net localgroup administrators          查看管理员组成员
net localgroup administrators zhangsan /add   将用户加入管理员组
net localgroup administrators zhangsan /del   将用户移出管理员组
net localgroup users zhangsan /add             将用户加入普通用户组
icacls C:\data /grant zhangsan:R                 授予目录读取权限
icacls C:\data /grant zhangsan:F                 授予目录完全控制权限
icacls C:\data /remove zhangsan                  移除用户权限

PowerShell 等效:

Get-LocalGroup                                     # 查看所有组
Add-LocalGroupMember -Group "Administrators" -Member "zhangsan"
Remove-LocalGroupMember -Group "Administrators" -Member "zhangsan"
Get-LocalGroupMember -Group "Administrators"        # 查看组成员

4.5 注意事项

  • 🔐 所有用户管理操作必须以管理员身份运行
  • 密码必须符合系统策略(长度 ≥ 8、含大小写、数字、特殊字符),否则命令报错。
  • net user 系列仅适用于本地用户,域用户请用 Active Directory 工具(dsmod userGet-ADUser 等)。
  • 不建议在命令行明文输入密码,PowerShell 的 Get-Credential 更安全。

五、关机与计划

shutdown /s /t 60       60 秒后关机
shutdown /s /t 0        立即关机
shutdown /r /t 0        立即重启
shutdown /r /t 60       60 秒后重启
shutdown /a             取消已计划的关机/重启
shutdown /l             立即注销当前用户
shutdown /h              休眠

PowerShell 等效:

Stop-Computer -Force               # 立即关机
Restart-Computer -Force            # 立即重启
Stop-Computer -ComputerName PC01   # 远程关机(需权限)
💡 远程关机需目标机器开启远程管理且当前用户有相应权限。

六、PowerShell 进阶

PowerShell 的管道传递的是 .NET 对象而非纯文本,因此能写出非常紧凑强大的自动化命令。

6.1 进程与性能

# CPU 占用前 10 的进程
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

# 内存占用前 10 的进程
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

# 实时刷新进程(类似任务管理器)
Get-Process | Sort-Object CPU -Descending | Select-Object -First 20 | Format-Table -AutoSize

6.2 事件日志

# 查看最近 10 条系统日志
Get-WinEvent -LogName System -MaxEvents 10

# 查最近 1 小时的错误日志
$since = (Get-Date).AddHours(-1)
Get-WinEvent -FilterHashtable @{LogName="System"; Level=2; StartTime=$since}

# 查安全日志中登录失败事件(EventID 4625)
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625} -MaxEvents 20

6.3 网络高级操作

# 测试远程端口是否开放
Test-NetConnection -ComputerName google.com -Port 443

# 下载文件
Invoke-WebRequest -Uri "https://example.com/file.zip" -OutFile "file.zip"

# 发送 HTTP 请求
(Invoke-WebRequest -Uri "https://api.example.com/status").Content

6.4 获取帮助

Get-Help Get-Process              # 查看命令帮助
Get-Help Get-Process -Examples    # 查看示例
Get-Help Get-Process -Full        # 完整帮助(含参数说明)
Get-Command *process*             # 搜索包含 process 的命令

CMD 中获取帮助的方式:命令 /?,如 dir /?netstat /?


七、实用组合场景

7.1 网络排障标准流程

ipconfig /flushdns              # 第 1 步:清 DNS 缓存
ipconfig /all                   # 第 2 步:确认 IP/DNS 配置
ping www.baidu.com              # 第 3 步:测试基础连通性
tracert www.baidu.com           # 第 4 步:看路由跳点定位断点
nslookup www.baidu.com          # 第 5 步:验证 DNS 解析
netstat -ano                    # 第 6 步:看端口/连接状态

7.2 端口占用排查

netstat -ano | findstr :8080        # 找到占用 8080 端口的 PID
tasklist | findstr 1234             # 根据 PID 找进程名
taskkill /PID 1234 /F               # 强制结束进程

PowerShell 一行搞定:

Get-NetTCPConnection -LocalPort 8080 | ForEach-Object { Get-Process -Id $_.OwningProcess }

7.3 系统异常修复流程

sfc /scannow                                          # 第 1 步:修复系统文件
dism /online /cleanup-image /restorehealth            # 第 2 步:修复系统映像
sfc /scannow                                          # 第 3 步:再扫一次确认
chkdsk C: /F /R                                       # 第 4 步:检查磁盘(需重启)

7.4 批量用户管理(PowerShell)

# 从 CSV 批量创建用户(CSV 需含 Name 和 Password 列)
Import-Csv users.csv | ForEach-Object {
    $pwd = ConvertTo-SecureString $_.Password -AsPlainText -Force
    New-LocalUser -Name $_.Name -Password $pwd
    Add-LocalGroupMember -Group "Users" -Member $_.Name
}

八、快速参考速查表

8.1 十大最高频命令

用途命令
查看 IP 配置ipconfig / ipconfig /all
测试连通性ping 域名或IP
清 DNS 缓存ipconfig /flushdns
查端口占用`netstat -ano \findstr :端口号`
强制结束进程taskkill /F /IM 进程名taskkill /F /PID PID号
查看系统信息systeminfo
扫描修复系统文件sfc /scannow
修改用户密码net user 用户名 新密码
立即重启shutdown /r /t 0
取消关机计划shutdown /a

8.2 场景速查

场景推荐命令
电脑连不上网ipconfig /flushdnsipconfig /renewping 网关IP
某个网站打不开nslookup 域名tracert 域名
系统变慢/蓝屏sfc /scannowdism /restorehealth
忘记某服务名net start 或 `Get-Service \findstr 关键词`
需要远程管理Enter-PSSession -ComputerName 主机名(需启用 WinRM)
查看登录失败记录Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625}
批量运维PowerShell 脚本 + Invoke-Command -ComputerName

  • CMD 中不记得参数?随时加 /?,如 netstat /?shutdown /?
  • PowerShell 中不记得命令?用 Get-Command *关键词* 搜索,用 Get-Help 命令名 -Examples 看示例
  • 危险操作(formatdiskpartrmdir /s)执行前务必二次确认路径

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~