Aracılığıyla paylaş


Write-Error

Hata akışına bir nesne yazar.

Sözdizimi

NoException EnterprisePublishing

Write-Error
    [-Message] <string>
    [-Category <ErrorCategory>]
    [-ErrorId <string>]
    [-TargetObject <Object>]
    [-RecommendedAction <string>]
    [-CategoryActivity <string>]
    [-CategoryReason <string>]
    [-CategoryTargetName <string>]
    [-CategoryTargetType <string>]
    [<CommonParameters>]

WithException

Write-Error
    [-Exception] <Exception>
    [-Message <string>]
    [-Category <ErrorCategory>]
    [-ErrorId <string>]
    [-TargetObject <Object>]
    [-RecommendedAction <string>]
    [-CategoryActivity <string>]
    [-CategoryReason <string>]
    [-CategoryTargetName <string>]
    [-CategoryTargetType <string>]
    [<CommonParameters>]

ErrorRecord

Write-Error
    [-ErrorRecord] <ErrorRecord>
    [-RecommendedAction <string>]
    [-CategoryActivity <string>]
    [-CategoryReason <string>]
    [-CategoryTargetName <string>]
    [-CategoryTargetType <string>]
    [<CommonParameters>]

Description

Write-Error cmdlet'i sonlandırılmayan bir hata bildirir. Varsayılan olarak, hata akışında hatalar, görüntülenecek konak programına ve çıkışa gönderilir.

Sonlandırıcı olmayan bir hata yazmak için bir hata iletisi dizesi, ErrorRecord nesnesi veya Özel Durum nesnesi girin. Hata kaydını doldurmak için diğer Write-Error parametrelerini kullanın.

Sonlandırılmayan hatalar hata akışına bir hata yazar, ancak komut işlemeyi durdurmaz. Giriş öğeleri koleksiyonundaki bir öğede sonlandırılmayan bir hata bildirilirse, komut koleksiyondaki diğer öğeleri işlemeye devam eder.

Sonlandırıcı bir hata bildirmek için throw anahtar sözcüğünü kullanın. Daha fazla bilgi için bkz. about_Throw.

Örnekler

Örnek 1: RegistryKey nesnesi için hata yazma

Get-ChildItem | ForEach-Object {
    if ($_.GetType().ToString() -eq "Microsoft.Win32.RegistryKey")
    {
        Write-Error "Invalid object" -ErrorId B1 -TargetObject $_
    }
    else
    {
        $_
    }
}

Bu komut, Get-ChildItem cmdlet'i PowerShell Kayıt Defteri sağlayıcısının Microsoft.Win32.RegistryKey veya HKLM: sürücülerindeki nesneler gibi bir HKCU: nesnesi döndürdüğünde sonlandırıcı olmayan bir hata bildirir.

Örnek 2: Konsola hata iletisi yazma

Write-Error "Access denied."

Bu komut sonlandırıcı olmayan bir hata bildirir ve "Erişim reddedildi" hatası yazar. Komut, iletiyi belirtmek için message parametresini kullanır, ancak isteğe bağlı İleti parametre adını atlar.

Örnek 3: Konsola bir hata yazın ve kategoriyi belirtin

Write-Error -Message "Error: Too many input values." -Category InvalidArgument

Bu komut sonlandırıcı olmayan bir hata bildirir ve bir hata kategorisi belirtir.

Örnek 4: Özel Durum nesnesi kullanarak hata yazma

$E = [System.Exception]@{Source="Get-ParameterNames.ps1";HelpLink="https://go.microsoft.com/fwlink/?LinkID=113425"}
Write-Error -Exception $E -Message "Files not found. The $Files location doesn't contain any XML files."

Bu komut, sonlandırılmayan bir hata bildirmek için Özel Durum nesnesi kullanır.

İlk komut, System.Exception nesnesini oluşturmak için bir karma tablo kullanır. Özel durum nesnesini $E değişkenine kaydeder. Null oluşturucuya sahip bir türe ait herhangi bir nesne oluşturmak için karma tablo kullanabilirsiniz.

İkinci komut, sonlandırılmayan bir hata bildirmek için Write-Error cmdlet'ini kullanır. Özel Durum parametresinin değeri, değişkenindeki $E nesnesidir.

Parametreler

-Category

Hatanın kategorisini belirtir. Varsayılan değer NotSpecifieddeğeridir. Bu parametre için kabul edilebilir değerler şunlardır:

  • Belirtilmemiş
  • OpenError (AçıkHatası)
  • KapatHata
  • DeviceError (Aygıt Hatası)
  • Kilitlenme Algılandı
  • InvalidArgument
  • Geçersiz Veriler
  • Geçersiz İşlem
  • GeçersizSonuç
  • GeçersizTür
  • Meta Veri Hatası
  • Uygulanmadı
  • Yüklü Değil
  • Nesne Bulunamadı
  • Operasyon Durduruldu
  • OperationTimeout (İşlem Zaman Aşımı)
  • Söz DizimiHata
  • Ayrıştırıcı Hatası
  • İzin Reddedildi
  • KaynakMeşgul
  • Kaynak Var
  • KaynakKullanılamıyor
  • Okuma Hatası
  • Yazma Hatası
  • KimdenStdErr
  • Güvenlik Hatası
  • ProtocolError
  • ConnectionError
  • AuthenticationError
  • LimitlerExceeded
  • Kota Aşıldı
  • NotEnabled

Hata kategorileri hakkında bilgi için bkz. ErrorCategory Sabit Listesi.

Parametre özellikleri

Tür:ErrorCategory
Default value:NotSpecified
Kabul edilen değerler:NotSpecified, OpenError, CloseError, DeviceError, DeadlockDetected, InvalidArgument, InvalidData, InvalidOperation, InvalidResult, InvalidType, MetadataError, NotImplemented, NotInstalled, ObjectNotFound, OperationStopped, OperationTimeout, SyntaxError, ParserError, PermissionDenied, ResourceBusy, ResourceExists, ResourceUnavailable, ReadError, WriteError, FromStdErr, SecurityError, ProtocolError, ConnectionError, AuthenticationError, LimitsExceeded, QuotaExceeded, NotEnabled
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

NoException
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
WithException
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-CategoryActivity

Hataya neden olan eylemi belirtir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Etkinlik

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-CategoryReason

Etkinliğin hataya nasıl veya neden neden olduğunu belirtir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Nedeni

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-CategoryTargetName

Hata oluştuğunda işlenen nesnenin adını belirtir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:HedefAdı

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-CategoryTargetType

Hata oluştuğunda işlenen nesnenin türünü belirtir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:HedefTürü

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-ErrorId

Hatayı tanımlamak için bir kimlik dizesi belirtir. Dize hataya benzersiz olmalıdır.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

NoException
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
WithException
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-ErrorRecord

Hatayı temsil eden bir hata kaydı nesnesi belirtir. Hatayı açıklamak için nesnesinin özelliklerini kullanın.

Hata kaydı nesnesi oluşturmak için New-Object cmdlet'ini kullanın veya $Error otomatik değişkenindeki diziden bir hata kaydı nesnesi alın.

Parametre özellikleri

Tür:ErrorRecord
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ErrorRecord
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Exception

Hatayı temsil eden bir özel durum nesnesi belirtir. Hatayı açıklamak için nesnesinin özelliklerini kullanın.

Özel durum nesnesi oluşturmak için bir karma tablo kullanın veya New-Object cmdlet'ini kullanın.

Parametre özellikleri

Tür:Exception
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

WithException
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Message

Hatanın ileti metnini belirtir. Metin boşluk veya özel karakterler içeriyorsa, metni tırnak içine alın. Mesaj dizgisini Write-Error'ya da yönlendirebilirsiniz.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Msg

Parametre kümeleri

NoException
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
WithException
Position:0
Zorunlu:False
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-RecommendedAction

Kullanıcının hatayı çözmek veya önlemek için gerçekleştirmesi gereken eylemi belirtir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-TargetObject

Hata oluştuğunda işlenen nesneyi belirtir. nesnesini, nesneyi içeren bir değişkeni veya nesneyi alan bir komutu girin.

Parametre özellikleri

Tür:Object
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

NoException
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
WithException
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

String

Hata iletisi içeren bir dizeyi bu cmdlet'e iletebilirsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez. Yalnızca hata iletisi akışına yazar.

Notlar

Write-Error $? otomatik değişkenin değerini değiştirmez, bu nedenle sonlandırıcı bir hata koşuluna işaret etmez. Sonlandırıcı hata sinyali vermek için $PSCmdlet.WriteError() yöntemini kullanın.