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

Показать сообщение отдельно

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


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

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


Быть может Вам подойдет не PowerShell, а VBS/WSH? Вот тут пример есть: Примеры скриптов для администрирования
Скрипт сжимает указанную папку с логами и отправляет по указанному адресу.
Недостатки решения:
- использование внешней утилиты сжатия 7z.exe;
- необходимость Exchange server в организации.
Код: Выделить весь код
' === Script Information Header ===
' Script Name: SendArchive.vbs
' Date:        19.10.09
' Author:      Виталий Бочкарев
' Description: Скрипт сжатия папки и отправки архива по почте

' === Initialization Block ===
Option Explicit
On Error Resume Next
Dim mWorkDir, mCommand
Dim oShell, oFSO, oEmail
Const mFolderToCompress = "C:\Test Folder\*"
Const mArhiveName = "Attachment.zip"
Const mFrom = "script@domain.com"
Const mTo = "user@domain.com"
Const mSubject = "Letter Subject"
Const mTextBody = "Look the attachment."
Const mSMTPServer = "mail.domain.com"
Const mSMTPport = 25

' ==== Script Main Logic ====
' Создание объекта оболочки
Set oShell = CreateObject("WScript.Shell")
' Создание объекта файловой системы
Set oFSO = CreateObject("Scripting.Filesystemobject")
' Создание объекта почтового сообщения
Set oEmail = CreateObject("CDO.Message")
' Получение рабочей директории скрипта
mWorkDir = Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
' Составление команды для упаковки указанной директории
mCommand = """" & mWorkDir & "7z.exe""" & " a -y " & """" & mWorkDir & mArhiveName _
  & """ """ & mFolderToCompress & """"
' Упаковка директории
Call oShell.Run(mCommand, 0, True)
' Составление почтового сообщения
oEmail.From = mFrom
oEmail.To = mTo
oEmail.Subject = mSubject
oEmail.Textbody = mTextBody
' Прикрепление архива к сообщению
Call oEmail.AddAttachment(mWorkDir & mArhiveName)
' Настройка почтового канала
oEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/" & _
  "cdo/configuration/sendusing") = 2
oEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/" & _
  "cdo/configuration/smtpserver") = mSMTPServer
oEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/" & _
  "cdo/configuration/smtpserverport") = mSMTPport
oEmail.Configuration.Fields.Update
' Отправка сообщения
oEmail.Send
WScript.Sleep 300
' Удаление архива
Call oFSO.DeleteFile(mWorkDir & mArhiveName, True)

-------
Статьи для системных инженеров http://www.sysengineering.ru


Последний раз редактировалось vitaliyboch, 16-12-2009 в 07:54.

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:31, 23-11-2009 | #4