Hallo,
ich hab ein kleines Problem. Und zwar möchte ich ein Skript haben, dass bei Unterlaufen einer bestimmten Trafficgrenze,
also bspw. 15kb/s ein eine Aktion ausführt.
Gibt es dafür irgendwelche Befehle?
Danke!
Datenpakete-Skript
-
- [ offen ]
-
finalcut -
5. Dezember 2009 um 14:25 -
Geschlossen -
Erledigt
-
-
Hallo,
die WMI ist dein Freund. Ein viel besserer Freund ist das AutoIt Script_O_Matic, das erstellt dir sogar mit 2-3 Mausklicks komplette Scripte.Spoiler anzeigen
[autoit]$colItems = ""
[/autoit] [autoit][/autoit] [autoit]
$strComputer = "localhost"$Output=""
[/autoit] [autoit][/autoit] [autoit]
$Output &= "Computer: " & $strComputer & @CRLF
$Output &= "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PerfRawData_Tcpip_NetworkInterface", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)If IsObj($colItems) then
[/autoit]
For $objItem In $colItems
$Output &= "BytesReceivedPersec: " & $objItem.BytesReceivedPersec & @CRLF
$Output &= "BytesSentPersec: " & $objItem.BytesSentPersec & @CRLF
$Output &= "BytesTotalPersec: " & $objItem.BytesTotalPersec & @CRLF
$Output &= "Caption: " & $objItem.Caption & @CRLF
$Output &= "CurrentBandwidth: " & $objItem.CurrentBandwidth & @CRLF
$Output &= "Description: " & $objItem.Description & @CRLF
$Output &= "Frequency_Object: " & $objItem.Frequency_Object & @CRLF
$Output &= "Frequency_PerfTime: " & $objItem.Frequency_PerfTime & @CRLF
$Output &= "Frequency_Sys100NS: " & $objItem.Frequency_Sys100NS & @CRLF
$Output &= "Name: " & $objItem.Name & @CRLF
$Output &= "OutputQueueLength: " & $objItem.OutputQueueLength & @CRLF
$Output &= "PacketsOutboundDiscarded: " & $objItem.PacketsOutboundDiscarded & @CRLF
$Output &= "PacketsOutboundErrors: " & $objItem.PacketsOutboundErrors & @CRLF
$Output &= "PacketsPersec: " & $objItem.PacketsPersec & @CRLF
$Output &= "PacketsReceivedDiscarded: " & $objItem.PacketsReceivedDiscarded & @CRLF
$Output &= "PacketsReceivedErrors: " & $objItem.PacketsReceivedErrors & @CRLF
$Output &= "PacketsReceivedNonUnicastPersec: " & $objItem.PacketsReceivedNonUnicastPersec & @CRLF
$Output &= "PacketsReceivedPersec: " & $objItem.PacketsReceivedPersec & @CRLF
$Output &= "PacketsReceivedUnicastPersec: " & $objItem.PacketsReceivedUnicastPersec & @CRLF
$Output &= "PacketsReceivedUnknown: " & $objItem.PacketsReceivedUnknown & @CRLF
$Output &= "PacketsSentNonUnicastPersec: " & $objItem.PacketsSentNonUnicastPersec & @CRLF
$Output &= "PacketsSentPersec: " & $objItem.PacketsSentPersec & @CRLF
$Output &= "PacketsSentUnicastPersec: " & $objItem.PacketsSentUnicastPersec & @CRLF
$Output &= "Timestamp_Object: " & $objItem.Timestamp_Object & @CRLF
$Output &= "Timestamp_PerfTime: " & $objItem.Timestamp_PerfTime & @CRLF
$Output &= "Timestamp_Sys100NS: " & $objItem.Timestamp_Sys100NS & @CRLF
if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
$Output=""
Next
Else
Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_PerfRawData_Tcpip_NetworkInterface" )
Endifoder info bzgl alle Netzwerkadapter
Spoiler anzeigen
[autoit]; Generated by AutoIt Scriptomatic December 05, 2009
[/autoit] [autoit][/autoit] [autoit]$wbemFlagReturnImmediately = 0x10
[/autoit] [autoit][/autoit] [autoit]
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"$Output=""
[/autoit] [autoit][/autoit] [autoit]
$Output &= "Computer: " & $strComputer & @CRLF
$Output &= "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)If IsObj($colItems) then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $objItem In $colItems
$Output &= "AdapterType: " & $objItem.AdapterType & @CRLF
$Output &= "AdapterTypeId: " & $objItem.AdapterTypeId & @CRLF
$Output &= "AutoSense: " & $objItem.AutoSense & @CRLF
$Output &= "Availability: " & $objItem.Availability & @CRLF
$Output &= "Caption: " & $objItem.Caption & @CRLF
$Output &= "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF
$Output &= "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF
$Output &= "CreationClassName: " & $objItem.CreationClassName & @CRLF
$Output &= "Description: " & $objItem.Description & @CRLF
$Output &= "DeviceID: " & $objItem.DeviceID & @CRLF
$Output &= "ErrorCleared: " & $objItem.ErrorCleared & @CRLF
$Output &= "ErrorDescription: " & $objItem.ErrorDescription & @CRLF
$Output &= "Index: " & $objItem.Index & @CRLF
$Output &= "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
$Output &= "Installed: " & $objItem.Installed & @CRLF
$Output &= "LastErrorCode: " & $objItem.LastErrorCode & @CRLF
$Output &= "MACAddress: " & $objItem.MACAddress & @CRLF
$Output &= "Manufacturer: " & $objItem.Manufacturer & @CRLF
$Output &= "MaxNumberControlled: " & $objItem.MaxNumberControlled & @CRLF
$Output &= "MaxSpeed: " & $objItem.MaxSpeed & @CRLF
$Output &= "Name: " & $objItem.Name & @CRLF
$Output &= "NetConnectionID: " & $objItem.NetConnectionID & @CRLF
$Output &= "NetConnectionStatus: " & $objItem.NetConnectionStatus & @CRLF
$strNetworkAddresses = $objItem.NetworkAddresses(0)
$Output &= "NetworkAddresses: " & $strNetworkAddresses & @CRLF
$Output &= "PermanentAddress: " & $objItem.PermanentAddress & @CRLF
$Output &= "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF
$strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0)
$Output &= "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF
$Output &= "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF
$Output &= "ProductName: " & $objItem.ProductName & @CRLF
$Output &= "ServiceName: " & $objItem.ServiceName & @CRLF
$Output &= "Speed: " & $objItem.Speed & @CRLF
$Output &= "Status: " & $objItem.Status & @CRLF
$Output &= "StatusInfo: " & $objItem.StatusInfo & @CRLF
$Output &= "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF
$Output &= "SystemName: " & $objItem.SystemName & @CRLF
$Output &= "TimeOfLastReset: " & WMIDateStringToDate($objItem.TimeOfLastReset) & @CRLF
if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
$Output=""
Next
Else
Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_NetworkAdapter" )
EndifFunc WMIDateStringToDate($dtmDate)
[/autoit] [autoit][/autoit] [autoit]Return (StringMid($dtmDate, 5, 2) & "/" & _
[/autoit]
StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
& " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFunc