مانند متغیر ErrorActionPreference ، پارامتر ErrorAction نیز به طور مشابه کار می کند. پارامتر ErrorAction در توابع Advance و اکثر cmdlet های داخلی در PowerShell پشتیبانی می شود. تبدیل خطای غیر پایانی به خطای پایان دهنده مفید است و سپس می توانید آنها را با بلوک های try/catch مدیریت کنید.
مقادیر و نمونه های پشتیبانی شده،
-
ادامه – این مقدار پیش فرض پارامتر ErrorAction است و Error نمایش داده می شود و دستورات لیست شده در Pipeline بیشتر اجرا می شوند.
Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorAction Continue Write-Host "`nHello World" -BackgroundColor DarkGreen
خروجی
Get-WmiObject : The RPC server is unavailable. At line:1 char:1 + Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorA ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMExcept ion + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands .GetWmiObjectCommand Hello World
-
توقف – نمایش پیام خطا متوقف می شود و دستورات در خط لوله برای اجرا اجرا نمی شوند. هیچ خروجی از مثال زیر وجود نخواهد داشت.
مثال
PS C:WINDOWSsystem32>>> Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorAction Stop Write-Host "`nHello World" -BackgroundColor DarkGreen
-
SilentlyContinue – یک پیام خطا نمایش داده نمی شود و اسکریپت دستورات خط لوله را اجرا می کند.
مثال
Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist - ErrorAction SilentlyContinue Write-Host "`nHello World" -BackgroundColor DarkGreen
خروجی
PS C:WINDOWSsystem32>>> Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorAction SilentlyContinue Write-Host "`nHello World" -BackgroundColor DarkGreen Hello World
-
Ignore − Ignore value is the same as the Silentlycontinue except the error output is not stored into $Error variable.
Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorAction Ignore Write-Host "`nHello World" -BackgroundColor DarkGreen Hello World
اکنون متغیر خطا را بررسی کنید. در مثال زیر مشاهده می کنید، هیچ داده خطایی ندارد در حالی که در مقدار SilentlyContinue ، خروجی خطا را ذخیره می کند.
PS C:WINDOWSsystem32>>> $Error
-
Inquire – هنگامی که خطایی به دلیل cmdlet رخ می دهد، این گزینه به کاربر گزینه های زیر را می دهد و برای اقدام مناسب درخواست می کند.