100条核心CMD运维命令大全,效率拉满!
2025-09-22 09:13:13
RAIZ
一、命令行在Windows运维中的不可替代性
在图形化界面占据主流的今天,许多新手运维工程师可能认为命令行(CMD)已退出历史舞台。然而真正的运维老兵深知:命令行才是Windows系统管理的底层基石。当服务器出现故障、远程连接卡顿或需批量操作时,一行精准的CMD命令往往比鼠标点击高效十倍。本文将系统梳理100条核心CMD命令,涵盖从基础操作到高阶排障的全场景应用,助你成为Windows运维效率专家。
二、精选100条核心命令详解(按功能分类)
▍1. 系统信息与状态监控(12条)
systeminfo # 获取系统详细配置(OS版本/内存/补丁等)
wmic memorychip get capacity # 查看内存条容量(单位:字节)
tasklist /svc # 显示进程及关联服务(定位资源占用关键命令)
perfmon /res # 打开实时性能监控仪表盘
driverquery /v # 列出所有已加载驱动及其属性
ver # 快速获取操作系统版本
hostname # 显示当前计算机名称(远程排查必备)
time /t # 仅输出当前时间(脚本日志常用)
whoami /priv # 显示当前用户权限(判断管理员身份)
wmic cpu get name,numberofcores # 获取CPU型号与核心数
wmic os get lastbootuptime # 查询上次系统启动时间
chcp 65001 # 切换控制台编码为UTF-8(解决中文乱码)
▍2. 磁盘管理与文件操作(15条)
chkdsk /f D: # 强制修复D盘文件系统错误
diskpart # 进入磁盘分区工具(需配合脚本自动化)
robocopy C:\logs D:\backup /MIR /MT:16 # 多线程镜像备份
fsutil file createnew testfile.txt 1048576 # 创建1MB空文件(测试磁盘速度)
icacls "C:\Program Files" /grant Administrators:(OI)(CI)F # 递归授权
compact /c /s /a # 启用NTFS压缩并应用到所有子目录
defrag C: /U /V # 可视化分析磁盘碎片情况
vssadmin list shadows # 查看卷影副本(恢复误删文件依据)
takeown /f "C:\lockedfile.dll" /r # 强制获取文件所有权
tree /F > dir_tree.txt # 导出目录树到文本文件
where /r C:\ *.config # 全盘递归搜索.config文件
cipher /w:C # 彻底擦除C盘剩余空间(安全清除)
wmic logicaldisk get size,freespace,caption # 查看所有分区容量
subst X: "D:\Projects"# 虚拟磁盘映射(临时路径简化)
attrib +h +s "secret.txt" # 添加隐藏和系统文件属性
▍3. 网络诊断与配置(18条)
ipconfig /all # 获取完整TCP/IP配置(MAC/DNS等)
arp -a # 显示ARP缓存表(定位IP冲突)
netstat -ano | findstr :443 # 检查443端口占用进程
tracert -d 8.8.8.8 # 禁用反向解析加速路由跟踪
netsh interface show interface # 列出所有网络接口状态
netsh wlan show profiles # 显示保存的WiFi配置文件
pathping www.microsoft.com # 结合ping+tracert的增强诊断
route print # 打印路由表(VPN故障必查)
telnet smtp.163.com 25 # 测试邮件服务器连通性(需启用功能)
netsh advfirewall set allprofiles state off # 临时关闭防火墙(排障用)
nslookup -type=mx baidu.com # 查询邮件交换记录
getmac /v /fo list # 列出所有网卡的MAC地址
netsh http show iplisten # 检查HTTP服务监听IP
ping -f -l 1472 www.baidu.com # 测试MTU值(分片检测)
net use Z: \\192.168.1.100\share /user:admin password # 映射网络驱动器
netsh int ip set dns "以太网" static 8.8.8.8 # 设置静态DNS
wmic nic where NetEnabled=true get name, speed # 查看网卡速率
典型排障案例:某服务器远程桌面卡顿,通过
netstat -ano
发现大量TIME_WAIT连接,配合taskkill /PID <id> /F
终止异常进程后恢复
▍4. 服务与进程控制(10条)
sc query WinDefend # 查询Windows Defender服务状态
sc config DiagTrack start= disabled # 禁用诊断跟踪服务(隐私优化)
taskkill /IM chrome.exe /T /F # 强制终止Chrome进程树
wmic process where name="sqlservr.exe" get commandline # 查看进程启动参数
start /min notepad.exe # 最小化启动记事本
schtasks /query /fo LIST /v # 列出所有计划任务详情
sc failure Winmgmt reset= 30 actions= restart/60000 # 设置服务崩溃自启
tasklist /m dllname.dll # 查找加载特定dll的进程
timeout /t 10 /nobreak # 暂停10秒(脚本流程控制)
wmic process call create "cmd.exe" # 创建新进程(带返回对象)
▍5. 用户与权限管理(9条)
net user Tech2025 /add /expires:2026-01-01 # 创建带过期时间的用户
net localgroup "Remote Desktop Users" User01 /add # 添加远程桌面权限
runas /user:admin "mmc.exe" # 以管理员身份运行控制台
qwinsta # 查看当前远程会话(同query session)
msg * "服务器将在5分钟后重启!" # 向所有用户发送通知
net accounts /lockoutthreshold:3 # 设置账户锁定阈值(安全策略)
whoami /groups # 显示当前用户所属组
net user %username% /logonpasswordchg:yes # 强制下次登录改密码
lusrmgr.msc # 打开本地用户管理器(虽然非CMD但运维必知)
▍6. 注册表与系统配置(8条)
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName # 查询注册表键值
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f # 启用远程桌面
reg save HKLM\SAM sam.bak # 备份SAM注册表项(需管理员)
regini system.ini # 通过INI文件批量修改注册表
powercfg /h off # 关闭休眠文件(释放C盘空间)
bcdedit /set {current} safeboot minimal # 设置下次启动为安全模式
auditpol /get /category:* # 查看审计策略设置
wmic recoveros set autoreboot = false # 禁止系统失败自动重启
▍7. 批处理与自动化(14条)
for /f "tokens=2 delims=:" %i in ('ipconfig ^| findstr "IPv4"') do set ip=%i # 提取本机IP到变量
for /r D:\ %i in (*.bak) do del "%i" # 递归删除所有备份文件
if exist "C:\logs\" (echo Log folder exists) else (mkdir C:\logs)
set /p var=请输入内容: # 用户输入赋值给变量
call :subroutine # 调用子程序标签
:subroutine
echo This is a subroutine
exit /b
自动化脚本示例(清理30天前日志):
@echo off
setlocal enabledelayedexpansion
set log_path=C:\app\logs
set backup_path=D:\archive
set days=30
forfiles /p %log_path% /s /m *.log /d -%days% /c "cmd /c echo Deleting @file... && del @file"
robocopy %log_path% %backup%\%date:~0,4%-%date:~5,2% /LOG:backup.log
▍8. 远程管理与维护(14条)
wmic /node:"192.168.1.100" process call create "cmd.exe" # 远程执行命令
psloggedon \\server01 # 查看谁登录了目标服务器(需Sysinternals工具)
shutdown /r /m \\filesvr01 /t 60 /c "计划维护重启" # 远程重启
sc \\dc01 query termservice # 远程查询服务状态
net view \\client-pc # 查看远程计算机共享资源
wmic /user:admin /password:p@ssw0rd /node:SERVER bios get serialnumber # 带凭证远程获取序列号
certutil -urlcache * delete # 清除证书缓存(解决SSL错误)
gpresult /h gp_report.html # 导出组策略结果报告
dcdiag /s:dc01 /v /c /q # 域控制器诊断(AD运维必用)
repadmin /syncall /A /e /q # 强制所有域控制器同步
三、运维实战场景案例解析
场景1:服务器异常关机后的快速检查清单
1. 系统日志定位: eventvwr.msc
查看系统日志中崩溃事件ID2. 磁盘检查: chkdsk /scan /perf
并行扫描不阻塞系统3. 服务恢复: sc query state=inactive
列出未运行服务并手动启动4. 资源监控: perfmon /sys
打开系统性能计数器
场景2:批量创建200台新设备初始化脚本
@echo off
:: 初始化配置脚本 - 适用于Windows 10/11/Server
set hostname=WS-%RANDOM%
wmic computersystem where "name='%COMPUTERNAME%'" call rename name="%hostname%"
netsh advfirewall set domainprofile state off
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f
wmic useraccount where "name='Administrator'" set PasswordExpires=FALSE
四、命令行进阶技巧
1. 强大的管道组合
# 统计当前目录文件数量(按扩展名分组)
dir /b | findstr /v "^[0-9]" | awk -F"." "{print $NF}" | sort | uniq -c
# 实时监控新建文件(可用于入侵检测)
powershell -command "& {Get-ChildItem -Path C:\Windows\Temp -Recurse -Filter *.exe -Force | % { $_.FullName }}"