批处理在机房管理中的应用

2009-08-12 10:00陶军毅
中小学信息技术教育 2009年8期
关键词:批处理服务端服务器端

陶军毅

由于我长期从事初中信息技术教学和机房管理工作,深知机房管理对信息技术教学的重要性。在学校机房的日常管理和维护中,我经常碰到如下问题。

(1)病毒的问题,如ARP病毒、机器狗病毒等。

(2)系统安全的问题,如修补系统漏洞、关闭危险端口、关闭不安全的服务等。

(3)网络维护的问题,如更换DNS、网关等。

(4)学生作业上交和管理的问题,即如何提交作业,并对他们进行管理。

(5)其他问题,如自动返回学生端信息,以便了解情况。

那么,如何高效地解决这些问题呢?我认为使用批处理可以较好地解决这些问题。批处理是一种脚本语言,具有使用方便、灵活,功能强大,自动化程度高的特点,它由DOS或者Windows系统内嵌的命令解释器(通常是CMD.EXE)解释运行,在语言处理上类同QB,是解释性脚本语言,本文主要介绍机房管理中使用批处理的一些经验。

一、在服务器与客户机之间建立批处理通道

首先在服务端创建一个共享文件夹,共享名为bat$,权限为只读。接下来,在文件夹内创建一个名为start.bat的空文件,以后对学生端进行操作的批处理代码都写在这个文件里,与代码相关的文件也放在这个共享文件夹内。在学生端用VBS脚本调用服务器端的start.bat及相关文件,VBS脚本文件取名为start.vbs并放在学生端的启动组中,或者放在学生端的c:windowssystem32中,接着添加到注册表的启动项中,最后把学生端系统保护起来。start.vbs脚本如下:

dim wsh

set wsh = wscript.createobject("wscript.shell")

wscript.sleep(1000)

ireturn=wsh.run("cmd /c \192.168.3.173at$start.bat",0,true)

set wsh=nothing

wscript.quit

添加到注册表的启动项中的批处理脚本如下:

reg add hklmsoftwaremicrosoftwindows currentversion un /v bat /t reg_expand_sz /d"c:windowssystem32start.vbs" /f

注:192.168.3.173为服务器端IP地址,学生端系统是Windows XP。

二、批处理在机房日常维护中的应用

通过批处理通道,在服务端的start.bat文件中添加下列代码,学生端启动后自动实现下列目标。

1.病毒防御

(1)学生端自动防ARP病毒。

此病毒可致局域网瘫痪,最好的解决办法是“双向绑定”。即路由中绑定学生机的ip-mac,学生机中绑定路由的ip-mac及学生机自身的ip-mac绑定。在服务器端的start.bat文件中添加如下代码。

:: 绑定路由

arp -s 192.168.3.100-1d-0f-3d-71-5c

:: 绑定本机

for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^|findstr /i /c:"physical address"') do (set macself=%%i)

for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^|findstr /i /c:"ip address"') do (set ip=%%i)

arp -s %ip: =%%macself: =%

(2)学生端自动抵御机器狗病毒。

此病毒破坏计算机的还原系统,增加了信息技术课的不确定性。解决的方法是,从360网站下载网吧还原保护器远调版,并解压到bat$dog文件夹,然后设置好返回信息的存放路径,并在服务器端的start.bat文件中添加如下代码:

start “”“\192.168.3.173at$dogGuardField.exe”

2.提高系统的安全性

(1)学生端自动关闭高危的端口。

下载或从安装盘提取微软小工具ipseccmd.exe,放在bat$文件夹里,然后在服务器端的start.bat文件中添加如下代码:

@ echo off

xcopy /y \192.168.3.173at$ipseccmd.exe c:windowssystem32

ipseccmd -w reg -p "blockp" -r "tcp135" -f *+0:135:tcp -n BLOCK-x

ipseccmd -w reg -p "blockp" -r "udp135" -f *+0:135:udp -n BLOCK-x

不同的病毒和木马使用不同的协议和端口入侵,比如MSBlast冲击波蠕虫使用TCP:4899,关闭该端口的方法如下: ipseccmd -w reg -p " blockp " r “tcp4899" -f *+0:4899:tcp -n BLOCK -x 。可以根据实际需要随时关闭高危端口。

(2)学生端自动打系统补丁。

为了增强Windows系统的安全性,须经常打补丁。下载所需补丁后,放在服务端的bat$12文件夹里,并在服务器端的start.bat文件中添加如下代码:

if exist c:12 (rd c:12 /s/q) else (

xcopy /e/y/i 192.168.3.173at$12 c:12

for /r c:12 %%i in (*.exe) do %%i/passive/norestart

shutdown-r)

以上代码能实现补丁的自动安装、安装后自动重启等功能,从而提高了工作效率。

(3)学生端自动删除默认的共享以增加安全性。

::删除每个分区下的默认共享.

for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do(

if exist %%a: ( net share %%a$ /delete) )

::删除 admin$ 默认共享

net share admin$ /delete

::通过注册表禁用Admin$共享,以防重启后再次加载

reg add HKLMSYSTEMCurrentControlSet Serviceslanmanserverparameters /v AutoShareWks /t reg_dword/d 0x00000000 /f

reg add HKLMSYSTEMCurrentControlSet Serviceslanmanserverparameters /v AutoShareserver /t reg_dword/d 0x00000000 /f

三、提高网络维护的效率

学生端自动修改IP地址、子网掩码、网关、DNS、计算机名。

(1)把下列代码保存成批处理文件。机房正常工作时,在服务器端运行此文件,可以收集学生机IP地址和MAC地址。把生成的ip-mac.txt文件存放到服务端的bat$文件夹中。

@echo off &echo正在收集中,请等待……

set "aa=192.168.3."

cd.>c:ip-mac.txt

for /l %%i in (1,1,254) do (ping %aa%%%i -n 1 -w 10)>nul2>nul

(for /f "tokens=1,2 skip=3%%i in ('arp -a') do (if “%%j” neq “00-00-00-00-00-00” echo%%i %%j))>>c: ip-mac.txt

(2)根据学生机的MAC地址,修改学生机的计算机名、IP地址、网关、子网掩码和DNS,在服务器端的start.bat文件中添加如下代码:

setlocal enabledelayedexpansion

for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find /i "physical address"') do set "macself=%%i"

xcopy /y \192.168.3.173at$ip-mac.txt c:

for /f "tokens=1,2" %%i in (c:ip-mac.txt) do (

set ip=%%i

set name=stu!ip:~10!

if /i "%macself: =%" equ "%%j" (

::改学生机的计算机名

reg add "HKLMSystemCurrentControlSetControl ComputerNameActiveComputerName" /v ComputerName /t reg_sz /d !name! /f

reg add "HKLMSystemCurrentControlSet ServicesTcpipParameters" /v "NV Hostname" /t reg_sz /d !name! /f

reg add "HKLMSystemCurrentControlSet ServicesTcpipParameters" /v Hostname /t reg_sz /d !name! /f

::改IP子网掩码 网关

netsh interface ip set address name="本地连接" source=static addr=!ip! mask=255.255.255.0 gateway="192.168.3.1" gwmetric=0

::改DNS

netsh interface ip set dns name="本地连接" source=static addr="221.12.1.228" register=PRIMARY

netsh interface ip add dns name="本地连接" addr="202.96.104.17"

netsh interface ip set wins name="本地连接" source=static addr=none ))

del c:ip-mac.txt /f/q

四、学生端作业的提交和管理

1.用批处理提交作业

很多教师用FTP来接收学生的作业,其实批处理也可实现。在服务端建立一个权限为读取和更改的文件夹,名称为“学生作业$”。在服务器端start.bat添加如下代码:

xcopy/y“\192.168.3.173at$作业提交.bat”d:

其中“作业提交.bat”文件存放在“bat$”中,其代码如下:

@echo off

set /p name1=请输入你的名字:

set name1=%name1%%date:~0,10%

set name2=%name1:-=%

set name2=d:\%name1%

md %name2%

set /p="请把要上交的文件或文件夹存放到% name2%,并按任意键继续。"

xcopy /e/y/i/s %name2%\192.168.3.173学生作业$\%name1% 1>nul && echo 提交成功

pause>nul

2.查找和删除超过指定大小的文件

有些学生可能会上传游戏文件,而这些文件又很大,这时,把下列代码保存成“删除.bat”,并在服务器端直接运行,即可在服务器端查找和删除超过指定大小的文件。

@echo off

setlocal enabledelayedexpansion

for /r F:学生作业\%%i in (*) do (

set /a aa=%%~zi

set /a aa=!aa: =!

echo %%~fi

if!aa! gtr 20000000(

set /p c= %%~fi大于20m要删除吗?删除请输入y:

if !c! == y del /q/f "%%~fi" && echo %%~fi success

))

pause>nul

批处理除了能实现上述功能外,还能解决其他问题,而这些解决方式需要机房管理者不断地探索和挖掘。

(作者单位:浙江慈溪市杭州湾中学)

猜你喜欢
批处理服务端服务器端
Linux环境下基于Socket的数据传输软件设计
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
浅析异步通信层的架构在ASP.NET 程序中的应用
在Windows Server 2008上创建应用
借助批处理 让Cortana变聪明
基于Qt的安全即时通讯软件服务器端设计
基于PSD-BPA的暂态稳定控制批处理计算方法的实现
网页防篡改中分布式文件同步复制系统