Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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: Gl05e

Gl05e (Level 1) - Jetzt verbinden

04.04.2012, aktualisiert 13:02 Uhr, 7835 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 Gl05e:
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: Gl05e
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: Gl05e
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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Batch-Script für die Messung der Netzwerkgeschwindigkeit (10)

Anleitung von Kraemer zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
Script zum Auflösen einer Ordnerstruktur und zurück gesucht (12)

Frage von websolutions zum Thema Batch & Shell ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...