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 重新注册 DNSPowerShell 等效:
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 退出 diskpartPowerShell 等效:
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 user、Get-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 -AutoSize6.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 206.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").Content6.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 /flushdns → ipconfig /renew → ping 网关IP | |
| 某个网站打不开 | nslookup 域名 → tracert 域名 | |
| 系统变慢/蓝屏 | sfc /scannow → dism /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看示例- 危险操作(
format、diskpart、rmdir /s)执行前务必二次确认路径
觉得内容不错?我要