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

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

Ответить
Настройки темы
PowerShell - Автоматическая отправка документов надлежащему адресату

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


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

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


Изменения
Автор: VictorST
Дата: 12-06-2015
Доброго времени суток, уважаемые скриптописатели! Нужны ваши бесценные советы. Задумка в том, что я хочу попытаться написать сложносоставной скрипт, который будет запускаться вручную в операционной системе Windows 7 Professional и он будет автоматически создавать почтовые сообщение Outlook 2010, затем забирать файлы из определенной папки (по имени файла определяя, к какому адресату отнесено какое сообщение) и затем данные файлы прикладывать к письму (в котором автоматически будет указан адрес именно того получателя, которому надлежит получить документ с соответствующим названием), а затем по всем письмам будет дана команда отправки и их получат именно те адресаты, которые должны их получить (ибо письма конфиденциальны).

Возможно ли написать что-то подобное в виде скрипта для Powershell? Заранее спасибо за советы. Если возможно, то дайте пожалуйста ссылки на статьи по написанию скриптов для Windows. У клиентов машины на Windows 7 Enterprise. Вся затея нужна для того, чтобы решить проблему с 1С, которую толком я не знаю и просто хочу добиться того, чтобы расчётные листки автоматически рассылались именно тем лицам, для которых они предназначены.

Вот что я начитал и надумал:

$From = "dulin@chelyabinsk.ru"
$To = "michalich@chelyabinsk.ru"
$Attachment = "C:\SECRET\LoveStory-1.pdf"
$Subject = "LoveStory"
$Body = "Have a great day! "
$SMTPServer = "mail.chelyabinsk.ru"
$SMTPPort = "587"

$From = "dulin@chelyabinsk.ru"
$To = "dmitrich@chelyabinsk.ru"
$Attachment = "C:\SECRET\LoveStory-2.pdf"
$Subject = "LoveStory"
$Body = "Have a great day! "
$SMTPServer = "mail.chelyabinsk.ru"
$SMTPPort = "587"

$From = "dulin@chelyabinsk.ru"
$To = "egorich@chelyabinsk.ru"
$Attachment = "C:\SECRET\LoveStory-3.pdf"
$Subject = "LoveStory"
$Body = "Have a great day! "
$SMTPServer = "mail.chelyabinsk.ru"
$SMTPPort = "587"

Send-MailMessage -From $From -to $To -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl `
-Credential (Get-Credential) -Attachments $Attachment

После этого все прописываю в файле .txt, которому присваиваю расширение .ps2 и после этого запуская этот файл можно будет добиться того, что каждый из прописанных адресатов получит именно свой файл. То есть, michalich получит по почте файл LoveStory-1.pdf, dmitrich получит по почте файл LoveStory-2.pdf и так далее, хоть там 40 человек ещё будет прописано (весь завод). Я всё правильно понял или нужно что-то скорректировать? Заранее спасибо за советы!

P.S объясните пожалуйста, за что отвечает параметр -cc? Не нашел инфы зачем это надо.

Отправлено: 23:22, 11-06-2015

 

Ветеран


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

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


Цитата VictorST:
Вся затея нужна для того, чтобы решить проблему с 1С, которую толком я не знаю и просто хочу добиться того, чтобы расчётные листки автоматически рассылались именно тем лицам, для которых они предназначены. »
Download Collaboration Data Objects, version 1.2.1 from Official Microsoft Download Center+Отправка сообщений по SMTP из VBScript, объектная модель CDO, объект CDO.Message - AskIt.RU. Можете использовать как внешний .vbs-скрипт, так и перевести его на 1C (и, помнится, в самой 1С во внешней библиотеке тоже что-то было про отправку/получение писем).

Цитата VictorST:
P.S объясните пожалуйста, за что отвечает параметр -cc? Не нашел инфы зачем это надо. »
Скорее, особо и не пытались. Электронная почта — Википедия:
Цитата:
Сc: (RFC 822, RFC 1123) — (от англ. carbon copy) содержит имена и адреса вторичных получателей письма, к которым направляется копия. Участвует в формировании поля SMTP RCPT TO, как и поле "To".

Отправлено: 05:39, 12-06-2015 | #2



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

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


Забанен


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

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


Цитата VictorST:
.ps2
Может все же .ps1?!
Цитата VictorST:
Я всё правильно понял или нужно что-то скорректировать?
Конечно же нужно "скорректировать", а в идеале и вовсе задаться вопросом: для чего танцевать код, когда его нужно писать? Если имена (пароли, явки, адреса - нужное подчеркнуть) хранятся в JSON (XML, SQLite, хэш-литерале - также подчеркнуть нужное), достаточно замутить перебор данных с последующей отправкой нужных данных (при условии, что ссылки на аттачи прописаны в этих данных). Но Outlook'ом здесь не шибко пахнет, ибо командлет Send-MailMessage согласно справке "отправляет сообщение электронной почты из Windows PowerShell", поэтому придется скорее использовать COM от Outlook.
Цитата Iska:
Можете использовать как внешний .vbs-скрипт...
Резонный вопрос - зачем?

Отправлено: 07:09, 12-06-2015 | #3


Ветеран


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

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


Цитата greg zakharov:
Резонный вопрос - зачем? »
Цитата VictorST:
1С, которую толком я не знаю »

Отправлено: 12:40, 12-06-2015 | #4


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


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

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


В общем мне кажется я придумал решение этой задачи с использование VBA в Excel 2013 в тандеме с Outlook 2013. Посмотрим, что выйдет из этого...

Отправлено: 12:28, 13-06-2015 | #5


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


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

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


ВОТ! РЕШЕНО! Человек пишет 100% рабочее решение, не постесняюсь привести его сюда (и пусть все так делают, а не будут хмырями, которые тычут пальцем во всех и говорят какие они идиоты и не говорят ничего полезного, к счастью на OSzone такого не замечал). http://www.mrspreadsheets.com/1/post...ttachment.html

Отправлено: 20:19, 15-06-2015 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Автоматическая отправка файлов из локального каталога на FTP __sa__nya Хочу все знать 5 09-03-2015 09:19
[решено] автоматическая отправка писем win 7 For_Sites@twitter Хочу все знать 11 26-10-2013 12:02
2010 - Outlook 2010 автоматическая отправка сообщения. wader_kos Microsoft Office (Word, Excel, Outlook и т.д.) 1 03-06-2013 15:16
VBS/WSH/JS - Автоматическая отправка почты в контексте Outlook. MioZo Скриптовые языки администрирования Windows 1 21-08-2011 12:13
[решено] Автоматическая отправка почты (не спам) senatum Хочу все знать 21 10-01-2011 21:23




 
Переход