Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per Script Netzwerkgeschwindigkeit auslesen?!

Frage Microsoft Windows Netzwerk

Mitglied: 14634

14634 (Level 1)

04.04.2012, aktualisiert 13:02 Uhr, 8780 Aufrufe, 5 Kommentare

Hallo,

ich möchte per Script die eingestellt Netzwerkgeschwindigkeit unserer Client`s auslesen, ist sowas per Script möglich?

Haben eine Windows XP umgebung, unter Systeminfo steht leider nix zur Geschwindigkeit da.
Gibt es hier eine andere möglichkeit?

Danke im voraus

edit:

habe jetzt folgendes gefunden:

Set objWMIService = GetObject("winmgmts:")
Set wnet = CreateObject("WScript.Network")
Set fso = CreateObject("Scripting.FileSystemObject")
Set colNicConfig = objWMIService.ExecQuery("SELECT * FROM " & _
"Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
Const ForAppending = 8
Const ForReading = 1
Const ForWriting = 2

textdateipfad = "C:\"
textdateiname = wnet.ComputerName & ".txt"

On Error Resume next

Set textdatei = fso.CreateTextFile(textdateipfad & textdateiname, True) 'True = Überschreiben
ok = (Err.Number =0)
textdatei.Close
If ok Then
On Error Goto 0
For Each objNicConfig In colNicConfig
If Not IsNull(objNicConfig.IPAddress) Then
strIPAddresses = Join(objNicConfig.IPAddress)
Else
strIPAddresses = ""
End If
If Len(objNicConfig.Index) = 1 Then
nic_intindex = "000" & objNicConfig.Index
ElseIf Len(objNicConfig.Index) = 2 Then
nic_intindex = "00" & objNicConfig.Index
Else
'WScript.Echo nic_intindex
End If
speed = get_nic_speed(nic_intindex)
Set textdatei = fso.OpenTextFile(textdateipfad & textdateiname,ForAppending)
textdatei.WriteLine "Hostname= " & wnet.ComputerName
textdatei.WriteLine "Network Adapter= " & objNicConfig.Index
textdatei.WriteLine "IP Adress(en)= " & strIPAddresses
textdatei.WriteLine "MAC Adresse= " & objNicConfig.MACAddress
textdatei.WriteLine "Description= " & objNicConfig.Description
textdatei.WriteLine "Duplexmodus= " & speed
textdatei.Close
Next
Else
WScript.Echo "Fehler: " & Err.Description
End If


Function get_nic_speed(intindex) 'intindex 4 stellige Indexnummer
Const HKEY_LOCAL_MACHINE = &H80000002
arrmodes = array ("SpeedAndDuplex","SpeedDuplex","ForceSpeedDpx","MediaType","DuplexMode","ConnectionType","RequestedMediaType","ConnectionType_A","ForceSpeedDpx","*SpeedDuplex","EXTPHY")
strComputer = "."
Set oReg=GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
Set wshshell = WScript.CreateObject ("wscript.shell")
for each mode in arrmodes
strlink_desc = "ParamDesc"
strkeylink_desc = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\"& intindex & "\Ndi\params\" & mode & "\"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strkeylink_desc,strlink_desc,reglink_desc
if reglink_desc <> "" then
strfinal_key = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\"& intindex
strfinal_value = mode
oReg.GetStringValue HKEY_LOCAL_MACHINE,strfinal_key,strfinal_value,regfinal_value
strkey_enum = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\"& intindex & "\Ndi\params\" & mode & "\enum"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strkey_enum,regfinal_value,speed_name
get_nic_speed = speed_name
End If
Next
End Function



leider ließt er nur meine lokalen Einstellungen, ich möchte aber gerne das er eine TXT Liste mit PC`s abarbeitet und mir dann von allen wiedergibt.
Mitglied: 106009
04.04.2012 um 14:52 Uhr
Hi,

Zitat von 14634:
ich möchte per Script die eingestellt Netzwerkgeschwindigkeit unserer Client`s auslesen, ist sowas per Script möglich?

Es sollte eigentlich möglich sein, ist es aber definitiv mit normalen Mitteln nicht, da weder WIMC noch die Powershell 2.0 die Speed- bzw. MaxSpeed-Werte liefern.
Und wenn man sich die ganzen Beiträge dazu im Netzt ansieht, hat es offenbar auch niemand geschafft oder ich habe es überlesen.

Ich würden einen anderen Weg wählen:
Im Key HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318 und dem entsprechenden numerischen Unterkey für den NIC gibt es den REG_DWORD-Wert
"ForceSpeedDpx", der hier für meinen NIC NVIDIA nForce 10/100/1000 Mbps Ethernet folgende Bedeutung aufweist:

0 Aut0Negotiate, ergibt 1 GB/s
1 10 MB Halfduplex
2 10 MB Fulllduplex
3 100 MB Halfduplex
4 100 MB Fullduplex
5 Autonegotiate 10 MB Halfduplex
6 Autonegotiate 10 MB Fullduplex
7 Autonegotiate 100 MB Halfduplex
8 Autonegotiate 100 MB Fullduplex

Das ließe sich mit einme REG Query-Aufruf und einem Find/Findstr-Filter auf den Displaynamen des NIC verhältnismäßig einfach ermitteln.

Ob die Werte identisch sind für alle moderneren Netzwerkkarten, kann ich allerdings nicht sagen, da meine Boards hier alle den NVIDIA- Kram besitzen.
Probiere es doch einfach mal aus.

Gruß
Bitte warten ..
Mitglied: 14634
04.04.2012 um 15:20 Uhr
hey, leider habe ich immer bisschen andere werte, da wir verschiedene NIC`s haben.

ich wollte das vbs Script mit psexec auf die anderen PC`S ausführen, nur leider bekomme ich da eine fehlermeldung das die Datei nicht gefunden war, mein Befehl hieß:

psexec -c -f \\PC_NAME start.vbs
Bitte warten ..
Mitglied: 106009
04.04.2012 um 15:49 Uhr
Das funktioniert so auch nicht.

Du musst die vollständigen Pfade zu den Dateien angeben, .vbs kannst du allein so auch nicht aufrufen, du musst es so versuchen:
01.
psexec -c -f %systemroot%\system32\wscript.exe LW:\Pfad\start.vbs
Nur als Anmerkung. Man sollte eine Datei, unabhängig von der Endung niemals nach einem im System vorhandenen Parameter oder einem Dateinamen verwenden.
Das führt garantiert irgendwann zu Problemen.
Bitte warten ..
Mitglied: 14634
05.04.2012 um 06:32 Uhr
Hey, danke für deine Antwort, leider bekomme ich folgenden Fehler:


c:\temp>psexec \\PC_Name -c -f %systemroot%\system32\wscript.exe x:\test.vbs

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

Error copying C:\Windows\system32\wscript.exe to remote system:
Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

das X Laufwerk ist eine Netzlaufwerk.
Bitte warten ..
Mitglied: 106009
05.04.2012 um 07:41 Uhr
das X Laufwerk ist eine Netzlaufwerk.

Hast du dir die Erklärung zum Parameter -c bei psexec mal durchgelesen?

Wenn du wissen willst, ob das überhaupt funktioniert, starte mit psexec ohne zusätzliche Parameter eine Konsole auf dem Remote-Rechner und führe dein Script dort direkt aus.
Vorher natürlich dorthin kopieren.

Wenn du dort ohne dein Script
01.
wmic nic {index} > .\nicinfo.txt
ausführst, wirst du wahrscheinlich feststellen, wenn du dir die nicinfo.txt mit type anzeigen lässt, dass man zu Speed und MaxSpeed für die Interfacekarte keine Informationen bekommt.
Wahrscheinlich musst du den Befehl wmic nach einer kurzen Zeit durch STRG-PAUSE unterbrechen. WMIC reagiert da offenbar etwas unnormal.
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
gelöst PsExec Script zum auslesen der PC Seriennummer (7)

Frage von krx-adm zum Thema Netzwerkgrundlagen ...

Batch & Shell
gelöst SID per Script auslesen und als Variable einlesen (9)

Frage von tzabbi55 zum Thema Batch & Shell ...

Batch & Shell
gelöst Datei zeilenweise auslesen - es passiert aber nichts (3)

Frage von Nagus zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Netzwerkgeschwindigkeit bricht bei Domänenan- und abmeldung zusammen (10)

Frage von hermes zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (26)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (16)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...