Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Инфа об ОС и отчет об ошибках

Ответить
Настройки темы
PowerShell - [решено] Инфа об ОС и отчет об ошибках

Аватара для s_admin

Пользователь


Сообщения: 53
Благодарности: 2

Профиль | Отправить PM | Цитировать


Здрастье!
Вобщем есть такая проблема...написал тут простенький скрипт, и столкнулся вот с чем.
Код: Выделить весь код
trap { write-host "Error connecting to $computer" -fore red  
"$computer" | out-file c:\errors.txt -append   continue } 
$computers = Get-Content "D:\PC.txt" 
foreach ( $computer in $computers ) {
get-wmiobject win32_operatingsystem -comp $computer -ea stop }
В файлике PC.txt есть имена машин: comp1, comp2, comp3. comp1 и comp3 существуют в сети, comp2 - нет. По идее, скрипт должен выдать ошибку на втором, записать ее в лог и продолжить скрипт с comp3. Но после comp2, выполнение скрипта завершается.... чего не так я сделал?
Если делать вот так:
Код: Выделить весь код
trap { write-host "Error connecting to $computer" -fore red  
"$computer" | out-file c:\errors.txt -append   continue } 
$computer = "comp1" get-wmiobject win32_operatingsystem -comp $computer -ea stop 
$computer = "comp2" get-wmiobject win32_operatingsystem -comp $computer -ea stop 
$computer = "comp3" get-wmiobject win32_operatingsystem -comp $computer -ea stop
то все работает. А вот с условием foreach нет.
Заранее спасибо.

Отправлено: 11:47, 23-03-2009

 


Moderator


Сообщения: 53441
Благодарности: 15497

Профиль | Отправить PM | Цитировать


s_admin, внутри цикла работает:
Код: Выделить весь код
$computers = Get-Content "D:\PC.txt"
foreach ( $computer in $computers ) {
  trap {
    write-host "Error connecting to $computer" -fore red
    "$computer" | out-file C:\errors.txt -append
    continue
  }
  get-wmiobject win32_operatingsystem -comp $computer -ea stop
}
Все дело в области:
Перехват ошибок с помощью –ErrorAction (–EA) в Windows PowerShell
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:22, 23-03-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для s_admin

Пользователь


Сообщения: 53
Благодарности: 2

Профиль | Отправить PM | Цитировать


Блин, стыдно, что сам не догадался....
Спасибо огромное!

Отправлено: 12:26, 23-03-2009 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Инфа об ОС и отчет об ошибках

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - [решено] Как включить сообщения об ошибках? maestr0 Microsoft Windows 7 6 03-12-2009 19:01
[решено] Нужна инфа по мамке Asus P5KC DJmustdie Материнские платы и память 4 20-02-2009 18:21
[решено] Пропала инфа на выносном жёстком HOL Накопители (SSD, HDD, USB Flash) 12 28-02-2007 19:50
[решено] Отчет об исследовании сети предприятия Psh Сетевые технологии 6 18-08-2006 19:11
[решено] Как убрать сообщения об ошибках принтера Shurik777 Microsoft Windows NT/2000/2003 5 22-03-2006 03:14




 
Переход