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-ID: 140438

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

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

Edi.Pfisterer
Edi.Pfisterer 13.04.2010 um 08:23:42 Uhr
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
5t8d1e
5t8d1e 13.04.2010 um 09:59:46 Uhr
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
s7mahess
s7mahess 13.04.2010 um 11:05:13 Uhr
Goto Top
funktioniert an den meisten rechnern wunderbar nur einige geben mir keine ausgabe

es kommt nur eine leere msgbox
Edi.Pfisterer
Edi.Pfisterer 13.04.2010 um 11:49:34 Uhr
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?
s7mahess
s7mahess 13.04.2010 um 12:38:12 Uhr
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
Edi.Pfisterer
Edi.Pfisterer 13.04.2010 um 12:46:42 Uhr
Goto Top
Setz mal ein ' vor die erste Zeile "On Error Resume Next ".
Kommt eine Fehlermeldung? Falls ja - welche?
lg
s7mahess
s7mahess 13.04.2010 um 13:56:36 Uhr
Goto Top
nein kommt keine

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