PowerShell函数的基本指南与特性
创始人
2024-07-26 08:10:55
0

虽然Windows PowerShell能以多种方式给管理员带来好处,它的扩展性可能是它最重要的属性。这包括PowerShell函数,这些小且简单的任务工具由函数框内的命令组成。运用函数使得调试更简单,也通过让你可以将函数从一个脚本转向另一个来使编写的代码更少。

推荐专题:Windows中的脚本技术-Windows Powershell

那么什么时候PowerShell函数最有用呢?以下是你需要记住的三个基本指南:

  1. 如果你一再地重复相同的代码块,例如在电脑上检查多个服务的代码块。在这里,你可以运用函数来执行检查,在所有服务器上运行它,也可以更高效地检测到代码错误。
  2. 如果你在其它脚本中运用一个专用代码。例如,如果你编写一个递归解析块,你会想要再利用该逻辑。
  3. 如果该代码在脚本之外有用。这和之前的指南有些许不同,好的例子就是ping-server函数。

一般说来,编写代码时考虑再利用常常是个不错的想法,尤其是函数就有再利用的设计时。因此,除违约之外,要考虑函数怎么用、用在哪里能帮助建立它们本该有的参数,这一点很重要。

考虑再利用时,最好是尽最大可能地考虑周全并避免硬编码。此外,编写函数时所有数据都应该通过参数。虽然为参数使用缺省值也说得通,你应该让函数调用者无须修改函数就能指定其它选项。这也是黑箱测试迟早有用的地方,它可以在不同的环境中确定一条函数的可用性。就这一点而言,考虑原始函数的所有变更以及这些变更如何影响脚本整体很重要。举例来说,在PowerShell V1中,我常常试着用我自己的转换器执行verbose和whatif命令。在V2中,这个问题已经解决了。

设计函数时你还应该考虑回环和处理逻辑。例如,如果你有处理服务器的逻辑,那么你应该在函数外部维持该逻辑。没有必要为所有函数调用执行它。另一方面,如果你拥有的逻辑明显是函数域,那么你不需要移除它,只要应用调用脚本就行了。

优秀PowerShell函数的特性是什么?

好的函数都是为特定需求而生然后被弃用,但是所有的好函数都有一些共性。以下是其中的一些特性:

优秀PowerShell函数特性一:定义良好的参数

一条函数需要非常清楚它预期要返回什么数据。你可以通过应用指定参数来完成该过程。如果你显然有指定值要处理,那么确保它在函数中清晰。完成此过程的一个好方法是通过向要求的$ThisParam分配参数的缺省值。

优秀PowerShell函数特性二:一致性和预期输出

你不用猜测函数中会有什么数据,这一点很关键,你宁愿返回的数据是预期的。设计函数所说它返回一种或多种简单数据类型,如线型、日期时间型或布尔运算(Boolean)。但注意,不要用编写输出编写的意外数据或变量中没有抓取的数据污染了这个数据流。

优秀PowerShell函数特性三:独立性

该函数不应该依赖于来自脚本的任何变量。如果这条函数需要从外部输出,把它变成一个参数。

优秀PowerShell函数特性四:可移植性

一条函数最简单重要的职能就是可移植性。如果你没有计划要再利用该代码,你也可以编写内联的代码。可移植性的关键因素是确保你的可变名称不会与调用函数冲突。就这一点而言,你可以用$my或$func给它们做序。

【编辑推荐】

  1. 利用PowerShell缩短SharePoint备份时间
  2. PowerShell与.NET框架之间的点连接
  3. WMI中的Windows PowerShell脚本使用方法
  4. 有关PowerShell脚本你必须知道的十个基本概念
  5. PowerShell与Unix Shell对比:八大实例

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...