【发布时间】:2016-02-09 03:15:15
【问题描述】:
我在理解 try、catch 语句的使用时遇到问题。
我想将它用作一般的错误检测案例,以便在给定函数中存在任何问题,脚本将输出“服务器脱机”
下面的 sn-p 查询服务器上的 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
}
塞缪尔
【问题讨论】:
标签: powershell try-catch