Welcome 微信登录

首页 / 编程脚本

PowerShell函数中使用$PSBoundParameters获取输入参数列表实例

PowerShell函数中使用$PSBoundParameters获取输入参数列表实例

本文介绍在自定义PowerShell函数时,有一个$PSBoundParameters的变量可以获取到输入参数列表。获取输入参入列表对我们进行功能调试有很大的帮助。当我们在执行一个函数时,可以使用输入参数的值,但我在PowerShell中,参数有的是必选,有的是可选,那么我们怎么知道用户真实的输入了哪些参数呢?在PowerShell函数中,有一个全局变量$PSBoundParameters,它是一个Hash表,里面保存了所有的输入参数和输入参数的值。通过输...
PowerShell函数使用正则表达式验证输入参数实例

PowerShell函数使用正则表达式验证输入参数实例

本文介绍在自定义PowerShell函数时,输入的参数是否合法可以通过正则表达式来进行约束。正则表达式来约束输入参数,将使用ValidatePattern指令。之前我们通过ValidateSet来作为参数的智能提示,其实它也起到了对参数输入合规性的检查。因为ValidateSet是规定了一个输入参数的范围,不在这个范围内的参数,一是不能智能提示,另外,即便是输入了,它也无法通过函数的输入参数合规性检查,从而程序无法继续执行。那么既然ValidateSet是...
PowerShell函数中把参数传入另一个函数的函数传参例子

PowerShell函数中把参数传入另一个函数的函数传参例子

本文介绍在自定义PowerShell函数时,可以使用@PSBoundParameters来将参数传递给另一函数。下面,我们来创建一个Get-BIOS的函数,复制代码 代码如下:function Get-BIOS{ param ( $ComputerName, $Path ) Get-WmiObject -Class Win32_BIOS @PSBoundParameters}在这个函数中,我们并没有作任何实际的操作,只是将输入的参数打包传给了Get-Wmi...
PowerShell使用枚举变量定义带智能提示功能的函数参数

PowerShell使用枚举变量定义带智能提示功能的函数参数

本文介绍在自定义PowerShell函数时,如何设置函数可以使用枚举变量智能提示参数值。枚举类型可以是.NET框架下的系统枚举类型。在PowerShell 3.0版本中,出现了一项新的功能,那就是参数值的智能提示。当然,不是随便在哪里都会智能提示参数值,而是只能在ISE中。当然,所谓的ISE就是PowerShell自带的一个集成开发环境。本文要介绍的是,使用系统自带的枚举变量来作为智能提示的列举选项。我们把之前的Select-Color再拿出来看看,复制代...
PowerShell函数参数使用智能提示功能例子

PowerShell函数参数使用智能提示功能例子

本文介绍在自定义PowerShell函数时,如何设置函数可以智能提示参数值。参数值的智能提示这个功能是在PowerShell 3.0中出现的新功能。在PowerShell 3.0版本中,出现了一项新的功能,那就是参数值的智能提示。当然,不是随便在哪里都会智能提示参数值,而是只能在ISE中。当然,所谓的ISE就是PowerShell自带的一个集成开发环境。那么,我们自己在开发一个PowerShell函数时,我们应该怎么设置才能让我们的函数在ISE中也能智能提...
PowerShell函数中限制数组参数个数的例子

PowerShell函数中限制数组参数个数的例子

本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数。数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数。PowerShell函数可以接受数组作为输入参数。而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName "splaybow1","splaybow2","splaybow3"。这个函数的定义如下...
PowerShell函数参数设置为即可选又必选的方法

PowerShell函数参数设置为即可选又必选的方法

本文介绍PowerShell自定义函数中使用参数集时,可以将同一个参数既设置为可选,又设置为必选。好吧,小编承认,这个话题有点无聊,但确实还是有点有趣,不妨看一看啦。在PowerShell中,我们有可能有这样的需求,如果只需要输入某个参数时,这个参数是可选的。但如果还要输入别的参数,那这个参数就变成必选的了。那么这种需求如何来满足呢?那就是本文的意义所在了。复制代码 代码如下:function Connect-Somewhere{ [CmdletBindi...
PowerShell函数参数设置成自动识别数据类型的例子

PowerShell函数参数设置成自动识别数据类型的例子

本文介绍PowerShell自定义函数中使用参数集时,怎么设置系统自动识别参数的数据类型。识别参数类型的一个好处就是,在使用参数集时,不需要每次都指定参数名称了。请看下面这个Test-Binding函数。这个PowerShell函数在设置参数集的时候,为参数集中的第一个参数设置了数据类型,这样在调用函数时,就可以自动判断一个参数值它应该赋给哪个参数了。复制代码 代码如下:function Test-Binding { [CmdletBinding(Defa...
PowerShell函数实现类似重载功能实例

PowerShell函数实现类似重载功能实例

本文介绍PowerShell自定义函数是否支持重载,如果支持,如何重载?如果不支持,如何实现与重载相似的效果?郑重声明:PowerShell自定义函数不支持重载!也就是说,你不能定义两个同名的PowerShell函数,不管参数个数、顺序、类型是否相同。既然PowerShell自定义函数不支持重载功能,那么有没有什么办法来实现与重载相似的效果呢?有,当然有,那就是参数集(Parameters Set)PowerShell自定义函数的参数集是可以为一个函数定义...
PowerShell函数中的开关参数介绍和创建实例

PowerShell函数中的开关参数介绍和创建实例

本文介绍什么是开关参数,在PowerShell自定义函数中,如何创建开关参数并使用开关参数的值。什么叫开关参数呢?举个例子,技术男一般都知道有一个网络命令叫“Ping”,我们可以使用“ping www.jb51.net”这样一个命令来检查本地计算机到www.jb51.net这个网站所在的服务器网络是否连通。这个命令会从本地发送4个数据包到www.jb51.net服务器,并显示每个数据包是否收到了反馈结果。如果我正在重启www.jb51.net这台服务器,那...
PowerShell函数参数用星号隐藏的方法

PowerShell函数参数用星号隐藏的方法

本文介绍在PowerShell中创建函数时,如何让函数的参数输入值的时候自动变成星号。什么叫自动变成星号呢?举个例子,我们在登录一个邮箱时,输入用户时看到的是明文的,但我们在输入密码时,看到的是一个个增加的星号。在使用PowerShell自定义函数时,如何设置才能让输入密码之类的参数时,自己用星号掩盖呢?且往下看。复制代码 代码如下:function Test-Password { param ( [Parameter(Mandatory=$true)] ...
PowerShell中给函数参数设置帮助信息的例子

PowerShell中给函数参数设置帮助信息的例子

本文介绍在PowerShell创建自定义函数时,如何为必选参数设置帮助信息。下面这段代码,我们创建了一个test-function的函数。这个函数有一个参数p,它是必选参数。更进一步,我们为这个参数$p设置了一个helpMessage属性,这个属性的意思就是为这个必须参数提供帮助信息。因为是必选参数,所以在不输入值的情况下,函数是不会执行,而会提示为参数输入值的。如果用户不知道应该为这个参数输入什么值,那么这个HelpMessage有可能帮到忙。复制代码 ...
PowerShell函数参数指定数据类型实例

PowerShell函数参数指定数据类型实例

本文介绍在PowerShell创建自定义函数时,为必选参数设置强类型有什么好处,应该如何设置。为了提高必选参数的安全性,PowerShell函数定义的最佳实践告诉我们,要为必选参数设置强类型。这是为什么呢,我们来看一个例子。复制代码 代码如下:function Test-Me { param ( [Parameter(Mandatory=$true, HelpMessage="Enter number of EUROs!")] $Euro ) $Dolla...
PowerShell定义函数参数的2种方法和传参方法实例

PowerShell定义函数参数的2种方法和传参方法实例

本文介绍PowerShell自定义函数定义参数的两种方法,一种是将参数列表放到函数名之后,就跟其它语言定义函数参数一样;另一种则是PowerShell独有的方式,那就是使用param关键词。先来看看第一种定义参数的方式——将参数列表放到函数名之后举个例子先看看:复制代码 代码如下:function Test-Function($参数名1="默认参数值1", $参数名2="默认参数值2"){ Write-Host "参数1=$参数名1,参数2=$参数名2";...
PowerShell中对函数参数的命名建议

PowerShell中对函数参数的命名建议

PowerShell自定义函数的参数没有具体的命名规则,那么怎么做才能让参数的命名更加科学可持续。我们应该怎么来命名函数的参数名称呢?有没有一个可供参考的列表?当然微软没有给出来。但是我们可以来理一个列表出来。微软自带了大量的cmdlet,这些cmdlet使用的参数有什么规律呢?我们用下面一段命令来统计一下。复制代码 代码如下:Get-Command -CommandType Cmdlet |ForEach-Object { $_.Parameters }...
PowerShell编程中的一些命名规则参考

PowerShell编程中的一些命名规则参考

本文介绍PowerShell自定义函数在使用时的最佳实践(Best Practices)。包括函数名的命名、可选参数、必选参数等。PowerShell中的函数定义可以很简单的使用一个“function <函数名>{函数体}”的形式去定义。但微软推荐创建函数时遵循以下实践规则。1、函数名。使用cmdlet的统一命令规则,即“动词-名词”的形式。如Write-Host,表示输出到主机。如果是获取一个列表,不要使用List作为动词,建议使用Get,如...
PowerShell中简单的自定义函数和调用函数例子

PowerShell中简单的自定义函数和调用函数例子

在PowerShell中是否有函数?PowerShell是否可以自定义函数?PowerShell中如何自定义函数?在PowerShell中,我们可以使用函数(function)来简化编程开发。在PowerShell中使用function这个关键词来标识一个函数。一个自定义的函数,由function关键词开始,然后用一对大括号来包括起整个函数体的内容。我们先来看一下简单的PowerShell函数:复制代码 代码如下:function Test-Functio...
PowerShell中文件对象的属性方法总结

PowerShell中文件对象的属性方法总结

本文介绍一个PowerShell中文件对象有哪些属性,知道了这些属性对于我们更好的对文件进行操作是非常重要的。PowerShell是一个面向对象的脚本语言,在PowerShell中,所有的都是对象,文件也是对象。既然是对象,那肯定有属性。PowerShell中的文件对象,其实就是.NET中的System.IO.FileInfo类的实例。我们要查看完整的PowerShell文件对象的属性,其实不需要去翻MSDN,然后把System.IO.FileInfo类的...
<< 51 52 53 54 55 56 57 58 59 60 >>