1
我使用PS Remoting,Powershell 2.0。函数在PowerShell中返回布尔值
我需要调用返回布尔值($ true或$ false)的函数。
我的功能:
Function TryDisableClientForCredSSP()
{
try
{
WriteTrace "[TryDisableClientForCredSSP]. Disable-WSManCredSSP -Role Client "
$script=Convert-StringToScriptBlock("Disable-WSManCredSSP -Role Client ")
Caller($script)
WriteTrace "[TryDisableClientForCredSSP]. winrm get winrm/config/client/auth [($env:COMPUTERNAME)]"
$script=Convert-StringToScriptBlock("winrm get winrm/config/client/auth")
Caller($script);
return $true;
}
catch
{
Write-Verbose "[TryDisableClientForCredSSP] Error "
Write-Verbose $_
Write-Host $_.Exception.Message`r`n
return $false;
}
}
注:WRITETRACE功能仅仅只能做写主机。
我使用它:
$ok = TryDisableClientForCredSSP;
WriteTrace "[TryDisableClientForCredSSP]. $ok"
if ($ok -eq $true)
{
WriteTrace "[TryDisableClientForCredSSP]. OK true"
}
else
{
WriteTrace "[TryDisableClientForCredSSP]. KO false"
}
我得到这样的输出:
[TryDisableClientForCredSSP]. Auth Basic = true Digest = true Kerberos = true Negotiate = true Certificate = true CredSSP = false True
[TryDisableClientForCredSSP]. OK true
我想这条线输出 “[TryDisableClientForCredSSP]真。”
WriteTrace "[TryDisableClientForCredSSP]. $ok"
有什么建议?
如果您不喜欢使用[void],则可以添加'| out-null“来代替这些行。 –
是不是有一个更简单的方法来停止输出,比如在命令后面使用分号? – Neolisk
有三种方式:[void] ...,... | Out-Null和...> $ null。而已。 –