Лучший отвечающий
Warning to logfile

Вопрос
-
Добрый день.
Есть скрипт который выводит результат в richtextbox.
В скрипте есть проверка наличия ошибки, выглядит как то так:
if ($?)
{
$richTextBox1.text = "Something goes wrong!"
}
else
{
$richTextBox1.text = "Success!!!"
}Это работает, но хочется все же видеть (не в консоли powershell) в чем была проблема если мы получаем Something goes wrong в ричбоксе...
Возможно ли как то выводить все ошибки и ворнинги в текстовый файл?
30 декабря 2014 г. 10:33
Ответы
-
try{Copy-Item "c:\pornolib\porn.avi" -Destination "c:\shareforall\" -ErrorAction Stop} catch{$_.Exception.Message | Out-File C:\temp\error.log -Append}
можно сформировать сообщение с датой на основе этих переменных и вывести в файл
- Изменено Vector BCOModerator 30 декабря 2014 г. 14:21
- Предложено в качестве ответа Vector BCOModerator 31 декабря 2014 г. 7:23
- Помечено в качестве ответа KazunEditor 3 января 2015 г. 12:12
30 декабря 2014 г. 14:07Модератор -
$_.Exception.Message замените на $_ и как следствие получите всю ошибку а не только заголовок
что касаемо пробелов то можно сделать реплейсы (у меня пробелов нет, так что проверить не могу)
например как то так
$_ -replace " ","_" -replace " ","" -replace "_"," " | out-file....
- Изменено Vector BCOModerator 30 декабря 2014 г. 15:03
- Предложено в качестве ответа Vector BCOModerator 31 декабря 2014 г. 7:23
- Помечено в качестве ответа KazunEditor 3 января 2015 г. 12:12
30 декабря 2014 г. 15:02Модератор
Все ответы
-
if ($?) { add-content "c:\file.log" "Something goes wrong!" } else { add-content "c:\file.log" "Success!!" }
- Изменено Saqwel 30 декабря 2014 г. 10:45
30 декабря 2014 г. 10:45 -
Try Catch Final красивше подходит под эти цели
пример использования
http://blogs.technet.com/b/heyscriptingguy/archive/2010/03/11/hey-scripting-guy-march-11-2010.aspx- Изменено Vector BCOModerator 30 декабря 2014 г. 10:58
30 декабря 2014 г. 10:56Модератор -
to Saqwel
В вашем предложении, он по сути в лог пишет либо "Something goes wrong" либо "Success", а я хочу чтобы в лог писался сам текст ошибки.
to Vector BCO
Пока что не разобрался как это использовать, читаю дальше. Если есть возможность, напишите пример для моего случая.
30 декабря 2014 г. 13:50 -
try{Copy-Item "c:\pornolib\porn.avi" -Destination "c:\shareforall\" -ErrorAction Stop} catch{$_.Exception.Message | Out-File C:\temp\error.log -Append}
можно сформировать сообщение с датой на основе этих переменных и вывести в файл
- Изменено Vector BCOModerator 30 декабря 2014 г. 14:21
- Предложено в качестве ответа Vector BCOModerator 31 декабря 2014 г. 7:23
- Помечено в качестве ответа KazunEditor 3 января 2015 г. 12:12
30 декабря 2014 г. 14:07Модератор -
Работает! Спасибо!
Только два нюанса:
1. В лог он пишет вставляя пробелы между буквами.
T h e s p e c i f i e d a c c o u n t a l r e a d y e x i s t s
Можно как то форматировать этот вывод?
2. Сама ошибка в консоли много длиннее той что он оставляет в логе.
Возможно ли писать полный текст ошибки в файл?
30 декабря 2014 г. 14:38 -
$_.Exception.Message замените на $_ и как следствие получите всю ошибку а не только заголовок
что касаемо пробелов то можно сделать реплейсы (у меня пробелов нет, так что проверить не могу)
например как то так
$_ -replace " ","_" -replace " ","" -replace "_"," " | out-file....
- Изменено Vector BCOModerator 30 декабря 2014 г. 15:03
- Предложено в качестве ответа Vector BCOModerator 31 декабря 2014 г. 7:23
- Помечено в качестве ответа KazunEditor 3 января 2015 г. 12:12
30 декабря 2014 г. 15:02Модератор