quarta-feira, 18 de abril de 2012

Email com Espaço Livre dos Discos dos Seus Servidores

Script de Envio de Email com autenticação de Espaço livre em Disco para os seus Servidores.

Resolução:
1º) Copiar o abaixo indicado e gravar no notepad como free-disk-space.vbs


Const Unknown = 0
Const Removable = 1
Const Fixed = 2
Const Remote = 3
Const CDROM = 4
Const RAMDisk = 5

Const MailServer = "NOME_SERVIDOR_DE_EMAIL" ' Mail Server to use (SMTP)
Const MailServerPort = "25" ' SMTP Port used at Mail server (25 is default)
Const LOCAL_HARD_DISK = 3

Sub SendMail(Sender, Recipient, Subject, Message)
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = Subject
objMessage.From = Sender
objMessage.To = Recipient
objMessage.TextBody = Message
'Tipo de Autenticação, NONE, Basic (Base64 encoded), NTLM
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
'O Username do Servidor de SMTP
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "utilizador de email que envia"
'A password do Servidor SMTP
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password de email"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = MailServer

objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = MailServerPort
objMessage.Configuration.Fields.Update
objMessage.Send
End Sub
' get current computer name (from system environment variables)
Function GetCurrentComputerName
set oWsh = WScript.CreateObject("WScript.Shell")
set oWshSysEnv = oWsh.Environment("PROCESS")
GetCurrentComputerName = oWshSysEnv("COMPUTERNAME")
End Function
'==================================================================
' Begin main code
'==================================================================
str = ""
'Only enumerate physical disks (Not Network Drives)
Const HARD_DISK1 = 3
Const HARD_DISK2 = 3
'====================================================================
' Server Server1
'===================================================================
strComputer = "BOMSRV01"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK1 & "")
str = str & "Server: " & strComputer & vbcrlf
For Each objDisk in colDisks
str = str & "Disk: "& objDisk.DeviceID & vbTab
str = str & " Free Disk Space: "& FormatNumber(CLng(objDisk.FreeSpace / 1024 / 1024),0,,,-1) & " MB" & vbcrlf
Next
str = str & vbcrlf
'=============================================================
' Server server2
'============================================================
strComputer = "SQLSERVER"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK2 & "")
str = str & "Server: " & strComputer & vbcrlf
For Each objDisk in colDisks
str = str & "Disk: "& objDisk.DeviceID & vbTab
str = str & " Free Disk Space: "& FormatNumber(CLng(objDisk.FreeSpace / 1024 / 1024),0,,,-1) & " MB" & vbcrlf
Next
str = str & vbcrlf

'Send the email
SendMail "de_exemplo@exemplo.pt", "to_aa@zz.pt;bb@zz.pt", "Cliente XPTO " & strComputerName & ": Relatorio de Espaco em Disco", str

2) Modificar os valores do script que estão a sublinhado para os valores da vossa organização.

3)Colocar nas Tarefas agendadas todos os dias a correr o Script acima indicado.

Et Voilá.

Sem comentários:

Enviar um comentário

Unexpected Kernel Mode Trap while using Office 2016

I have been fighting with my computer searching for a fix for Unexpected Kernel Mode Trap when I attempt to open attachments in Outlook 2...