小赵是一家外企的市场部经理,他发现内务部电脑的杀毒软件和财务的杀毒软件始终是红色状态,于是他咨询了企业IT小袁
小袁作为IT部门负责人,他告诉小赵财务部和内务部的电脑是不允许上外部网络的,所安装的是微软正版杀毒软件Microsoft Security Essentials,需要连接互联网才能更新。
实施脚本前
于是小袁开始考虑,如何让局域网中没联网的计算机也能够顺利更新到最新病毒库?
方案1:手动下载好文件复制到服务器共享目录,然后利用组策略做安装包推送到客户端
这种方案在网管小袁的脑袋中一闪而过,如果天天下载更新包那样成本会很高,也不是一种有效的解决方案,于是小袁视图尝试利用vbs脚本来进行自动下载,可是服务器将写好的VBS脚本作为下载木马直接删除了,于是方案一失败
方案2:使用强大的powershell作为脚本来实现
小袁想起Server2008默认内置了Powershell何不尝试一下Powershell强大的魅力所在呢?
于是小袁开始规划2个脚本
一个在服务器端运行,自动下载脚本:Server.PS1
一个在客户端运行的离线更新脚本:Client.PS1
利用.NET语言$www=New-Object System.Net.WebClient可以使计算机能够像从IE中下载一样下载互联网上的文件
所以根据这个原理网管小袁迅速编辑出了脚本,使其可以在自己的电脑上快速的将服务器端的病毒库更新
Server.PS1源代码
$source="http://download.microsoft.com/download/DefinitionUpdates/mpam-fe.exe"
$destination="D:\mpam-fe.exe"
$www=New-Object System.Net.WebClient
$www.DownloadFile($source, $destination)
net use z: \\server\hotfix /user:admin “admin”
xcopy d:\mpam-fe.exe z:\ /y
net use z: /del
服务端脚本执行思路分析
脚本第一行:描述了Microsoft Security Essentials离线下载地址
脚本第二行:描述了病毒库的目的地址假设为网管小袁的D分区
脚本第三行:调用浏览器下载指令
脚本第四行:将病毒库下载到目的地址
脚本第五行:将服务器Hotfix的共享映射到本地Z盘
脚本第六行:将本地的Microsoft Security Essentials离线更新包上载至服务器
脚本第七行:断开网络驱动器完成更新
这样利用这个脚本网管小袁可以在无任何窗口提示的情况下轻松将Microsoft Security Essentials离线更新包上载至服务器
这时网管小袁就要开始考虑如何将客户端的电脑也通过强大的Powershell来同步更新呢?
Client.ps1源代码:
net use z: \\server\hotfix /user:user "user"
copy-item z:\mpam-fe.exe d:\mpam-fe.exe
d:\mpam-fe.exe
net use z: /del
客户端脚本执行思路分析
脚本第一行:利用UNC将服务器Hotfix目录映射到本地Z盘
脚本第二行:复制服务器上Microsoft Security Essentials到本地D盘
脚本第三行:执行Microsoft Security Essentials离线更新包
脚本第四行:断开服务器hotfix共享目录等待其病毒库完成更新
最后使用组策略将其推送到企业客户端下执行开机脚本Powershell.exe client.ps1
实施脚本后内务部和财务都能顺利更新病毒库,赵经理非常满意,而且在脚本运行的时候没有可视化界面非常方便!
实施策略后
本文出自 “袁伟烨IT技术” 博客,转载请与作者联系!