|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - создание скриншота и его моментальная отправка на почтовый ящик |
|
CMD/BAT - создание скриншота и его моментальная отправка на почтовый ящик
|
Старожил Сообщения: 292 |
Профиль | Отправить PM | Цитировать Подскажите, как создать .bat (не PowerShell скрипт!!! на моей системе его нет)
чтобы он делал скриншоты когда сработает планировщик задач и отправлял их на почту. (моя почта@моя почту.ру) т.е. батник будет запускаться через планировщик задач . Время в планировщике наступило и он заскриншотил и отправил мне на почту Все решения что нашел в инете или платные или не рабочие. |
|
Отправлено: 16:43, 30-08-2019 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать v79italya, я даже уже и не знаю…
Давайте попробуем заменить в начале: [Reflection.Assembly]::LoadWithPartialName('System.Drawing') | Out-Null [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') | Out-Null А так-то идей нет. |
Отправлено: 17:01, 08-10-2019 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 235
|
Профиль | Отправить PM | Цитировать Iska, Вы не парьтесь много. Помощь - дело добровольное. Если в итоге ничего не получится - я не расстроюсь.
Можно попробовать по другому: скриншоты я как нибудь сделаю сторонними программами. А возможно отправлять на почту вложение из папки? то вложение, у которого дата создания или дата изменения были позже всех. |
Отправлено: 18:20, 08-10-2019 | #42 |
Старожил Сообщения: 235
|
Профиль | Отправить PM | Цитировать Iska, во первых, спасибо за код и за то что нашли причину.
смотрите. попробовал с этими строками: все отработало правильно. Потом попробовал с этими строками:
тоже все отработало правильно. только в коде из сообщения 13 только одна строка . Наверное поэтому и не работало. Только сейчас тоже есть проблема. Возможно ли запускать скрипт в фоне или в трее? Иначе черное окошко PShell(как cmd) виднеется на скриншоте. |
Отправлено: 18:42, 08-10-2019 | #43 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать В общем — не знаю. У меня работает и с [Reflection.Assembly]::LoadWithPartialName() и с Add-Type. Почему у Вас местами не работало с одним из них — нужно ждать мнения коллег-специалистов, коим я не являюсь.
Цитата v79italya:
Создайте задание в Планировщике заданий. На вкладке «Действия» создайте действие «Запуск программы». В группе «Параметры» в поле «Программа или сценарий» укажите: В поле «Добавить аргументы (необязательно)» укажите: где вместо выделенного укажите путь к Вашему файлу. Настройте расписание на вкладке триггеры — начало выполнения задания, повтор и продолжительность. Окно консоли PowerShell всё равно будет появляться (потому что, как я понял, сначала создаётся окно консоли, а затем уже, в процессе выполнения, к нему применяется сокрытие), но на скриншотах его не будет (если всё равно будет — попробуйте немного увеличить паузу в: ). Если Вам надо радикально — чтобы вообще даже не светилось окно в принципе, то можно будет ещё поиграться. |
|
Отправлено: 19:22, 08-10-2019 | #44 |
Старожил Сообщения: 235
|
Профиль | Отправить PM | Цитировать Iska, ok. Сделаю как советуете. Спасибо Вам большое!
|
Отправлено: 19:29, 08-10-2019 | #45 |
Старожил Сообщения: 235
|
Профиль | Отправить PM | Цитировать Цитата Iska:
если же первую строку заменить на две строки любого из двух предложенных Вами вариантов:
то все работает. Может, причина не в этом |
|
Отправлено: 20:57, 08-10-2019 | #46 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата v79italya:
|
|
Отправлено: 21:07, 08-10-2019 | #47 |
Старожил Сообщения: 235
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 21:17, 08-10-2019 | #48 |
Пользователь Сообщения: 67
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 21:14, 10-05-2023 | #49 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать прочёл выше сказанное и создал screen.ps1
[Reflection.Assembly]::LoadWithPartialName('System.Drawing') | Out-Null [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') | Out-Null Add-Type -AssemblyName 'System.Drawing' Add-Type -AssemblyName 'System.Windows.Forms' $oGraphics.CopyFromScreen($oRectangle.Location, [System.Drawing.Point]::Empty, $oRectangle.Size) $oMemoryStream = [System.IO.MemoryStream]::new() $oBitmap.Save($oMemoryStream, [System.Drawing.Imaging.ImageFormat]::Png) $oBitmap.Save('C:\abcabc\0001.png') $oMemoryStream.Seek(0, [System.IO.SeekOrigin]::Begin) | Out-Null $oMailMessage = New-Object -TypeName 'Net.Mail.MailMessage' $oMailMessage.From = 'from@mail.com' $oMailMessage.To.Add('to@mail.com') $oMailMessage.SubjectEncoding = [System.Text.Encoding]::Unicode $oMailMessage.Subject = "Screenshot at $(Get-Date)" $oMailMessage.IsBodyHTML = $true $oMailMessage.BodyEncoding = [System.Text.Encoding]::Unicode $oMailMessage.Body = "<h2>Hello World!</h2></br>Screenshot at $(Get-Date) here." $oContentType = New-Object -TypeName 'Net.Mime.ContentType' -Property @{ MediaType = "image/png" Name = "Screenshot at $(Get-Date).png" } $oAttachment = New-Object -TypeName 'Net.Mail.Attachment' -ArgumentList $oMemoryStream, $oContentType $oMailMessage.Attachments.Add($oAttachment) $oSmtpClient = New-Object -TypeName 'Net.Mail.SmtpClient' -ArgumentList 'mail.mail.com', 465 #465 $oSmtpClient.EnableSsl = $true $oSmtpClient.Credentials = New-Object -TypeName 'System.Net.NetworkCredential' -ArgumentList 'from@mail.com', '123456' $oSmtpClient.Send($oMailMessage) |
Отправлено: 15:26, 12-05-2023 | #50 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Автоматическая отправка файлов на почтовый ящик | shaman18 | Скриптовые языки администрирования Windows | 19 | 31-10-2018 00:08 | |
CMD/BAT - Отправка screenshot на п/ящик. | qqwwaass | Скриптовые языки администрирования Windows | 12 | 06-07-2013 16:04 | |
CMD/BAT - [решено] Отправка скриншота на email | andrew_gurylyov@vk | Скриптовые языки администрирования Windows | 22 | 23-02-2012 11:52 | |
V. 2007 - Разграничение прав на почтовый ящик. | bombording | Microsoft Exchange Server | 1 | 13-02-2012 07:43 | |
Разное - Создание LOG'a системы и отправка его по почте. | FreshMen85 | Microsoft Windows 7 | 0 | 08-08-2011 10:08 |
|