基于PowerShell的公共机房管理探索
2015-01-17郭海智
郭 亮 郭海智 谢 光
(三亚学院理工学院,海南 三亚 572022)
基于PowerShell的公共机房管理探索
郭 亮 郭海智 谢 光
(三亚学院理工学院,海南 三亚 572022)
提高公共机房的快速反应能力是机房管理面临的重要问题。第三方管理软件的使用提高了运营成本并延长了解决问题的时间。本文以全国计算机等级考试环境为例,利用PowerShell快速完成各种设置而无需考虑操作系统各种版本,满足公共机房的大部分管理工作需要并节省了人力物力。
公共机房管理;PowerShell;脚本编程
1 引言
高校公共机房的管理工作繁重,除满足正常教学要求外还需支持各类培训及职称证书的机考工作。在确保硬件稳定和时间紧迫的前提下进行系统切换及各类软件、用户的设置的工作量大且容易出错。从2006年开始发布的Power-Shell是Microsoft提供的新一代强大系统管理工具,Windows操作系统所有版本及一些大型系统软件,如IIS、SQL、Exchange、Oracle等,都提供对其的良好支持。本文在不使用任何三方软件的基础上,以全国计算机等级考试环境设置为例,利用该技术完成绝大部分自动化配置工作。
2 实施要求及前期准备
全国每年2次的NCRE考试,对软件环境的设置是比较繁琐的。要求每台考试机有唯一的Kxx用户并具备管理员权限,需设置好到服务器的K盘映射。另外从机房管理上还需按物理位置对机器编制IP和主机名。
考试机系统安装好.Net平台及Windows管理框架包并配置,启动DHCP客户端服务。管理员用户设置统一密码。建立镜像,网络广播整个考试机房。服务器Windows Server 2003以上系统,安装.Net平台及Windows管理框架包并配置,启动DHCP服务。通过DCHP服务获取考试机网卡地址,据此按管理设置产生如下配置文件maclist.txt。
表1 配置文件maclist.txt
3 具体实现
整体思路为考试机开机后服务器扫描网段产生当前考试机列表,分发脚本和配置参数到各考试机执行各项配置。
(1)设置ip hostname username
读取maclist配置文件,产生全局hashtable变量(其中$hhostnametouser为后续所需)
(2)测试连通性,产生macok列表文件为后续快速连接提供依据
(3)发送脚本及相关参数使考试机并行处理,传输完毕后删除该后台任务
(4)考试机收到setinfo脚本和参数后执行各类设置
#获取机器名
#添加用户并设置权限
#设置新用户为默认登录
New-ItemProperty-path"HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon"-name Default-Password-PropertyType String-value""|Out-Null
Set-ItemProperty-path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -name DefaultUserName-value$newusername
#修改机器名及IP,并重启动使各类设置生效
$computerinfo.rename($newpcname)|Out-Null
$nic.EnableStatic([string[]]$newip,"255.255.255.0")
$nic.SetGateways($network+".1")
Restart-Computer-force
(5)产生映射盘
#建立客户机执行脚本setshare.ps1
#获取已经登录的用户sid(考虑到考试机有多帐号设置,需找到对应的考试机用户名)
#添加共享
#用前期扫描的mac列表获得当前IP,发送脚本及参数
4 结束语
上述运用体现了powershell的部分功能:文件操作,利用WMI获取信息,管道操作,后台任务控制,远程操作,正则表达式,hashtable类型,多项系统操作。该方法无需三方软件的支持,无需考虑微软操作系统版本,只需在服务器端运行脚本即可完成所有设置,比以往采用的人工方法明显高效、安全。该技术的引入有利于提升公共机房管理的效率并降低管理成本。
[1]唐猛,朱瑾.NCRE机试考务管理研究与实践[J].云南大学学报(自然科学版),2011(S1):294-297.
[2]Lee Holmes.windows powershell cookbook,3rd edition[M].O’reilly Media,2012.
[3]Don Jones,Richard Siddaway,Jeffery Hicks.PowerShell in Depth [M].Manning Publications Co.2013.
Exploration on the Public Computer Room Management Based on PowerShell
Guo Liang Guo HaizhiXie Guang
(Sanya University,Sanya 572022,Hainan)
It is an important problem to improve the response ability in the management of public computer room.The application of the third party management software increases the operating costs and extends the time to solve the problem.Taking the national computer grade examination as an example,PowerShell is used to complete a variety of settings quickly without considering operating system versions,to meet the needs of most public computer room management and save the manpower and material resources.
public computer room management;PowerShell;script programming
TP39
A
1008-6609(2015)10-0085-03
郭亮,男,重庆人,硕士,讲师,研究方向:计算机网络。