以前我们看到过一些扩展Windows PowerShell的不同方式。现在我们将学习实际运用这些方法的基础知识。 你也许注意到,在这我跳过了创建插件,因为它需要开发技巧。当然,我们在以后的文章中会更详细的介绍这些模块和高级功能。
函数 函数是Windows PowerShell的基础构件之一,具有从单行到成熟模块多变的复杂性。尽管如此,基本格式和内容仍旧是一样的。 最基本的语法是:函数 <名字> {<代码>} 这个标准的格式包括4个基本构造,分别是参数和3个脚本块或子句——开始、过程和结束。 参数——为函数定义参数。
如果没有提供,这个函数将使用可变的$a……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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供自己使用。通过使用函数、脚本和创建自定义配置文件,在自动环境中你可以沿着这条路奔向天堂。
翻译
相关推荐
-
管理员常用Windows PowerShell命令Top25
即使Windows PowerShell已经由来已久,但很多管理员并不愿意主动熟悉PowerShell cmdlet命令行。随着微软扩展了PowerShell的功能,管理员应该对其功能及使用烂熟于心……
-
巧用PowerShell参数防止操作失误
使用PowerShell自动化操作可以帮助你节省大量的时间——或产生问题。幸运的是,巧用PowerShell参数可以防止发生更改脚本意外。
-
Windows Server 2012 R2下如何处理磁盘故障
Windows管理员可以通过Event Viewer日志、Server Manager报告、SCOM的警告对话框或者Windows PowerShell查询等确定Windows Server 2012 R2中的磁盘故障。
-
Windows Server 2016软件定义存储:Storage Spaces Direct介绍
微软在Windows Server 2016 Technical Preview 2中引入了Storage Spaces Direct。这个特性将本地存储扩展为高可用(HA)存储系统。