前面我们给我们的脚本添加了参数,今天我们来看看,怎么定义这些参数,使其称为必选参数或可选参数。
我们知道,test-netconnection 命令,不仅可以通过 ping 的方式测试网络,它还可以用于测试端口。下面我们将脚本做一些更改,添加一个端口,作为可选参数,将计算机名作为必选参数:
function test-net_port {
[cmdletbinding()]
param( # computerName 为必选参数,而 port 为可选参数
[parameter(mandatory=$true)]
[string[]]$computerName,
[parameter(mandatory=$false)]
[int] $port
)
foreach ($computer in $computerName) {
Write-Verbose "Now testing $computer."
if ($port -eq "") # 由于 port 是可选参数,在这里我们要加一个逻辑判断,决定使用哪个命令
{
$ping = Test-NetConnection -ComputerName $computer -InformationLevel Quiet -WarningAction SilentlyContinue
} else {
$ping = Test-NetConnection -ComputerName $computer -InformationLevel Quiet -WarningAction SilentlyContinue -Port $port
}
if ($ping){
Write-Output $ping
} else {
Write-Verbose "Ping failed on $computer. Check the network connection."
Write-Output $ping
}
}
}
运行结果:
PS C:\Users\v-peizhiyu> test-net_port -computerName www.bing.com
True
PS C:\Users\v-peizhiyu> test-net_port -computerName www.bing.com -port 443
True
PS C:\Users\v-peizhiyu> test-net_port -computerName www.bing.com -port 34
False
<<: Day 11 : 案例分享(3.4) 会计模组-分析会计与资产折旧
第四个要讨论的V是准确性Veracity,在资料处理的过程中,资料会从原本的原始资料raw data...
很多时候,我们的state必须要透过HTTP Request从後端取得。然而发送Request常用的...
什麽是介面样式? 所谓的介面样式,就是更改一些用户操作样式,以提高用户体验。 更改用户的鼠标样式 ...
前言 总算开始了一个跟DL比较有关系的名词啦(?)一直以来科学家总想模仿动物的大脑来做AI结构,所以...
PTT自2017年6月开始实验性开放WebSocket,到2020年1月1日已公告正式支援,现今以W...