打造属于你的Windows PowerShell

日期: 2010-11-15 作者:Brandon Shell翻译:David 来源:TechTarget中国 英文

以前我们看到过一些扩展Windows PowerShell的不同方式。现在我们将学习实际运用这些方法的基础知识。   你也许注意到,在这我跳过了创建插件,因为它需要开发技巧。当然,我们在以后的文章中会更详细的介绍这些模块和高级功能。

函数   函数是Windows PowerShell的基础构件之一,具有从单行到成熟模块多变的复杂性。尽管如此,基本格式和内容仍旧是一样的。   最基本的语法是:函数 <名字> {<代码>}   这个标准的格式包括4个基本构造,分别是参数和3个脚本块或子句——开始、过程和结束。 参数——为函数定义参数。

如果没有提供,这个函数将使用可变的$a……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

以前我们看到过一些扩展Windows PowerShell的不同方式。现在我们将学习实际运用这些方法的基础知识。

  你也许注意到,在这我跳过了创建插件,因为它需要开发技巧。当然,我们在以后的文章中会更详细的介绍这些模块和高级功能。

函数

  函数是Windows PowerShell的基础构件之一,具有从单行到成熟模块多变的复杂性。尽管如此,基本格式和内容仍旧是一样的。

  最基本的语法是:
函数 <名字> {<代码>}

  这个标准的格式包括4个基本构造,分别是参数和3个脚本块或子句——开始、过程和结束。

  • 参数——为函数定义参数。如果没有提供,这个函数将使用可变的$args来传递一组参数给该函数。
  • 开始(脚本块) ——开始用于建立函数。此代码只在函数初始化的时候调用一次。
  • 过程 (脚本块) ——过程用在线程中并被线程的每项来执行。你可以使用“$_”来标示当前项。
  • 结束(脚本块) ——结束很像开始,只运行一次,但相比在初始化过程中被正确执行,在代码结束之前。它也是默认的脚本块,这意味着如果你没有指定任何代码,那么所有的代码就是结束块。

  语法实例:
函数 <名字>
{
     参数()
     # 脚本块
     开始{}
     过程{}
     结束{}
}

  备注:注意{}出现在每段脚本块的后面。代码就包含在其中。例如: Process { Write-Host "Processing element $_" }

  更多详细内容可见Get-Help about_functions

过滤器

  我本来不想提这些,但是我认为不提起会是对读者的伤害。过滤器在Windows PowerShell中用得不多且不必要。它就像是函数但所有代码都像“过程”一样运行。


  同样,更多详细内容可见Get-Help about_functions

脚本

  脚本就是将一个或多个Windows PowerShell命令通过最简单的形式存放到一个后缀名为.psl的文件里。“Hello World”就是关于PowerShell的著名例子,除了能够支持像函数一样的结构以外,它的功能和批处理文件非常类似。事实上,你很容易就能从函数中移除function  {}并把它存储成文件来拥有脚本:

Param($Name)
Begin{"Initializing Script with Parameter $Name"}
Process{" You just passed $_ to me"}
End{" Jobs done… lets cleanup"}

  更多详细内容可见Get-Help about_functions

配置文件

  配置文件基本上就像是一个Windows PowerShell脚本,每次PowerShell启动时都会运行。它也像以前的autoexec.bat。我们以前已经讨论过Windows PowerShell里的配置文件,我不再重复。我将让你了解到一个鲜为人知的事实:PowerShell有一个内置变量,可以更精确地为你定位包装。这可以用来创建和编辑你的配置文件:

  • $Profile——这个内置变量包含配置文件的位置信息。它包括下面将讨论的4个有用属性。
  • $Profile.AllUsersAllHosts ——包括所有PowerShell主机上所有用户 配置文件(全局)的位置。
  • $Profile.AllUsersCurrentHost——包括当前PowerShell主机上所有用户配置文件(全局)的位置信息。
  • $Profile.CurrentUserAllHosts ——包括所有PowerShell主机上当前用户的配置文件位置信息。
  • $Profile.CurrentUserCurrentHost——包括当前PowerShell主机上当前用户配置文件的位置信息。

  总得来说,你可以通过多种方式来自定义并扩展Windows PowerShell供自己使用。通过使用函数、脚本和创建自定义配置文件,在自动环境中你可以沿着这条路奔向天堂。

翻译

David
David

相关推荐