
Windows 服务器基础运维
本文最后更新于 2024-10-09,文章内容可能已经过时。
🔳DOS 命令行窗口
🎈概念
💡什么是命令行?
命令行就是在 Windows 操作系统中打开 DOS 窗口,以字符串的形式执行 Windows 管理程序。
💡什么是 DOS?
DOS(Disk Operation System 磁盘操作系统),DOS 系统目前已经没有什么人使用了,但是 dos 命令却依然存在于我们使用的 windows 系统之中。大部分的 DOS 命令都已经在 Windows 里变成了可视化的界面,但是有一些高级的 DOS 命令还是要在 DOS 环境下来执行。所以学习命令行对于我们熟练操作 Windows 系统是很有必要的。
🎈打开方式
-
win+r 输入 cmd
-
在我的电脑的文件路径输入 cmd
-
在 Windows 搜索框中搜索 cmd
🎈命令类型
-
内部命令:就是内部存在
-
外部命令:就是程序外加用法
👨💻Windows 运维常用命令
注意点:
-
不区分大小写
-
上下键查看历史命令
-
/? 或 /help 查看帮助手册
-
格式:[命令] [参数列表]
🎈常用内部命令
💡系统相关
ver 查看系统版本
hostname 查看主机名
whoami 查看当前登录的用户
💡网络相关
ipconfig 查看网络配置
ipconfig /all 显示详细信息
ipconfig /release 释放指定适配器的 IPv4 地址
ipconfig /renew 更新所有适配器
ipconfig /flushdns 清除 DNS 解析程序缓存
netstat -ano 查看开放端口
ping --- 测试通信
TTL值 --- 存活时间 --- 判断操作系统类型
TTL 操作系统
255 Unix
128 Windows NT / 2000
64 Windows 7 / Linux
32 Windows 95/98
修改TTL值:
打开 regedit 注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters
找到键值 “DefaultTTL” 名称 ---》 创建 Dword 32位 --》 十进制 255 ---》 重启
ping 192.168.137.132 -t -l 65500 死亡ping
tracert 能够遍历到数据包路径上的所有路由器
nslookup 解析域名
💡文件相关
切换目录:
cd 切换目录
cd 目录路径 //切换路径
相对路径:从当前目录出发
cd desktop
绝对路径:从根目录(盘符)出发
cd C:\Users\int_and_d\Desktop
cd /d E:\demo
cd .. 切换上一级
cd . 切换到当前目录
cd ..\..\ 切换上一级的上一级
dir 查看当前目录下的内容
创建、删除目录:
md 目录名 //创建目录
mkdir 目录名 //创建目录
md 1\2\3 //创建多级目录
mkdir 1\2\3 //创建多级目录
rd 目录名 //删除目录
rd /s /q 目录名 //删除目录树,并不会询问
rmdir 目录名 //删除空目录
创建、删除文件:
> 重定向符
>> 追加重定向符
* 通配符
echo 123 > demo.txt //创建带有内容的文件
type nul > demo1 //创建空文件
type 文件名 //查看文件的内容
echo 内容 >> demo.txt //追加内容
del 文件名 //删除文件
del 目录名 //删除当前目录下的所有文件
/q 安静模式,不会询问
移动、复制和重命名:
move 文件名 路径 //移动
move 旧文件名 新文件名 //移动并重命名
ren 旧文件名 新文件名 //重命名
rename 旧文件名 新文件名 //重命名
copy 旧文件名 新文件名 //复制文件
copy 文件1 + 文件2 文件3 //将文件1和2的内容合并为3
copy 目录名 文件名 //将目录下的所有文件进行合并
💡进程相关
查看进程:
tasklist //查看进程
tasklist | find "4412" //筛选内容
tasklist | findstr "4412" //筛选内容
taskkill /PID 数字 /F /T
taskkill /IM 进程名 /F /T
explorer.exe //桌面进程
winlogon.exe //登录界面的进程
💡用户相关
net user 用户名 //查看系统存在哪些用户
net user 用户名 密码 /add //创建用户
net user 用户名 /del //删除用户
net user 用户名 /active:yes //启用用户
net user 用户名 /active:no //禁用用户
net user 用户名 密码 //修改密码
net localgroup //组信息
net localgroup 组名 //查看对应组信息
net localgroup 组名 /add //创建组
net localgroup 组名 /del //删除组
net localgroup 组名 用户名 /add //将用户加入到组
net localgroup 组名 用户名 /del //将用户从组中删除
net stop 服务 //关闭服务
net start 服务 //启动服务
net start //查看开启了哪些服务
🧰Windows 常用服务命令
lusrmgr.msc --- 本地用户和组
compmgmt.msc --- 计算机管理
eventvwr.msc --- 事件查看器 --- 日志
services.msc --- 服务
start值 --- 关联服务的状态
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services ---- 服务
找到需要修改的服务 --- 改 start键值
Start的值设置为0,则驱动由启动引导器加载,“随着开机,最先启动”
Start的值设置为1,则驱动由操作系统的I/0子系统加载,即在系统内核初始化时加载;
Start的值设置为2,则驱动/服务在启动后自动加载;
Start的值设置为3,则驱动/服务就是按需手动加载;
Start的值设置为4,驱动/服务就是被禁用的状态。
gpedit.msc --- 本地组策略编辑器
secpol.msc --- 本地安全组策略
regedit --- 注册表 --- Windows核心数据库 --- 五个键值 --- 文件夹图标 项 --- 键值
HKEY_CLASSES_ROOT:启动应用程序所需的全部信息
☆HKEY_CURRENT_USER:当前登录用户的配置信息,仅对当前用户生效
☆HKEY_LOCAL_MACHINE:本地计算机的系统信息,仅对当前主机生效
HKEY_USERS:计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问
HKEY_CURRENT_CONFIG:当前配置的文件信息
📄批处理文件
全称 batch 脚本,也称批处理文件,是 Windows 默认支持的脚本语言,也有另外称呼 dos 编程
后缀是.bat --- 保存 ANSI 编码
@echo off
内容
pause
- echo off 关闭终端显示
- @ 关闭当前行的显示
- pause 暂停
定时备份脚本 -
Windows 日志文件 --- 什么是日志文件?路径? --- C:\Windows\System32\winevt\Logs 路径 --- 文件 .evtx 后缀
@echo off
:: 时间参数定义
set "Y=%date:~,4%"
set "m=%date:~5,2%"
set "d=%date:~8,2%"
set "h=%time:~,2%"
set "mi=%time:~3,2%"
set "s=%time:~6,2%"
- set //设定变量
- %date% 日期 %time% 时间
- 字符串截取
a=bbs.verybat.cn
%a:~1,2% =“bs” 偏移量 1,从第二位开始向右取 2 位
%a:~-3% =“.cn” 偏移量负 3,即倒数 3 位(也可理解为留下右边 3 位),右取全部
%a:~3% =“.verybat.cn” 偏移量 3(也可理解为去掉左边 3 位),右取全部
%a:~0,-3% =“bbs.verybat” 偏移量 0,右取长度至负 3,即倒数 3 位
%a:~2,-3% =“s.verybat” 偏移量 2,右取长度至负 3,即倒数 3 位
:: 判断备份文件夹是否存在,如果不存在则创建
if not exist "C:\windows_log_bak\bak_%Y%-%m%-%d%_%h%时\" (mkdir "C:\windows_log_bak\bak_%Y%-%m%-%d%_%h%时\")
- if判断语句
- if /?
:: 使用xcopy命令复制文件夹(文件)执行备份操作
xcopy /E /I /Y /H "C:\Windows\System32\winevt\Logs" "C:\windows_log_bak\bak_%Y%-%m%-%d%_%h%时\"
- copy 旧目录名 新目录名
- xcopy
/E 复制目录和子目录,包括空目录和空子目录。
/I 如果目标不存在,且正在复制多个文件,
则假定目标必须为目录。
/Y 取消提示以确认要覆盖
现有目标文件。
/H 同时复制隐藏文件和系统文件。
- "C:\Windows\System32\winevt\Logs" --- 需要备份的目录名
:: 打印备份完成消息
echo 备份完成!!!!
echo.
echo 正在执行删除180天前文件...
:: 开始执行删除180天前的文件
forfiles /p "C:\windows_log_bak" /s /m *.* /d -180 /c "cmd /c if @isdir==FALSE (echo Deleting @path & del @path)"
echo.
- forfiles
/P 表示开始搜索的路径。默认文件夹是当前工作的目录 (.)。
/M 根据搜索掩码搜索文件。默认搜索掩码是 '*'。
/S 指导 forfiles 递归到子目录。像 "DIR /S"。
/D 选择文件,其上一次修改日期大于或等于(+),或者小于或等于 (-) 用 "yyyy-MM-dd" 格式指定的
/C 表示为每个文件执行的命令。命令字符串应该用双引号括起来。
删除空目录
echo 正在检查是否存在空文件夹...
:: 设置需要检查的目录
set TARGET_DIR=C:\windows_log_bak
:: 遍历目录下以 bak_ 开头的文件夹
for /d %%i in ("%TARGET_DIR%\bak_*") do (
dir "%%i" | findstr ".evtx" > nul
if errorlevel 1 (
echo 正在删除 %%i 文件夹..
rd "%%i"
) else (
echo %%i 该文件夹不为空,skipping...
)
)
- for循环
- errorlevel --- 返回上个命令执行的结果,为正确 0 ,为错误 非 0。
endlocal
- 结束该命令前所赋予的变量值
2)清理临时文件脚本
- Windows的临时文件 --- 什么是临时文件 --- 临时文件的后缀是什么
- QQ/微信/Google 等等 临时文件 --- 它们对应的临时文件是什么
del /f /s /q 文件
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
title //修改窗口的标题
echo. //空行
rem 和 :: //注释符
%userprofile% // %名称% --- 变量
- 预定义变量 --- 默认存在的
- 设置变量 --- 自己动手配置的
3)定时启动/停止服务脚本
net start 服务
net stop 服务
@echo off
net start server
@echo off
net stop server
定时操作:
1. 先准备脚本
2. 任务计划程序(taskschd.msc)
创建基本任务 --- 名称 --- 希望该任务启动的时间 --- 启动程序 ---- 选择脚本 --- 完成之后 双击点开任务程序 勾选 最高权限运行
远程连接:
Windows 远程连接方式 --- RDP 服务 --- 3389
netstat -ano // 查看端口号
打开 3389 端口 --- 开始 搜索 remote --- 允许远程访问您的计算机 --- 允许任意.....
连接虚拟机 --- 物理机 mstsc 远程连接窗口 --- 要想连接成功 对应的用户必须是需要密码