利用命令行提升Windows Server 2008管理效率
(2).脚本在Server Core下的应用
Server Core是摒弃Windows Server 2008华丽功能的一个最小安装的服务器版本,Server Core的配置离不开命令行和脚本。在命令行下执行“cd cd c:\windows\system32”来到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 Software\Microsoft\Windows\CurrentVersion\Run”进入系统自启动项下,执行“gp . *”将显示RUN项的属性以及下面的键值,输出结果中前面四个位RUN项的属性,据此管理员可进行进行分析启动项是否正常。其次,比如我们在PowerShell命令行下输入命令“Get-Process | Out-File -FilePath C:\process.txt”及“Get-Service | Out-File -FilePath C:\srver.txt”可将服务器当前的进程及其服务状态输出到文件中,在以后的服务器维护中可作为对比。其实,PowerShell的个完全可替代CMD的工具,通过它几乎可以完成所有的系统操作,深入学习PowerShell对于提高管理效率确实非常有用。(图8)
另外,WinRM也是非常有用的管理工具。使用WinRM进行远程服务器管理,可以减少并不安全而且繁琐的RPC连接,只需要使用HTTP或者HTTPS就可以了,这对于跨越防火墙管理的场景非常有用。首先在命令行下执行“WinRM QuickConfig”
3、获取服务器详细信息
对于服务器来说,管理和监控是并举的。服务器管理者需要随时了解服务器的软硬件情况及其运行状态,在Windows Server 2008中不需要借助第三方工具在命令行下就可实现。
在命令行下执行systeminfo.exe命令,可以看到关于操作系统及其服务器硬件的详细信息,当然systeminfo.exe命令并部署Windows Server 2008所特有的。如果我们要知道服务器中安装的所有msi规范的应用程序,可首先打开命令提示符然后输入命令wmic进入其命令模式,然后执行product命令就会显示你要的结果。如果要卸载安装的某个msi的应用程序,可调用product的uninstall方法,命令格式为WMIC product where name="" call uninstall。当然大家所知的tasklist、net share、net server等都是我们获取服务器信息的命令,其实我们可借用PowerShell中的相关命令获取更加详细的服务器信息。在PowerShell中几乎所有以“get”为前缀的命令都与获取服务器信息相关,比如“get-date”可获取当前系统日期,“Get-EventLog”可获取服务器日志信息,“Get-PSDrive”获取系统分区信息等等。(图10)
总结:服务器管理质量固然重要,但效率也同等重要,它们之间并不矛盾而是互相促进的。作为服务器管理者更多地通过命令来进行管理无疑会极大地提升管理的效率,对于Windows Server 2008这样的服务器平台更是如此。上面仅仅是笔者运用命令行管理服务器的一些经验,更多的技巧需要我们大家在实践中摸索和提高,希望本文对大家有所帮助。
最新评论