Лучший отвечающий
Power Shell - отправка письма

Вопрос
-
Здравствуйте!
такой вопросик, необходимо с помощью скрпта отправлять письмо с вложением.
используется Send-MailMessageна просторах нашел пример скрипта:
#How to create a PSCredential object $secpasswd = ConvertTo-SecureString "your_password_here" -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ("username_replacehere", $secpasswd) #Send email using send-mailmessage send-mailmessage -to "scottalvarino <scottalvarino@scottalvarino.com>" -from "Alvarino<email@techjunkie.tv>" -subject "email1" -body "this is body1" -smtpserver smtp.techjunkie.tv -credential $mycreds
в прнцепе с ним все работает, но есть пара вопросов:
1) можно ли избавиться от этого:
$secpasswd = ConvertTo-SecureString "your_password_here" -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ("username_replacehere", $secpasswd)
и при этом что бы -credential принимал значение ("login", "password")
или даже еще лучше что бы данные авторизации для почты брались не из скрипта а из "хранилища учетных данных для автоматического входа" что бы не светиться пароликом в скрпте :)- Изменено ©LIS®™ 19 февраля 2014 г. 11:59
19 февраля 2014 г. 11:54
Ответы
-
Добавить параметры в скрипт:
param( $Login, $Password ) #How to create a PSCredential object $secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ($Login, $secpasswd) #Send email using send-mailmessage send-mailmessage -to "scottalvarino <scottalvarino@scottalvarino.com>" -from "Alvarino<email@techjunkie.tv>" -subject "email1" -body "this is body1" -smtpserver smtp.techjunkie.tv -credential $mycreds # Запуск скрипта .\Send.ps1 -Login test -Password test
Для использования CredMan:
1) Качаем скрипт http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Credentials-d44c3cde
2) Загружаем в текущую сессию . "C:\script\CredMan.ps1"
3) С помощью Enum-Creds смотрим подходящие учетные данныеEnum-Creds | Where {$_.TargetName -eq "LegacyGeneric:target=MicrosoftOffice15_Data:orgid:my@xxxx.onmicrosoft.com"} | Foreach { .\Send.ps1 -Login $_.UserName -Password $_.CredentialBlob }
Если Login определяется из login@domen.ru,то:
.\Send.ps1 -Login ($_.TargetName.split(":")[-1].split("@")[0]) -Password $_.CredentialBlob
- Помечено в качестве ответа ©LIS®™ 24 февраля 2014 г. 6:44
19 февраля 2014 г. 12:22Отвечающий
Все ответы
-
Добавить параметры в скрипт:
param( $Login, $Password ) #How to create a PSCredential object $secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ($Login, $secpasswd) #Send email using send-mailmessage send-mailmessage -to "scottalvarino <scottalvarino@scottalvarino.com>" -from "Alvarino<email@techjunkie.tv>" -subject "email1" -body "this is body1" -smtpserver smtp.techjunkie.tv -credential $mycreds # Запуск скрипта .\Send.ps1 -Login test -Password test
Для использования CredMan:
1) Качаем скрипт http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Credentials-d44c3cde
2) Загружаем в текущую сессию . "C:\script\CredMan.ps1"
3) С помощью Enum-Creds смотрим подходящие учетные данныеEnum-Creds | Where {$_.TargetName -eq "LegacyGeneric:target=MicrosoftOffice15_Data:orgid:my@xxxx.onmicrosoft.com"} | Foreach { .\Send.ps1 -Login $_.UserName -Password $_.CredentialBlob }
Если Login определяется из login@domen.ru,то:
.\Send.ps1 -Login ($_.TargetName.split(":")[-1].split("@")[0]) -Password $_.CredentialBlob
- Помечено в качестве ответа ©LIS®™ 24 февраля 2014 г. 6:44
19 февраля 2014 г. 12:22Отвечающий -
что то там скрипт во втором варианте просто мегаздоровый :)
Уточнюсь, если добавить параметр:param(
$Login,
$Password)то паролик и логин придется писать самому при запуске скрипта? если да то не вариант :(
а второй вариант что то там такой скипт что голову можно сломать)
чего нить по проще может быть? ака взять данные из учетки в сохраненных паролях windows или использовать такую то учетку? в любом случае спасибо) попробую разобрать тот скрипт по полочкам может удастся сократить до того объема что мне нужно)20 февраля 2014 г. 11:42