我在函数的开头使用以下内容,该函数用于查询计算机中的各种wmi对象。如果仅运行get_volumes,则应使用127.0.0.1。似乎当我运行get_volumes而没有任何字符串时,它会直接传递给else段。什么是正确或更好的方法来实现这一目标?
PS> function get_volumes([string]$a){
if ($a -eq $null){
write-host 'Using localhost'
$a = '127.0.0.1'
}else{ write-host 'Using' $a}
}
PS>get_volumes
Using
由于
答案 0 :(得分:0)
$a
是一个空字符串,而不是$null
。试试这个:
function Get-Volumes([string]$IPAddress = '127.0.0.1'){
Write-Host "Using $IPAddress"
}
请注意,您可以为用户不为参数提供参数时设置默认值。