|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Пинговалка с оповещением на мыло. |
|
PowerShell - Пинговалка с оповещением на мыло.
|
Новый участник Сообщения: 4 |
Поскольку я не разбираюсь в ПШ, но есть большое желание в этом, прошу помощи.
Есть код: Как заставить данный код, отправлять мыло. При том, когда определенный айпишник не работает, и если есть возможность что бы он брал айпишник который не отзывается и вкладывал в тело письма. Заранее большое спасибо. P.S. как заставить сохранять екселевский файл по определенному пути, что бы не возникало проблем, если скрипт будет запускаться с периодичностью в 30 минут, то за 2 часа он создает и открывает 4 файла, можно ли сделать что бы он правил один файл, с последовательной записью. |
|
Отправлено: 17:08, 27-02-2014 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать С отправкой почты разобрался, а вот как сделать что бы вел лог в екселе в одном файле желательно с датой, последовательно записывая их.
|
Отправлено: 13:13, 28-02-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Могу предложить следующий скриптик, только запись идет в текстовый файл, что намного удобней, к тому же скрипт с exel будет громоздким и написать и править его гораздо сложнее. Ну а пользоваться этим или нет смотрите сами.
----------------------------------------------- #берем текущую дату $date=Get-Date -f "dd.MM.yyyy в H:mm" #задаем переменную для имени файла в который будут записываться результаты за текущий день $name_file=Get-Date -f "dd.MM.yyyy" #список адресов для пинга $adreses="yandex.ru", "rambler.ru", "111ttt.ru", "222ttt.ru" #Если список адресов из файла раскомментировать #$adreses=Get-Content "C:\Temp\список адресов.txt" foreach ($adr in $adreses) { if (!(Test-Connection -Count 2 -Quiet $adr)) { "адрес $adr недоступен $date" >> "c:\Temp\$name_file.txt" } } |
Отправлено: 13:22, 09-03-2014 | #3 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать а отправить e-mail можно приблизительно следующим кодом
|
Отправлено: 13:41, 12-03-2014 | #4 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать $erroractionpreference = "SilentlyContinue"
$a = New-Object -comobject Excel.Application $a.visible = $True $b = $a.Workbooks.Add() $c = $b.Worksheets.Item(1) $c.Cells.Item(1,1) = "Адрес ПК" $c.Cells.Item(1,2) = "Статус" $c.Cells.Item(1,3) = "Имя ПК" $d = $c.UsedRange $d.Interior.ColorIndex = 19 $d.Font.ColorIndex = 11 $d.Font.Bold = $True $d.EntireColumn.AutoFit($True) $intRow = 2 $colComputers = get-content C:\servers.txt foreach ($strComputer in $colComputers){ $hostname = [System.Net.Dns]::GetHostbyAddress($strcomputer).hostname $c.Cells.Item($intRow, 1) = $strComputer.ToUpper() $ping = new-object System.Net.NetworkInformation.Ping $Reply = $ping.send($strComputer) if ($Reply.status –eq "Success") { $c.Cells.Item($intRow, 2) = "Работает" } else { $c.Cells.Item($intRow, 2) = "Не работает" $EmailFrom = 'mail.ru' $EmailTo = '*@sms.ru $Subject = "Не работает хост $hostname" $Body = "IP: $strcomputer" $SMTPServer = 'smtp.mail.ru' $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) $SMTPClient.Credentials = New-Object Net.NetworkCredential("*@mail.ru", "*****"); $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body) } $c.Cells.Item($intRow, 2) = "Не работает" } $Reply = "" $c.Cells.Item($intRow, 3) = "$hostname" $intRow = $intRow + 1 $d.EntireColumn.AutoFit() Вот что получилось, она отправляет смс все как положено, но только выполняется разово, без интервала. И все таки не сохраняет ексель, помогите пожалуйста задать интервал времени пинга и что бы писался лог в екселе. Еще очень бы хотелось его заставить что бы он например делал пинг, ожидал, снова пинг, снова ждал минуту, и контрольный пинг, после чего отправлял смс о том что сервер не доступен. Суть в том что например в момент пинга железо может находиться в ребуте. и хотелось бы избежать лишних смс. |
|
Отправлено: 08:56, 20-03-2014 | #5 |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать [почти offtop]
Много делал поделок такого рода, начиная от оповещений еще на пейджер, звонков на стационарный, смс на сотовsй и емейл. Но вобщем, лучше всех работает система, когда потерявшие интернет юзеры очень оперативно звонят на мобилу. |
------- Отправлено: 09:40, 20-03-2014 | #6 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Просто бывает когда юзеров нет в помещении.
|
Отправлено: 12:41, 21-03-2014 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Пингер с оповещением SMS или на E-Mail | alex_cent | Сетевые технологии | 6 | 04-09-2013 10:42 | |
E8400 на i7 930 шило на мыло? | WiZ_LV | Процесcоры | 5 | 14-08-2010 10:46 | |
FreeBSD - Оповещения на мыло руту | Аlchemist | Общий по FreeBSD | 1 | 02-09-2008 23:25 | |
скрипт формы отправки на мыло | Denis Shutka | Вебмастеру | 1 | 10-01-2005 02:57 | |
Текст для Чата на сайте. Если можно то на мыло | kiro | Вебмастеру | 1 | 26-05-2003 11:05 |
|