Hi @ all,
ich soll auf einen lokalen rechner per Skript den Freespace errechnen, dafür soll
1. Untergrenze des Lowspace angegeben werden, also den Wert, der nicht unterschritten werden soll
2. die jeweilige Partition / Festplatte
wie kann ich das realisieren?!
ich sollte das über Eingabeaufforderung machen, aber wie übergebe ich das anschließend ans PRogramm.
Angenommen ich gebe ein : wscript <name des skriptes> untergrenze partition,
woher weiß das Programm, was was ist, bzw. geht das überhaupt so?! und wie gebe ich das dann weiter im PRogramm, also beim Funktionsaufruf, kommt das dann in die Klammer des Aufrufs?!
Bitte helft mir, bin durch
Gruß, Hawkin
ich soll auf einen lokalen rechner per Skript den Freespace errechnen, dafür soll
1. Untergrenze des Lowspace angegeben werden, also den Wert, der nicht unterschritten werden soll
2. die jeweilige Partition / Festplatte
wie kann ich das realisieren?!
ich sollte das über Eingabeaufforderung machen, aber wie übergebe ich das anschließend ans PRogramm.
Angenommen ich gebe ein : wscript <name des skriptes> untergrenze partition,
woher weiß das Programm, was was ist, bzw. geht das überhaupt so?! und wie gebe ich das dann weiter im PRogramm, also beim Funktionsaufruf, kommt das dann in die Klammer des Aufrufs?!
Bitte helft mir, bin durch
Gruß, Hawkin
PHP:
Set WshShell = WScript.CreateObject("WScript.Shell")
Const LowSpace = "0.1" 'Hier fest angegebener Prozentsatz, ensprechen 10 %
'Function----------------------------------------------------
sysname = "....." aktueller computer...
Function Freespace(sysname)
On Error Resume Next 'Fehler werden abgefangen
Set objPartitionSet = item.Associators_("Win32_DiskDriveToDiskPartition", "Win32_DiskPartition")
For Each objPartition In objPartitionSet
Set objDriveSet = objPartition.Associators_("Win32_LogicalDiskToPartition", "Win32_LogicalDisk")
aCounter = 0
For Each objDrive In objDriveSet
WScript.Echo "objPartition.bootpartition :: " & objPartition.bootpartition
If objPartition.bootpartition Then
WScript.Echo objDrive.Caption & " - Boot Partition"
Else
WScript.Echo objDrive.Caption & " - PArt"
End If
WScript.Echo "File Sys:" & objDrive.FileSystem
WScript.Echo "Total Size:" & fFormatNum(objDrive.Size, False)
drv = fFormatNum(objDrive.FreeSpace, False)
Size=fFormatNum(objDrive.Size, False)
LenDRV = Len(drv)
LenSize = Len(Size)
drv=Left(drv,LenDRV - 2)
Size=Left(Size,LenSize - 2)
FreeSpacePrecent = DRV/Size
if FreeSpacePrecent<=LowSpace then
SendMail SysName,objDrive.Caption,drv
end if
WScript.Echo "Free!:" & drv
WScript.Echo "S/N:" & fCheckValue(objDrive.VolumeSerialNumber, Empty, Empty)
Next
Next
End Function
Function SendMail (fDatabaseName)
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent 1, _
"LowSpace detected PC " & sysname
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Freespace Check"
objMessage.Sender = "alert@medicalcommunications.com"
objMessage.To = "achrist.....@..."
objMessage.TextBody = "Alert-Mail: An Low Space was detected on " &objDrive.Caption & "by checking " & sysname &, "please check it" &
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = ...
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ...
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = ...
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = ...
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = ...
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ...
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = ...
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = ...
objMessage.Configuration.Fields.Update
objMessage.Send
End Function
'Skript_______________________
' main routine
Const EVENT_SUCCESS = 0
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent EVENT_SUCCESS, _
"CheckFreeSpace wird gestartet"
For li = 0 To 3
Call Freespace( ) 'sollten hier die Parameter rein?!
Next
objShell.LogEvent EVENT_SUCCESS, _
"CheckFreespace beendet"