PowerShell脚本编写与DRY原则实践
1. Write-Verbose的使用
在PowerShell中,标准流是大多数编程语言中存在的输出流,用于对输出进行分类和定向。其中,详细流(verbose stream)用于输出帮助用户理解cmdlet执行情况的消息,对于排查长时间运行但看似无响应的cmdlet问题非常有用。
每个PowerShell cmdlet都有一个 -Verbose 开关参数,允许我们查看cmdlet的执行情况以及是否卡住,但并非所有cmdlet都会产生详细流输出。例如, Invoke-RestMethod cmdlet就有非常有用的详细输出。
要查看详细输出,可在脚本中使用 CmdletBinding() 属性,示例如下:
.\weatherdata.ps1 -Verbose
若未使用 CmdletBinding() 属性,调用 -Verbose 参数虽不会报错,但不会产生详细输出。
我们还可以使用 Write-Verbose cmdlet编写自己的详细流消息。当在脚本的循环中处理多个项目时,它能告诉我们循环中哪个项目失败。例如,当脚本处理多个城市的数据时:
.\weatherdata.ps1 -City "London", "Paris",
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



