【发布时间】:2015-12-14 13:47:23
【问题描述】:
大家好,我在试图弄清楚如何使这个脚本工作时遇到了麻烦,我对脚本非常陌生,但我确实了解其中的大部分内容,但仍在弄清楚一些事情。
try {
Test-Connection -Computername $_ -count 1 -ErrorAction Stop
} catch {
$_.Exception.ErrorCode -eq 0x800706ba
} `
{
$err = 'Unavailable (Host Offline or Firewall)'
}
try {
Test-UserCredentials -Username testuser -Password (Read-Host -AsSecureString)
} catch {
$_.CategoryInfo.Reason -eq 'UnauthorizedAccessException'
} `
{
$err = 'Access denied (Check User Permissions)'
}
Write-Warning "$computer- $err" | Out-File -FilePath c:\temp\Folder\Errors.txt -Append
我正在寻找的是这个脚本来测试系统是否响应。如果为 True,则下一步是测试凭据,最后是执行 get-wmiobject 查询。但是,如果系统不响应 ping,那么我想捕获未能响应 ping 的主机名,捕获它并将其导出到 txt 并在凭据失败时执行相同操作。
【问题讨论】:
-
你好,为什么你的
scriptBlockes里面有多个catches? -
我是个菜鸟,所以我现在知道我的极限。我从我找到的一个脚本中得到了这些脚本块,它使用了 try catch 和其他东西,这真的让我感到困惑,但至少可以正常工作。
标签: powershell if-statement try-catch credentials