php调用powershell,PowerShell函数

如果需要在多个脚本中使用相同的代码,则可以使用PowerShell函数。

函数是PowerShell语句的列表,其名称由用户分配。 当我们执行一个函数时,我们键入一个函数的名称。

像cmdlet一样,函数也可以具有参数。 可以从管道或命令行中读取功能参数。

在PowerShell中,函数返回可以分配给变量或传递给cmdlet或其他函数的值。 通过使用return关键字,可以指定返回值。

1.语法

以下块描述了函数的语法:

function [] [([type]$parameter1[,[type]$parameter2])]

{

param([type]$parameter1 [,[type]$parameter2])

dynamicparam {}

begin {}

process {}

end {}

}

上面的语法包括以下术语:

function关键字

函数名称(name)

范围(可选)

任意数量的命名参数

花括号{}中包含一个或多个PowerShell命令。

2.函数范围

在PowerShell中,函数在创建它的作用域中存在。如果函数在脚本中,则该功能仅可用于该脚本中的语句。

在全局范围内指定函数后,可以在其他函数,脚本和命令行中使用它。

3.简单函数

以下块描述了如何在PowerShell中创建最简单的函数:

function

{

statement-1

statement-2

statement-N

}

要将多个语句添加到函数中,必须使用分号来分隔语句或在单独的行上键入每个语句。要使用该函数,请按以下块中的说明键入函数的名称:

Function-name

示例:

PS C:\>function write-command

PS C:\>{

PS C:\> echo "Windows Operating System"

PS C:\> echo "Linux operating System"

PS C:\>}

在PowerShell控制台中键入以下命令以获取以上示例的输出:

PS C:\> write-command

输出结果:

Windows Operating System

Linux operating System

4.高级函数

高级函数是可以执行类似于使用cmdlet执行的操作的那些函数。 当用户要编写函数而不必编写已编译的cmdlet时,可以使用这些函数。

使用编译的cmdlet和高级函数之间的主要区别在于,编译的cmdlet是必须以.NET Framework语言编写的.NET Framework类。 而且,高级函数是使用PowerShell脚本语言编写的。

以下示例描述了如何在PowerShell中使用高级函数:

PS C:\> function Send-Message

>> {

>> [CmdletBinding()]

>> Param (

>> [ Parameter (Mandatory = $true)]

>> [string] $Name

>> )

>>

>> Process

>> {

>> Write-Host ("Hi" + $Name + "!")

>> }

>> }

在PowerShell控制台中键入以下命令以获取以上示例的输出:

PS C:\> Send-Message

执行上面示例代码,得到以下结果:

cmdlet Send-Greeting at command pipeline position 1

Supply values for the following parameters:

Name: xntutor

Hi xntutor!

5.函数实例

示例1: 以下示例是一个简单函数,它返回当前日期。

PS C:\> function Get-DateTime()

>> {

>> return Get-Date

>> }

在PowerShell控制台中键入以下命令以获取以上示例的输出:

PS C:\> Get-DateTime

执行(调用)上面函数,得到以下结果:

2020年2月6日 9:45:54

示例2:以下示例是一个函数,该函数接受一个参数并在该参数上返回一个值。

PS C:\> function Get-Square([int]$x)

>> {

>> $res = $x * $x

>> return $res

>> }

键入以下命令以从用户获取的输入参数值:

PS C:\> $x = Read-Host 'Enter a value'

执行结果如下所示:

Enter a value: 1999

键入以下命令,以将函数的返回值存储在显示函数输出的变量中:

PS C:\> $sqres = Get-Square $x

执行上面函数:

PS C:\> Write-Output "$x * $x = $sqres"

得到以下结果

1999 * 1999 = 3996001

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值