iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
自我挑戰組

Powershell 入门系列 第 12

Powershell 入门之函数

前面,我们已经知道了,如何去编写 powershell 脚本,今天我们就一起来看看,其他的功能。通过这些功能来丰富我们的脚本。

首先我们来看一下 Function。和其他编程语言一样,Powershell 也提供了 function 功能,通过该功能,我们可以在不同的场景中,重复使用我们的脚本。

下面我们来看一个具体的示例:

# 编写一个名为 test-net 的函数
function test-net {
    foreach ($computer in $args) {
        $ping = Test-NetConnection -ComputerName $computer -InformationLevel Quiet

        if ($ping){
            Write-Output $ping
        } else {
            Write-Output $ping
        }
    }
}
调用 test-net 函数,并传递参数
test-net www.bing.com

我们还可以像运行 powershell 命令一样,运行我们的函数,并且给它传递参数,实现 -verbose 功能。

下面我们来看一下具体的示例:

function test-net {
    [cmdletbinding()]   # 通过 cmdletbinding() 实现函数的高级功能
    param(              # 指定具体的参数
        [string[]]$computerName   # 参数的名称,以及数据类型,[] 该数据是一个数组(有多个参数)
    )
    foreach ($computer in $computerName) {
        Write-Verbose "Now testing $computer."  # 加 -verbose 才会被输出
        $ping = Test-NetConnection -ComputerName $computer -InformationLevel Quiet -WarningAction SilentlyContinue

        if ($ping){
            Write-Output $ping
        } else {
            Write-Verbose "Ping failed on $computer. Check the network connection."
            Write-Output $ping
        }
    }
}

在 Powershell ISE 下面的命令行窗口中输入:

PS C:\Users\v-peizhiyu> test-net -computerName www.bing.com -Verbose
VERBOSE: Now testing www.bing.com.
True

上一篇
Powershell 入门之初识脚本
下一篇
Powershell 入门之 可选参数和必选参数
系列文
Powershell 入门21

尚未有邦友留言

立即登入留言