我在理解 try、catch 语句的使用时遇到问题。
我想将其用作一般错误检测案例,以便给定函数中存在任何问题,脚本将输出“服务器脱机”
下面的代码片段查询服务器上的 WMI 对象以获取其 HDD 列表并将其格式化为表格。如果没有服务器或 WMI 不可用,我希望将“服务器脱机”附加到 txt 输出文件。
目前,当出现错误时,永远不会调用 catch 语句。
try catch 可以这样用吗?
try {
Get-WmiObject Win32_LogicalDisk -ComputerName $server | ft $server,deviceid,@{Label="Size(GB)";Expression={($_.Size/ 1gb) -as [int]}},@{Label="FreeSpace(Mb)";Expression={($_.FreeSpace/1mb) -as [int]}} -auto | Out-File c:\temp\ServersHDDAudit_OUTPUT-$a-$b.txt -Append
}
catch {
$server + ": Server Offline" | Out-File c:\temp\ServersHDDAudit_OUTPUT-$a-$b.txt -Append
}
塞缪尔