Windows Server 2008的管理利器( 二 )


2、快速配置服务器组件
服务器的配置不仅仅是技术活 , 有的时候也是体力活 。服务器管理员如何实现服务器的快速配置 , 以提升工作效率自我解放呢?善用命令和使用脚本这是一套立竿见影的解决方案 , 下面笔者列举几个实战案例 。
(1).配置防火墙
防火墙配置是服务器安全部署的重要方面 , 也是一项比较繁琐的工作 。特别对于Windows Server 2008这样的服务器平台 , 它的系统防火墙功能是非常强大的并且可配置项非常多 。下面和大家分享几个实用的命令以及一个配置案例 。
打开命令提示符输入输入命令“netsh firewall show state”然后回车可查看防火墙的状态 , 从显示结果中可看到防火墙各功能模块的禁用及启用情况 。命令“netsh firewall set opmode disable”用来禁用系统防火墙 , 相反命令“netsh firewall set opmode enable”可启用防火墙 。(图5)

接下来我们通过命令行进行防火墙配置 , 以实现允许访问文件和打印共享以及DNS查询 。打开命令提示符输入命令“netsh firewall add portopening UDP 53 DNS-Server”然后回车 , 命令执行后服务器就能够响应客户端的DNS查询请求 , 并为其提供DNS服务了 , 很简单一个命令搞定 。下面我们通过命令实现客户端可通过文件和打印共享访问服务器 , 分别输入并执行如下命令:“netsh firewall add portopening UDP 137 Netbios-ns”(允许客户端访问服务器UDP协议的137端口)、“netsh firewall add portopening UDP 138 Netbios-dgm”(允许访问UDP协议的138端口)、“netsh firewall add portopening TCP 139 Netbios-ssn”(允许访问TCP协议的139端口)、“netsh firewall add portopening TCP 445 Netbios-ds”(允许访问TCP协议的445端口) 。命令执行完毕后 , 文件及打印共享所须的端口都被防火墙放行了 , 我们从客户端访问试试果然成功 。上面的命令虽然比较多 , 但格式类似也是非常好记的 。(图6)
(2).脚本在Server Core下的应用
Server Core是摒弃Windows Server 2008华丽功能的一个最小安装的服务器版本 , Server Core的配置离不开命令行和脚本 。在命令行下执行“cd cd c:windowssystem32”来到system32目录下 , 输入“cscript SCregEdit.wsf /di”然后回车 , 就会把所有常见的配置Server Core的命令全部列出 , 而不需要管理员自己摸索 。其中 , SCregEdit.wsf是Server Core特有的脚本 , 它有很多参数供管理员使用 。输入“Cscript slmgr.vbs -dlv”可显示服务器的授权状态 。假如我们要在Server Core下启用远程桌面 , 可首先打开命令跳转到system32路径下然后执行命令“cscript SCregEdit.wsf /Ar 0”启用远程桌面 。接下来需要配置防火墙打开远程桌面使用的端口 , 执行命名“netsh firewall add portopening TCP 3389 Remote-Desktop”即可 。脚本是Server Core中非常有用的资源 , 大家应该好好去挖掘和利用 。(图7)
(3).其他脚本和命令行工具
在Windows Server 2008中还有一个强大的命令行工具PowerShell , 它远比CMD强大对服务器系统的可操作性更多 。默认情况下PowerShell功能组件并没有安装 , 我们可在命令行下通过
ServerManagerCmd.exe命令来安装 , 即运行“ServerManagerCmd.exe -install PowerShell”即可 。安装完成后执行“开始”→“所有程序”→“Windows PowerShell 1.0”→“Windows PowerShell”即可运行PowerShell 。运行“get-command | more”和获得所有的PowerShell命令并以分屏显示 。PowerShell的命令包括两部分 , 非常具有可读性 , 管理员可同名命令名称猜到该命令的作用 。比如我们要在PowerShell访问注册表 , 可执行“cd -path hklm:”可进入注册表HKEY_LOCAL_MACHINE主键路径下 , 继续执行“dir”显示HKLM主键下的各子键 , 执行“cd SoftwareMicrosoftWindowsCurrentVersionRun”进入系统自启动项下 , 执行“gp . *”将显示RUN项的属性以及下面的键值 , 输出结果中前面四个位RUN项的属性 , 据此管理员可进行进行分析启动项是否正常 。其次 , 比如我们在PowerShell命令行下输入命令“Get-Process | Out-File -FilePath C:process.txt”及“Get-Service | Out-File -FilePath C:srver.txt”可将服务器当前的进程及其服务状态输出到文件中 , 在以后的服务器维护中可作为对比 。其实 , PowerShell的个完全可替代CMD的工具 , 通过它几乎可以完成所有的系统操作 , 深入学习PowerShell对于提高管理效率确实非常有用 。(图8)

推荐阅读