我正在使用Azure 实例元数据服务API。这仅适用于 Azure VM,这很好,但我需要一些错误处理。麻烦的是,当我在我的开发笔记本电脑(高度锁定的环境)上运行它时,我得到了我们的公司代理阻止页面,而我尝试的任何操作(没有双关语)都不会捕获阻止页面并因此处理错误。
就像代理在Invoke-RestMethod
可以做任何事情之前拦截了请求。
有什么办法可以捕捉到阻塞消息?
try
{
$oRequest = Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "http://169.254.169.254/metadata/instance?api-version=2020-06-01"
}
catch [System.Net.WebException]
{
Throw "An error has occurred: $($_.exception.Message)"
}
$oRequest
是空的,甚至管道Out-Null
也不会停止代理阻止页面消息。
我很感激在我的公司环境之外很难排除故障,但我希望有人可能经历过这种行为并有办法捕获错误。
我能想到的最好的方法是测试是否$oRequest
为空并处理它,但这似乎不正确,它仍然在 PS 控制台中显示阻止消息。
PowerShell 版本 7
TI A