| Napisany przez Administrator,
z 14-05-2009 09:54
|
Opinie : 725  |
Ulubione : 5 |
Opublikowane w : skrypty, VBScript |
Polecam połączenie tego skryptu z wysyłaniem maila gdzie body maila to zmienna str, do tego dodajemy parametr od którego ma wysyłać maile np: 5GB (5*1024*1024) i mamy narzędzie które powiadamia nas o sytuacjach krytycznych w naszym środowisku Const HARD_DISK = 3 strComputer = "name-of-your-server" Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set Disks = objWMIService.ExecQuery _ ("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "") str = str & "Server: " & strComputer & vbcrlf For Each objDisk in Disks 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 WScript.echo str ------------------------------------------------------------------------------ Opcja z wysyłaniem maila pod warunkiem freespace poniżej limitu Sub sendMail(mailto,strBodyMail) Set cdoMail = CreateObject("CDO.Message") Set cdoConf = CreateObject("CDO.Configuration") Set WshNetwork = WScript.CreateObject("WScript.Network") cdoMail.Subject = "Diskspace check on " &WshNetwork.ComputerName & " " & Time &" "& Date cdoMail.From = "diskspace.check@"&WshNetwork.ComputerName cdoMail.To = mailto cdoMail.TextBody = strBodyMail 'If IsNull(strAttachment) Then 'Nothing 'Else 'cdoMail.AddAttachment strAttachment 'End If cdoConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 cdoConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Twój serwer SMTP" cdoConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 cdoConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0 cdoConf.Fields.Update Set cdoMail.Configuration = cdoConf 'dodatkowo ustawiłem priorytet High na wiadomości cdoMail.Fields.Item("urn:schemas:mailheader:X-MSMail-Priority") = "High" ' For Outlook 2003 cdoMail.Fields.Item("urn:schemas:mailheader:X-Priority") = 2 ' For Outlook 2003 also cdoMail.Fields.Item("urn:schemas:httpmail:importance") = 2 ' For Outlook Express cdoMail.Fields.Update cdoMail.Send Set cdoMail = Nothing End Sub Const LOCAL_HARD_DISK = 3 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colMonitoredDisks = objWMIService.ExecNotificationQuery _ ("Select * from __instancemodificationevent within 30 where " _ & "TargetInstance isa 'Win32_LogicalDisk'") i = 0 Do While i = 0 Set objDiskChange = colMonitoredDisks.NextEvent If objDiskChange.TargetInstance.DriveType = LOCAL_HARD_DISK Then If objDiskChange.TargetInstance.Size < 100000000 Then body = "Hard disk space is below 100000000 bytes." SendMail("Twój adres", body) End If End If Loop
------------------------------------------------------------- keywords : diskspace, freespace, vbs, vbscript, skrypty vbs, windows scripting, powershell, script, scripting, windows scripting, wmi, wmi script, mkowalczyk, clearcase, itil, reklama, pomoc,vbs, vbscript, skrypty vbs, windows scripting, powershell, script, scripting, windows scripting, wmi, wmi script, mkowalczyk, clearcase, itil, reklama, pomoc Ostatnie uaktualnienie : 10-06-2009 15:34
|