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.