diematrix
Goto Top

OS ermitteln, Ramspeichergröße in Datei schreiben lassen und wenn Speicher größer 512MB Installation starten

Hallo zusammen,

Ich bin absoluter Batchanfänger und habe die Aufgabe erhalten folgende Anforderung in eine Batchdatei umzusetzen,

1. Betriebssystemerkennung per Batch (Windows 2000, Windows XP, Windows 2000 Server und Windows 2003 Server)
2. Unter Windows 2000 und Windows XP soll wenn Ram >512MB ist Applikation A starten (sagen wir der Einfachheit halber A.exe)
Unter Windows 2000 Server und Windows 2003 Server soll wenn Ram >512MB ist Applikation B starten (sagen wir der Einfachheit halber z.b. B.exe)
Falls Ram <512MB ist soll die Batchdatei einfach beendet werden.

Bei der Betriebsystemerkennung gibt es bereits Probleme. Ich wollte dies über den Windows-Installationspfad festmachen (siehe Beispiel unten), aber leider haben Windows XP und Windows Server 2003 den gleichen
Pfad (c:\windows). Und Windows 2000 und Windows 2000 Server benutzen auch den gleichen Pfad (c:\winnt). Damit könnte man oben genannten Punkt 2 nicht umsetzen Eventuell irgendwie über den Befehl ver?
Aber auch hier dürfte es Probleme geben, da z.B Windows 2000 und Windows 2000 Server 5.0.2195 als Versionsnummer haben und somit auch keine Unterscheidung möglich ist face-sad

if exist c:\windows goto.....
if exist c:\winnt goto...

Beim Auslesen des Speichers hätte ich nachfolgendes genutzt, aber unter Windows 2000 gibt es anscheinend leider kein Systeminfo von Haus aus. Danach müsste wie unter Punkt 2 beschrieben der Speicher aus der
Datei ausgelesen werden und wenn >512MB ist entweder Applikation A bzw. Applikation B starten.

systeminfo | findstr /C:"Gesamter physikalischer Speicher" >c:\speicher.txt


Ich hoffe ihr könnt mir da mit einer einfachen Lösung helfen, bin nicht wirklich der Batchexperte, habe schon ein wenig probiert, aber leider komme ich nicht wirklich weiter face-sad


Viele Grüße

Content-Key: 137475

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

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: Edi.Pfisterer
Edi.Pfisterer 05.03.2010, aktualisiert am 18.10.2012 um 18:41:20 Uhr
Goto Top
Hallo!
warum batch?
guckst Du hier

bzgl. RAM hier
lg
Mitglied: DieMatrix
DieMatrix 05.03.2010 um 09:27:46 Uhr
Goto Top
Hallo urobe73,

danke für die Links, aber VBS ist für mich ein Buch mit 7 Siegeln, suche eigentlich eine Lösung für meinen ganz speziellen Fall. Mit Batch kenne ich mich noch ein klein wenig aus und könnte das ein oder andere noch anpassen. Wäre klasse wenn jemand da eine konkrete Lösung hätte, wäre wirklich super.

Gruß
Mitglied: Edi.Pfisterer
Edi.Pfisterer 05.03.2010 um 10:51:32 Uhr
Goto Top
wenn du ein bissl Zeit mitbringst, poste ich Dir die Lösung...
aber: ein bisschen Geduld musst Du halt haben...
lg
Mitglied: DieMatrix
DieMatrix 05.03.2010 um 11:13:48 Uhr
Goto Top
Hallo urobe73,

das wäre wirklich klasse face-smile

Gruß
Mitglied: Edi.Pfisterer
Edi.Pfisterer 05.03.2010 um 11:23:28 Uhr
Goto Top
soda, hier eine Lösung (soviel Geduld hat das jetzt eh nicht erfordert... face-wink:
(es geht SICHER eleganter, (evtl. hat Bastla wieder eine Idee...), aber diese hier funktioniert zumindest...)

strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" _  
    & strComputer & "\root\cimv2")  

Set colRAMSystems = objWMIService.ExecQuery _
    ("Select * from Win32_PhysicalMemory")  

        zaehler = 0
        For Each objItem in colRAMSystems
        if zaehler = 0 then
        s= objItem.Capacity/1048576
        end if
        zaehler = zaehler +1
        Next

if s > 512 then

Set WshShell = WScript.CreateObject("WScript.Shell")  
Set colOperatingSystems = objWMIService.ExecQuery _
    ("Select * from Win32_OperatingSystem")  
For Each objOperatingSystem in colOperatingSystems
    'Wscript.Echo objOperatingSystem.Caption  
    if instr(objOperatingSystem.Caption,"XP")>1 OR instr(objOperatingSystem.Caption,"2000")>1 then  
    WshShell.Run "A.exe"  
    end if
    if instr(objOperatingSystem.Caption,"Server")>1 then  
    WshShell.Run "B.exe"  
    end if
Next

end if

Konnte das Funktionieren des Codes auf XP und 2003Server erfolgreich teste, 2000 hab ich hier nicht (mehr)...
lg

würde mich freuen zu lesen, ob das Script Deinen Erfordernissen entspricht...


[edit um 11:27: ] in der Zeile vor WshShell.Run "B.exe" war ein kleiner Fehler drinnen... jetzt passts!
Mitglied: DieMatrix
DieMatrix 05.03.2010 um 12:00:00 Uhr
Goto Top
Hallo urobe73,

erstmal danke für das Skript. Leider scheint es hier nicht zu funktionieren, vermutlich mache ich wohl einfach etwas falsch. Die Batch-Datei poppt beim Aufruf
einmal kurz auf und das wars.

Ich habe per "Quelltext" Link das Skript in eine Batch-Datei kopiert, z.b Skript.bat und die beiden unten genannten Zeilen auf tatsächliche Applikationen
abgeändert um zu schauen was passiert. Mein Testsystem war ein Windows XP SP3 mit 1GIG Ram. Die Systeme die wir nutzen sind alles englischsprachige
mit deutschem Sprackpaket, falls dies den Unterschied ausmachen sollte.


WshShell.Run "A.exe" ->WshShell.Run "calc.exe"
WshShell.Run "B.exe" ->WshShell.Run "charmap.exe"

oder auch

WshShell.Run "A.exe" ->WshShell.Run "c:\windows\system32\calc.exe"
WshShell.Run "B.exe" ->WshShell.Run "c:\windows\system32\charmap.exe"

Update: Ich habe das Ergebnis der besagten Batchdatei in eine Datei Ergebnis.txt umgeleitet (skript.bat >c:\ergebnis.txt, damit man zumindest einen Fehler sieht. Die Meldung lautet
"Der Befehl "strComputer" ist entweder falsch geschrieben oder konnte nicht gefunden werden. "&" ist syntaktisch an dieser Stelle nicht verarbeitbar.

In der Ergebnis.txt selber stand dann folgendes drin:

C:\Documents and Settings\tester>strComputer = "."

C:\Documents and Settings\tester>Set objWMIService = GetObject("winmgmts:" _

C:\Documents and Settings\tester> & "{impersonationLevel=impersonate}!\\" _
Mitglied: Edi.Pfisterer
Edi.Pfisterer 05.03.2010 um 18:27:43 Uhr
Goto Top
Aloha!
das script ist in VBScript verfasst, daher musst Du es auch als solches speichern...

einfacher gesagt:
bennene deine "skript.bat" in "skript.vbs" um, dann wirds laufen...

btw: als startscript eignet sich test.bat genausogut wie test.vbs
windows ist das hemd wie hose... face-wink

lg
edi
Mitglied: DieMatrix
DieMatrix 05.03.2010 um 18:41:46 Uhr
Goto Top
huhu, vielen dank,

habe jetz grad Feierabend, werds aber Anfang nächster Woche angehen und dir Feedback geben

Eine kurze Frage, wie starte ich die skript.vbs dann überhaupt? Ich vermute sie ist nicht selbststartend wie eine *.exe, *.com oder *.bat?
Die Änderung die ich oben gepostet habe, ist die auch ok..die bezüglich der A.exe und B.exe?


Gruß und ein schönes Wochenende
Mitglied: DieMatrix
DieMatrix 06.03.2010 um 15:56:30 Uhr
Goto Top
Hallo face-smile

ich bin zuhause und musste es einfach mal auf meinem Windows XP Home SP3 1GIG Ram-Notebook ausprobieren. Aber egal wie ich es drehe oder wende das Skript startet nicht nach der Ausführung , bzw Calc.exe startet nicht was es ja eigentlich unter XP tun sollte mit mehr als 512MB Ram, nach der unteren Änderung. Oder ist diese falsch? Der Pfad zur Beispiel Calc.exe stimmt mal.

Ich habe per Start->Ausführen -> CMD folgendes eingegeben:

cscript d:\skript.vbs oder aber auch
wscript d:\skript.vbs

Es erscheint auch keine Fehlermeldung am DOS-Prompt.

Ich bin langsam am Verzweiflen face-sad


Gruß


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")

Set colRAMSystems = objWMIService.ExecQuery _
("Select * from Win32_PhysicalMemory")

zaehler = 0
For Each objItem in colRAMSystems
if zaehler = 0 then
s= objItem.Capacity/1048576
end if
zaehler = zaehler +1
Next

if s > 512 then

Set WshShell = WScript.CreateObject("WScript.Shell")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
'Wscript.Echo objOperatingSystem.Caption
if instr(objOperatingSystem.Caption,"XP")>1 OR instr(objOperatingSystem.Caption,"2000")>1 then
WshShell.Run "c:\windows\system32\calc.exe"
end if
if instr(objOperatingSystem.Caption,"Server")>1 then
WshShell.Run "c:\windows\system32\charmap.exe"
end if
Next

end if
Mitglied: bastla
bastla 06.03.2010 um 17:05:53 Uhr
Goto Top
Hallo DieMatrix und willkommen im Forum, hallo urobe73!

Mit eigentlich nur kosmetischen Änderungen am Script (urobe73 hatte mich ja "eingeladen" face-wink) führt ein Test mit XP Pro bei mir zum gewünschten Ergebnis (Start des Windows-Rechners). Getestet habe ich mit:
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  

Set colRAMSystems = objWMIService.ExecQuery _
    ("Select * from Win32_PhysicalMemory")  

For Each objItem in colRAMSystems
    s = objItem.Capacity / 1048576
    Exit For
Next

If s >= 512 Then
    Set WshShell = WScript.CreateObject("WScript.Shell")  
    Set colOperatingSystems = objWMIService.ExecQuery _
        ("Select * from Win32_OperatingSystem")  
    For Each objOperatingSystem in colOperatingSystems
        If InStr(objOperatingSystem.Caption, "XP") > 0 Or InStr(objOperatingSystem.Caption, "2000") > 0 Then  
            WshShell.Run "c:\windows\system32\calc.exe"  
        End If
        If InStr(objOperatingSystem.Caption,"Server") > 0 Then  
            WshShell.Run "c:\windows\system32\charmap.exe"  
        End If
    Next
End If
Anzumerken wäre, dass bei einem Server-BS das zweite Programm zusätzlich gestartet würde - falls das nicht gewünscht sein sollte, die Zeilen 18 und 19 zu
ElseIf InStr(objOperatingSystem.Caption,"Server") > 0 Then
zusammenfassen (ich teste das zur Sicherheit später auch noch mit einem W2000-Server).

Grüße
bastla
Mitglied: Edi.Pfisterer
Edi.Pfisterer 06.03.2010 um 17:24:08 Uhr
Goto Top
mann, das gibts doch nicht.
Ich sitz hier jetzt an einer kiste mit 512 RAM, XP SP1 und es läuft...

also nochmal von vorne:

kopiere folgenden Code und speicher ihn als "skript.vbs"

strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
& "{impersonationLevel=impersonate}!\\" _  
& strComputer & "\root\cimv2")  

Set colRAMSystems = objWMIService.ExecQuery _
("Select * from Win32_PhysicalMemory")  

zaehler = 0
For Each objItem in colRAMSystems
if zaehler = 0 then
s= objItem.Capacity/1048576
end if
zaehler = zaehler +1
Next
Wscript.Echo "Du hast " & s & " RAM eingebaut"  
if s > 512 then

Set WshShell = WScript.CreateObject("WScript.Shell")  
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")  
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo objOperatingSystem.Caption
if instr(objOperatingSystem.Caption,"XP")>1 OR instr(objOperatingSystem.Caption,"2000")>1 then  
WshShell.Run "calc.exe"  
end if
if instr(objOperatingSystem.Caption,"Server")>1 then  
WshShell.Run "charmap.exe"  
end if
Next

end if

doppelklick auf die skript.vbs und fertig isses!

Anmerkung1:
Ich habe dir die Zeilen
Wscript.Echo "Du hast " & s & " RAM eingebaut"
Wscript.Echo objOperatingSystem.Caption
dazugegeben, Du solltest vor dem Start der calc.exe noch 2 Popups bekommen...

wenn alles läuft, kannst Du diese beiden Zeilen entfernen...

Anmerkung2:
bei den von dir genannten windowseigenen calc.exe und charmap.exe kannst Du den vollen Pfad weglassen, da der ohnehin in der Umgebungsvariablen gespeichert ist. (es schadet aber auch nicht, wenn du ihn drinnen lässt!)

Anmerkung3:
Du kannst die Datei auch aus der Dos-Box starten, dann schauts so aus:
C:\>cscript c:\skript.vbs
Microsoft (R) Windows Script Host, Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.

Du hast 512RAM eingebaut
Microsoft Windows XP Professional

C:\>

gutes gelingen
lass mich wissen, obs geklappt hat!

lg
Edi
Mitglied: DieMatrix
DieMatrix 06.03.2010 um 18:22:29 Uhr
Goto Top
Huhu alle zusammen,

ich habe nochmal das aktuelle Skript von urobe73 genommen und per doppelklick ausgeführt. Scheinbar funktioniert die Ramabfrage nicht korrekt, zumindest bekomme ich hier an meinem Windows XP Home SP3 mit ! 1GIG ! Ram die Meldung "Du hast 512 eingebaut". Und ja ich habe definitiv 1GIG=1024MB Ram in der Kiste. . Aus irgendwelchen Gründen liest das Skript einen falschen Wert aus oder was auch immer. Es erscheint aber auch keine Meldung des Betriebssystems, nur die der Ramgröße.

Somit dürfte auch klar sein warum die "Calc" exe nicht gestartet wird, das Skript erkennt nur 512MB und beendet. Was könnte das Problem sein, eventuell dass ich XP Home habe?
Braucht ihr noch irgendwelche weiteren Infos?

Update zu Bastla´s Skript:
Ich habe auch mal das Skript von Bastla unter XP Home SP3 probiert. Hier startet auf jeden Fall schon mal calc *freu*. Du hast geschrieben dass bei einem Server-OS das zweite Programm zusätzlich
gestartet werden würde. Das soll auf keinen Fall passieren. Also wenn Windows XP oder Windows 2000 mit >512MB vorhanden ist soll Calc.exe starten, wenn ein Server OS (Windows 2000 Server oder Windows 2003 Server)
soll Charmap.exe, die zweite Applikation starten.


Gruß
Mitglied: bastla
bastla 06.03.2010 um 18:42:18 Uhr
Goto Top
Hallo DieMatrix!

Ändere die Zeilen 9 bis 15 im Script von urobe73 auf:
For Each objItem in colRAMSystems
    s = s + objItem.Capacity / 1048576
Next
[Edit] Wenn Du noch die Zeilen 24 bis 29 auf
if instr(objOperatingSystem.Caption,"Server") > 0 then  
    WshShell.Run "charmap.exe"  
elseif instr(objOperatingSystem.Caption,"XP")>1 OR instr(objOperatingSystem.Caption,"2000")>1 then  
    WshShell.Run "calc.exe"  
end if
änderst, sollte auch tatsächlich nur das richtige Programm gestartet werden - tut es jedenfalls auf einem W2000-Server ...
[/Edit]

[Edit2] Noch ein letzter Hinweis: Wenn auch bei 512 MB schon installiert werden soll, dann:
If s >= 512 Then
[/Edit2]

Grüße
bastla
Mitglied: DieMatrix
DieMatrix 06.03.2010 um 18:55:34 Uhr
Goto Top
Hallo Bastla und urobe73

vielen Dank für das Update. Nun erscheinenen auf meinem XP Home System die korrekte Ramgröße und auch die Meldung des OS. Danach wird
die Calc.exe gestartet. Super *freu*

Nur im nochmal sicherzugehen, sorry falls ich mich wiederhole:

Bei diesem Skript wird nun folgendes geprüft?

Bei Ram >512MB und OS Windows XP oder Windows 2000 ->Start der Application A (also Calc.exe)
Bei Ram >512MB und OS Windows 2000 Server oder Windows 2003 Server -> Start der Application B (also charmap.exe)

Am Montag werde ich das Skript dann noch gegen die restlichen Betriebsysteme testen...ich hoffe ich kann einen 2000 und 2003 Rechner auftreiben face-smile

Auf jeden Fall schon mal herzlichen Dank für die bisherige Hilfe an alle

Update: Du warst beim Posten schneller als ich face-smile
Mitglied: Edi.Pfisterer
Edi.Pfisterer 06.03.2010 um 18:59:11 Uhr
Goto Top
@bastla:
well done face-wink
mein Post von 17:24:08 Uhr ist hiermit überflüssig (bin mitten im Schreiben des Beitrags zum Nachmittagskaffee "beordert" worden...

ich fasse für DieMatrix also nun zusammen:

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  

Set colRAMSystems = objWMIService.ExecQuery _
    ("Select * from Win32_PhysicalMemory")  

For Each objItem in colRAMSystems
    s = s + objItem.Capacity / 1048576
Next


If s >=512 Then
    Set WshShell = WScript.CreateObject("WScript.Shell")  
    Set colOperatingSystems = objWMIService.ExecQuery _
        ("Select * from Win32_OperatingSystem")  
    For Each objOperatingSystem in colOperatingSystems
        If InStr(objOperatingSystem.Caption,"Server") > 0 Then  
            WshShell.Run "c:\windows\system32\calc.exe"  
        ElseIf InStr(objOperatingSystem.Caption, "XP") > 0 Or InStr(objOperatingSystem.Caption, "2000") > 0 Then  
           WshShell.Run "c:\windows\system32\charmap.exe"  
        End If
    Next
End If

zum besseren Verständnis:
If s > 512 Then
alles was ab hier folgt, wird nur abgearbeitet, wenn RAM über 512MB liegt...

   If InStr(objOperatingSystem.Caption,"Server") > 0 Then  
es wird überprüft, ob im Betriebssystem das Wort server vorkommt. Falls dem so ist, dann wird die Datei calc.exe gestartet

ElseIf InStr(objOperatingSystem.Caption, "XP") > 0 Or InStr(objOperatingSystem.Caption, "2000") > 0 Then  
Falls die 1. Prüfung (server) negativ verläuft werden nun in der Bezeichnung des Betriebssystems die Zeichen "XP" oder "2000" gesucht. Wenn diese Prüfung postitiv verläuft, wird die Datei charmap.exe gestartet...

nun sollte wohl alles so laufen, wie erwünscht...
lg
Mitglied: bastla
bastla 06.03.2010 um 18:59:26 Uhr
Goto Top
Hallo DieMatrix!
Nur im nochmal sicherzugehen, sorry falls ich mich wiederhole:
No problem face-smile

Bei diesem Skript wird nun folgendes geprüft?

Bei Ram >512MB und OS Windows XP oder Windows 2000 ->Start der Application A (also Calc.exe)
Bei Ram >512MB und OS Windows 2000 Server oder Windows 2003 Server -> Start der Application B (also charmap.exe)
So sollte es sein ...

Grüße
bastla

P.S.: Den Hinweis auf "> 512" vs ">= 512" wiederhole ich nun zur Sicherheit noch mal ... face-wink
Mitglied: Edi.Pfisterer
Edi.Pfisterer 06.03.2010 um 19:06:33 Uhr
Goto Top
Oh Mann!
Ich bin einfach zu langsam face-wink
meinen Beitrag von 18:59:11 könntes schon wieder vergessen...
drum lass ich es jetzt auch für heute gut sein...

Dieses Internetz ist für alte Männer einfach zu schnell.... face-wink
@DieMatrix: freut mich, dass es nun läuft!!!
@ bastla: die Idee mit dem umdrehen der If-Elseif-Prüfung hatte ich auch... funny face-wink

so, ich geh jetzt schaun, obs heute im Fernsehen einen Kuhlenkampff mit Einer-wird-gewinnen oder sonst etwas altersadäquates spielt...
weil: hier im Internet geht mir einfach alles viel zu schnell...

lg
Mitglied: bastla
bastla 06.03.2010 um 19:08:45 Uhr
Goto Top
@urobe73

Nur der Ordnung halber: Da jetzt zuerst auf "Server" geprüft wird, müsste in Zeile 17 "charmap.exe" und in Zeile 19 "calc.exe" gestartet werden - und zwar, wie Du oben schon angeführt hast, ohne Pfadangabe - unter W2000 liegt "System32" ja unterhalb des Verzeichnisses "WinNT" ...

Grüße
bastla

[Edit]
Kulenkampff? Demnach steht 73 nicht für Dein Geburtsjahr ... face-wink

... ich hab' ihn aber auch noch live erlebt (in der Erst-Fassung von EWG natürlich)...
[/Edit]
Mitglied: DieMatrix
DieMatrix 06.03.2010 um 19:10:27 Uhr
Goto Top
Hallo urobe73 & Bastla,

super soweit. Am Montag, bzw spätestens Dienstag teste ich das nochmal auf allen Systemen aus. Wo es meiner Meinung nach Probleme geben könnte
ist Windows2000 Server. Dieses OS gibt sich in der Registry, per VER etc. oftmals nur als Windows 2000 aus. Aber ich schau mal ob ich solch ein
System noch ausfindig machen kann face-smile

Bis nächste Woche und nochmals Danke für euer Engagement

Gruß
Mitglied: Edi.Pfisterer
Edi.Pfisterer 06.03.2010, aktualisiert am 18.10.2012 um 18:41:20 Uhr
Goto Top
btw:
@ bastla:
Da Du ja doch um einiges fitter bist als ich (nicht nur was die Geschwindigkeit Deiner Beiträge, sondern auch den Umgang mit VBS betrifft) könntest Du dir ja - falls Du Kapazitäten hast - meinen Beitrag anschaun...
Dieses Script hat SICHER jede Menge verbesserungspotential. Würde mich freuen!
lg
Mitglied: Edi.Pfisterer
Edi.Pfisterer 06.03.2010 um 19:17:07 Uhr
Goto Top
nö nö, das 73 steht doch für mein Geburtsjahr...
freut mich, dass Du also auch schon einige Lenze erlebt hast...

Ich erinner mich ja immer wieder gerne, als ich bei Oma EWG schauen durfte... (daheim war um 19.00 Bettruhe angesagt...MMpppffff)

Kuli wird hin und wieder im 3. Deutschen Programm wiederholt. SAGENHAFT wie langsam da alles vor sich geht. genau richtig für mich face-wink

lg
Mitglied: bastla
bastla 06.03.2010 um 19:17:40 Uhr
Goto Top
@urobe73
Dein Beitrag war mir vorher schon aufgefallen, allerdings hatte ich noch keine Zeit, mir das Script genauer anzusehen - mache ich aber demnächst ...

Schönes Wochenende
bastla
Mitglied: bastla
bastla 06.03.2010 um 19:20:53 Uhr
Goto Top
@urobe73
Ich hatte an das "Original" von EWG in den 60iger Jahren gedacht (aber davon auch nur die letzten paar Sendungen sehen dürfen - sooo alt bin ich dann schließlich doch auch noch nicht ... face-wink)

Schönes WE
bastla
Mitglied: Edi.Pfisterer
Edi.Pfisterer 06.03.2010 um 19:22:08 Uhr
Goto Top
@bastla
freut mich! vielleicht könnte man das Ding ja so hinbekommen, dass es wirklich jeder Nuppler ohne Veränderung verwenden könnte...
Dir auch ein schönes Wochenende
lg
Edi
Mitglied: DieMatrix
DieMatrix 06.03.2010 um 22:25:59 Uhr
Goto Top
huhu, ich bins wieder ;)

habe auf meinem XP Home 1GIG Ram Rechner noch einen Test gefahren, weiß aber nicht ob dieser wirklich valide ist. Also ich habe unter MSCONFIG den Ram auf 512 MB begrenzt, neu gebootet (Rechner zeigt unter Eigenschaften dann auch wirklich 512MB Physikalischen Speicher an) und das Skript gestartet, welches dann aber leider die Applikation startete, das Skript mit der Ramanzeige zeigt auch trotzdem 1024 MB an face-sad

Wie gesagt ich weiß nicht ob dieser Test valide ist, aber es stimmt mich schon etwas nachdenklich. Habt ihr eventuell Rechner mit "richtigen" 512 MB Ram und könntet dies eventuell mal gegenchecken? Bei mir ist
im Rechner leider nur ein Rammodul drin.

Gruß

PS: Ich hatte die Zeile "If s > 512 Then" drin, somit sollte ja wirklich nur überhalb der 512 eine Applikation starten.
Mitglied: Edi.Pfisterer
Edi.Pfisterer 07.03.2010 um 18:55:03 Uhr
Goto Top
uiui...
Nicht, dass Ungeduld zu meinen Stärken zählt - eher ist es umgekehrt...
aber in Deinem Fall gelange ich doch ein bissl an meine Grenzen face-wink

Versuch mal folgendes:
ersetze den Teil
For Each objItem in colRAMSystems
    s = s + objItem.Capacity / 1048576
Next
durch
For Each objItem in colRAMSystems
   s=s & "Bank: " & objItem.BankLabel & vbCrLf  
   s=s & "Capacity: " & objItem.Capacity/1048576 & " MB" & vbCrLf  
Next
Wscript.Echo "Du hast " & s & " RAM verbaut"  


lg
Mitglied: DieMatrix
DieMatrix 08.03.2010 um 16:42:45 Uhr
Goto Top
Huhu,

es lag wohl doch an dem nicht validen MSCONFIG Test. Der Ram wird ordnungsgemäß erkannt. Funktioniert einwandfrei unter XP und Windows 2000.
Morgen sollte ich Bescheid bekommen ob es auch unter Win2000/2003 Server läuft. Ich geb dann auf jeden Fall Feedback.

Gruß face-smile
Mitglied: DieMatrix
DieMatrix 11.03.2010 um 09:30:05 Uhr
Goto Top
Hallo zusammen,

habe heute Feedback bekommen, dass es auch einwandfrei unter Win2000/03 Server funktioniert. Vielen Dank nochmal für die nette Hilfe.

Gruß
Mitglied: Edi.Pfisterer
Edi.Pfisterer 11.03.2010 um 11:56:46 Uhr
Goto Top
bitte! gern geschehen! face-wink
(und jetzt noch 30 Zeichen...)