巧用PowerShell维护Win2008服务器作业 |
发布时间: 2012/7/12 10:54:33 |
在日常工作中,管理员经常需要与操作系统进行交互。虽然交付的方式有很多种,对于对于服务器的维护来说,通过PowerShell来进行交互,是首选的方式。通常情况下,PowerShell可以提供强大的本地脚本语言。也即是说,脚本可以被移植到所有巴本的Windows操作系统中。由于大部分企业并不是很纯的2008应用环境。如可能只有一个域控制使用的是2008操作系统,其他服务器以及客户端采用的是其他低版本的操作系统,甚至采用的是非Windows操作系统。在这种情况下,通过PowerShell对应用环境进行维护,是首要的选择。在这篇文章中,笔者就谈谈这个PowerShell工具的使用技巧。
一、cmdlet来实现自定义的功能。 Cmdlet是Powershell的核心工具之一。这个工具跟传统的CLI Shell有点类,也是一种内置的命令。不过在可扩展性方面有本质的不同。Cmdlet通过将NET类编译为动态链接库,并在实际运行时加载到PowerShell工具中来实现。这也就是说,其实并没有固定的Cmdlet类。只要管理员有这个能力并且拥有相关的权限,就可以使用PowerShell的软件开发包来编写自定义的Cmdlet,从而实现自定义的功能。 由于不同的企业其应用环境千差万别。为此系统工程师往往可以通过这个工具来编写一些常用的管理命令。在需要使用时,直接调用即可。而不需要重新编写。对于一些带有很多参数的命令,或者命令脚本,就显得非常的方便。在使用这个功能时,笔者认为管理员需要注意如下内容。 一是语法上面的问题。Cmdlet始终以动词和名词来进行命名。注意,在动词与名词之间有连字符号来进行分隔。通常情况下,动词说明这个命令所需要执行的操作,而名词则代表的是操作的对象。举一个简单的例子:get-process。get是动词,表示取得;而Process是操作的对象,表示进程。 二是参数的问题。跟普通的CMD命令一样,在PowerShell中也可以带一些参数,来实现特定的功能,或者对显示的结果进行过滤。在实际工作中,通过参数可以简化显示的结果。而且PowerShell在参数这方面的功能比较强大,如其中的很多参数还可以使用通配符。如Get-Process W*。这表示显示所有以W开头的进程。 三是需要注意Cmdlet工具的一个局限性。当Cmdlet在执行命令时,一次只执行一个单独的命令。如果某个功能(如将某个文件复制到其他一个地方,然后再对这个原文件进行重命名)可能需要通过多个动作来完成,此时必须要通过两个命令来完成。不过有些功能的动作有可能有十几个命令构成,此时如果使用Cmdlet来实现的话,并不是很合适。在这种情况下,可能需要用到我们下面要介绍的脚本功能。 本文出自:亿恩科技【www.enkj.com】 |