PowerShell中的错误变量用于查看当前PowerShell会话中生成的错误。我们可以说$Error变量是存储所有错误的容器,并且最新的错误将首先显示。对于下面的示例,我们将$Errorview设置为Category视图,以最小化错误显示内容。默认情况下,$ErrorView是普通视图。
$ErrorView = "Categoryview"
现在我们将看到$error变量示例,
PS C:\WINDOWS\system32> asdds ObjectNotFound: (asdds:String) [], CommandNotFoundException PS C:\WINDOWS\system32> Get-process asddsd ObjectNotFound: (asddsd:String) [Get-Process], ProcessCommandException
这里,我们编写了一个错误的命令和一个错误的输入,因此让我们看看$错误变量包含什么。
PS C:\WINDOWS\system32> $error ObjectNotFound: (asddsd:String) [Get-Process], ProcessCommandException ObjectNotFound: (asdds:String) [], CommandNotFoundException
在上面的输出中,最后一个错误将首先显示,依此类推。$Error变量现在已成为数组。您可以将单个输出作为数组的典型方法。
PS C:\WINDOWS\system32> $error[0] ObjectNotFound: (asddsd:String) [Get-Process], ProcessCommandException PS C:\WINDOWS\system32> $error[1] ObjectNotFound: (asdds:String) [], CommandNotFoundException
为了获得产生的错误计数,
PS C:\WINDOWS\system32> $error.Count 2
要检查错误容量,可以运行以下命令。
PS C:\WINDOWS\system32> $error.Capacity 4
当存储错误的容量达到4时,此变量又自动将其容量增加4,因此总容量变为8。因此,每当错误变量达到其容量时,它会将容量增加4。
例如,
我们已经在这里创建了4个错误,
PS C:\WINDOWS\system32> $error ObjectNotFound: (221dsd:String) [], CommandNotFoundException ObjectNotFound: (7sdse:String) [], CommandNotFoundException ObjectNotFound: (asddsd:String) [Get-Process], ProcessCommandException ObjectNotFound: (asdds:String) [], CommandNotFoundException
当您再增加一个错误计数时,
PS C:\WINDOWS\system32> 5look ObjectNotFound: (5look:String) [], CommandNotFoundException
现在检查容量,
PS C:\WINDOWS\system32> $error.Capacity 8
然后输出
PS C:\WINDOWS\system32> $error ObjectNotFound: (5look:String) [], CommandNotFoundException ObjectNotFound: (221dsd:String) [], CommandNotFoundException ObjectNotFound: (7sdse:String) [], CommandNotFoundException ObjectNotFound: (asddsd:String) [Get-Process], ProcessCommandException ObjectNotFound: (asdds:String) [], CommandNotFoundException
所以问题是,此误差变量容量的阈值是多少?要检查它,您需要使用命令$MaximumErrorCount。
PS C:\WINDOWS\system32> $MaximumErrorCount 256
此处,最大错误计数的限制为256。