s7mahess
Goto Top

Memory Bank belegung herausfinden.

Guten Morgen,

nach mehreren Tagen erfolgloser suche bei google und co bin ich immernoch auf der Suche nach einem Programm welches mir die belebgung der Memory bänke verrät.

Das Programm muss:

- portable sein (keine Installation nötig)
- mit eingeschränkten Nutzerrechten funktionieren


Leider hab ich noch bis jetzt noch nichts passendes gefunden und mir bleibt wohl nix anderes als bei der Inventur jeden Rechner der zuwenig hat aufzuschrauben face-sad

260 Rechner ;-|

Content-Key: 140438

Url: https://administrator.de/contentid/140438

Printed on: April 23, 2024 at 19:04 o'clock

Member: Edi.Pfisterer
Edi.Pfisterer Apr 13, 2010 at 06:23:42 (UTC)
Goto Top
Hallo!
Versuch mal folgendes:

Ramlesen.vbs
On Error Resume Next
strComputer = ".\root\cimv2"  
s = ""  
Set objWMI = GetObject("winmgmts:\\" & strComputer)  
sWmiq = "Select * from Win32_PhysicalMemory"  
Set colItems = objWMI.ExecQuery(sWmiq,,48)
For Each objItem in colItems
s=s & "Bank: " & objItem.BankLabel & vbCrLf  
s=s & "Capacity: " & objItem.Capacity/1048576 & " MB" & vbCrLf  
s=s & "Data Width: " & objItem.DataWidth & vbCrLf  
s=s & "Speed: " & objItem.Speed & " ns" & vbCrLf  
tx = objItem.TypeDetail
 If tx="16" Then tx="Static column"  
 If tx="32" Then tx="Pseudo static"  
 If tx="64" Then tx="RAMBUS"  
 If tx="128" Then tx="Synchronous"  
 If tx="512" Then tx="EDO"  
 If tx="1024" Then tx="Window DRAM"  
 If tx="2048" Then tx="Cache DRAM"  
s=s & "Type: " & tx & vbCrLf & vbCrLf  
Next
' MsgBox s  
Wscript.Echo s

Obs mit Userrechten läuft, weiss ich allerdings nicht...
Wäre aber auch egal...
Ich würde daraus ein Logonskript auf Computerebene basteln (damits mit dem Systemkonto ausgeführt wird), das mir das Ergebnis + Machinename in ein File schreibt...
weil: 260 mal Doppelklicken kann einem auch mit der Zeit auf den Wecker gehen face-wink
ausserdem: Real Men don't click!

lg
Edi
Member: 5t8d1e
5t8d1e Apr 13, 2010 at 07:59:46 (UTC)
Goto Top
Hallo

per Powershell noch einfacher und remote

$liste = @("Computer1","Computer2","Computer3")  

ForEach-Object ($computer in $liste) { Get-WmiObject -ComputerName $Computer win32_physicalmemory | format-table}

ist etwas grob der Code weil ohne Fehlerbehandlung, soll aber ja auch nur ein Vorschlag sein.


Grüße
Torsten
Member: s7mahess
s7mahess Apr 13, 2010 at 09:05:13 (UTC)
Goto Top
funktioniert an den meisten rechnern wunderbar nur einige geben mir keine ausgabe

es kommt nur eine leere msgbox
Member: Edi.Pfisterer
Edi.Pfisterer Apr 13, 2010 at 09:49:34 (UTC)
Goto Top
Könnte an
Win32_PhysicalMemory
auf einem 64-bit-System liegen...

Ist dem so?
UND: läufst Du jetzt wirklich durchs ganze Haus? Oder hast Du dir das Skript schon umgebastelt?
Member: s7mahess
s7mahess Apr 13, 2010 at 10:38:12 (UTC)
Goto Top
liegt nicht am 64 bit.

und ja ich laufe durchs ganze haus weil ich sowieso an jedem rechner den zustand der hardware prüfen muss und einweisungen mache
Member: Edi.Pfisterer
Edi.Pfisterer Apr 13, 2010 at 10:46:42 (UTC)
Goto Top
Setz mal ein ' vor die erste Zeile "On Error Resume Next ".
Kommt eine Fehlermeldung? Falls ja - welche?
lg
Member: s7mahess
s7mahess Apr 13, 2010 at 11:56:36 (UTC)
Goto Top
nein kommt keine

nur so nebenbei in deinem Quelltext oben steht On error Resume Next bereits