2014-06-10 23 views
6

Uzak oturumda Invoke-Expression kullanıyorum ve istisna atar - herhangi bir yığın izleme bilgisi olmadan yalnızca RemoteException döndürür. Örnek: çıktı (2>&1) hatayı yönlendirmek hariç tutarsanızUzak oturumda tam yığın izleme alın

try 
{ 
    Invoke-Expression "$command 2>&1" 
}  
catch 
{ 
    Write-Host $_  
} 

- düzgün hata alıyorum ama yeniden yönlendirme kullanılarak gizlenir ($ komutundan) istenmeyen ayıklama konsolu, diyoruz.

Start-Process -NoNewWindow -FilePath $CmdExe -ArgumentList $Arguments 

Başlangıç ​​İşlemini Kullanma Tam yığın izlemeyi görebiliyorum ancak aynı zamanda istenmeyen hata ayıklama konsoluna da sahibim.

Uzaktan oturumda atılan özel durumdan tam yığın izlemesi ve uygun Özel Durum Durumunu nasıl alabilirim? Teşekkürler.

cevap

0

Uzak bir oturum yapıyorsanız, yazma-ana bilgisayarı kullanmayın. Bu deneyin:

catch { 
    Write-Error ($_ | fl * -force | out-string) 
} 

Diğer seçenek istisna ve let hatayı geri yerel oturuma yaymak yakalamak için değil. Ama iyileşmeyi denemek istediğinden şüpheliyim?

+0

Teşekkürler Keith, hayır kurtarmak istemiyorum, sadece gerçek nedeni tanımlamak için bir hata almam gerekiyor. Örneğinizde uzak istisna hakkında tam bilgi ve gerçek istisna hakkında hiçbir şey göremiyorum (xml yapısının bozulduğu bilgisini içermelidir) – Sergey

+0

'fl' -' fc' (Biçim-Özel) 'yi değiştirmeyi deneyin. Bu yuvalanmış nesneleri (Exception.InnerException gibi) dört seviye gibi bir şey takip eder. –