在特定用例中,$ErrorActionPreference
似乎忽略了将Stop
设置为New-SmbShare
:
可以使用以下脚本(test.ps1)测试:
$ErrorActionPreference = "Stop"
New-SmbShare -Name "Test" -Path "C:\NonExistingPath"
Write-Host "Should not be reached"
以下调用显示错误"系统找不到指定的文件",但也显示"永远不会到达",这是不正确的:
powershell.exe -Command .\test.ps1
以下调用只会抛出"系统无法找到指定的文件"异常,这是正确的:
powershell.exe -File .\test.ps1
经过测试:
我在这里遗漏了什么,或者这是PowerShell的错误?我已经提出了uservoice,但也许您有解释?