Windows服务器基础运维

1 DOS命令行窗口

1.1 概念

1
2
3
4
5
1.什么是命令行?
命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序。

2.什么是DOS?
DOS(Disk Operation System 磁盘操作系统),DOS系统目前已经没有什么人使用了,但是dos命令却依然存在于我们使用的windows系统之中。大部分的DOS命令都已经在Windows里变成了可视化的界面,但是有一些高级的DOS命令还是要在DOS环境下来执行。所以学习命令行对于我们熟练操作Windows系统是很有必要的。

1.2 打开方式

1
2
3
4
5
6
7
1.win + r 输入cmd
2.搜索 输入cmd
3.我的电脑 路径 输入cmd

如何让cmd窗口具备管理员权限
1.搜索 cmd 右键 管理员运行
2.win + r 输入cmd ctrl+shift+回车

1.3 命令类型

1
2
3
- 字符串
内部命令 --- 系统本身存在的命令 --- ipconfig hostname
外部命令 --- 程序外加的用法 --- sqlmap.py -u url地址

2 Windows运维常用命令

1
2
3
4
注意点:
1.不区分大小写
2.上下键查看"历史命令"
3.帮助手册 --- ipconfig /?

系统相关信息

1
2
3
4
5
ver  查看内核版本
systeminfo 查看系统的详细信息
whoami 显示当前登录的用户
hostname 主机名
query user 查看系统正在使用的用户

网络相关

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ipconfig             显示网络信息
/all 显示完整配置信息。
/release 释放指定适配器的 IPv4 地址。
/renew 更新指定适配器的 IPv4 地址。
/flushdns 清除 DNS 解析程序缓存。

netstat -ano 查看开放端口
-a 显示所有连接和侦听端口。
-n 以数字形式显示地址和端口号。
-o 显示与每个连接关联的拥有进程ID。
+ 判断系统中是否会存在可疑的监听程序
- ESTABLISHED 已建立连接 --- PID找到进程

| --- 管道符 --- 前面的输出内容作为后面的输入内容
find/findstr 筛选
- 例子:netstat -ano | find "4600"

tasklist 查看进程
- tasklist | find "4600" 筛选4600的进程信息
- tasklist /fi "PID eq 4600" 筛选4600的进程信息

taskkill 杀死进程
taskkill /PID 568 /T /F
taskkill /IM explorer.exe /T /F
- explorer.exe 桌面进程
/PID processid 指定要终止的进程的 PID。使用 TaskList 取得 PID。
/IM imagename 指定要终止的进程的映像名称。通配符 '*'可用来指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。


ping 测试通信
- TTL --- 生存时间 --- 网络(避免环路) 安全(大致判断操作系统的版本)
操作系统 TTL
Windows 95/98 32
Windows 7 128
Windows 2000 128
Windows server 2008 128
Windows 10 128
Linux 64或255
Unix 255
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
修改TTL
- netsh interface ipv4 set global defaultcurhoplimit=255 --- 修改自身的TTL值

图形化 --- 自行百度学习

死亡ping
ping -l 65500 192.168.137.134 -t
-l 字节大小
-t Ping 指定的主机,直到停止。若要停止,请键入 Ctrl+C。

tracert www.baidu.com 遍历数据包传输路径上的所有路由器

nslookup www.taobao.com 域名解析

route print 查看路由表
route ADD 10.10.10.0 MASK 255.255.255.0 192.168.1.2 临时添加
需要访问的路由 掩码 下一跳
route -p ADD 10.10.10.0 MASK 255.255.255.0 192.168.1.2 永久添加
route delete 10.10.10.0 删除路由信息

最基础的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
cd 切换目录
.. 上一级
. 当前目录

+ 路径
绝对路径:从盘符出发
- cd /d D:\xxx\xxx\xxx\xxx\xxxx\
- cd /d "D:\xxx\x xx\xx x\xx x\xxxx\"
相对路径:从当前目录出发
- cd Desktop\

dir 查看当前目录下的内容


- 创建、删除文件
> 重定向
>> 追加重定向
* 通配符

echo 123 > 2.txt //创建文件
echo 456 >> 2.txt //追加内容
type 文件名 //查看文件的内容
del 文件名 //删除文件
del 目录名 //删除该目录下所有文件
/Q 安静模式。删除全局通配符时,不要求确认

- 创建、删除目录
mkdir/md 目录名 //创建目录
mkdir/md 1\2\3 //创建多级目录
rmdir/rd 目录名 //删除空目录
rmdir/rd /s /q 目录名 //删除目录
/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认

- 移动、复制、重命名
move 文件名 目录名 //移动文件
copy 旧文件名 新文件名 //复制
ren/rename 旧文件名 新文件名 //重命名

3 Windows常用服务命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
compmgmt.msc:计算机管理
devmgmt.msc:设备管理器
eventvwr.msc:事件查看器
- 日志
services.msc:服务
- 服务相关信息
+ 命令控制服务:net start 服务 //启动服务 | net stop 服务 //停止服务
+ 控制启动类型:start值 --- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VMnetDHCP
Start的值设置为0,则驱动由启动引导器加载, “随着开机,最先启动”
Start的值设置为1,则驱动由操作系统的I/0子系统加载,即在系统内核初始化时加载;
Start的值设置为2,则驱动/服务在启动后自动加载;
Start的值设置为3,则驱动/服务就是按需手动加载;
Start的值设置为4,驱动/服务就是被禁用的状态。


lusrmgr.msc:本地用户和组
- 系统中用户和组信息
gpedit.msc:本地组策略编辑器
- 域环境
secpol.msc:本地安全组策略
- 密码策略、账户登录策略等等
regedit:注册表
注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。
- 根键 --- 项 --- 键值
注册表包括以下5个根键
1.HKEY_CLASSES_ROOT
说明:该根键包括启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,类ID
编号和应用程序与文档的图标等。
☆2.HKEY_CURRENT_USER
说明:该根键包括当前登录用户的配置信息,包括环境变量,个人程序以及桌面设置等
☆3.HKEY_LOCAL_MACHINE
说明:该根键包括本地计算机的系统信息,包括硬件和操作系统信息,安全数据和计算机专用的各类软件设置信息
4.HKEY_USERS
说明:该根键包括计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问。这些信息告诉系统当前用户使用的图标,激活的程序组,开始菜单的内容以及颜色,字体
5.HKEY_CURRENT_CONFIG
说明:该根键包括当前硬件的配置信息,其中的信息是从HKEY_LOCAL_MACHINE中映射出来的。

4 批处理文件

1
2
3
4
5
6
7
8
全称batch脚本 --- 批处理文件 --- bat脚本 --- Windows系统默认支持的脚本语言
基本格式:
1.后缀 --- .bat / .cmd
2.编码 --- ANSI
3.框架
@echo off //关闭终端回显
内容
pause //暂停
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
1)启动/停止服务脚本
- 技术点 --- net start 服务 //启动服务 | net stop 服务 //停止服务
@echo off
net start "VMware NAT Service"
pause

- 优化
1.title 标题
2.cls 清屏
3.goto demo / :demo --- 跳标签(简单循环)
4.color 颜色
5.echo./echo, --- 空行
6.变量:
set A=123 --- echo %A%
set /p A=请输入要管理的服务名称: ---- 请输入要管理的服务名称:demo
7.if语句
if /i "%choice%"=="1" goto ip
/i 忽略大小写
8.:: / rem 注释

2)清理临时文件脚本
- 技术点:del
- 需求目标 --- Windows临时文件:文件后缀.tmp/临时文件路径 %tmp%
del /f /s /q 文件
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认

3)定时备份脚本
定时 --- 任务计划程序
- 任务计划程序(taskschd.msc) ---》创建基本任务 ---》名称 ---》选择 何时开始 ---》日期 时间 --》执行程序 ---》选择脚本 ---》完成 ---》双击 勾选 最高权限运行
备份目标 --- 日志文件 --- C:\Windows\System32\winevt\Logs --- 日志文件后缀 .evtx
copy C:\Windows\System32\winevt\Logs\*.evtx 对应的目录



- 参考模板 --- 自行研究
:: 时间参数定义
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%"
:: 判断备份文件夹是否存在,如果不存在则创建
if not exist "C:\windows_log_bak\bak_%Y%-%m%-%d%_%h%时\" (mkdir "C:\windows_log_bak\bak_%Y%-%m%-%d%_%h%时\")
:: 使用xcopy命令复制文件夹(文件)执行备份操作
xcopy /E /I /Y /H "C:\Windows\System32\winevt\Logs" "C:\windows_log_bak\bak_%Y%-%m%-%d%_%h%时\"
:: 打印备份完成消息
echo 备份完成!!!!
echo.
1
2
3
4
5
6
7
自启动
- 系统路径:C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup --- 文件放进目录
- 注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(计算机)
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(用户)
图形化: 新建 字符串值 填写数值数据(脚本的路径)
命令:reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v demo /t REG_SZ /d C:\Users\Administrator\Desktop\3389.bat