Kazume Geschrieben 9. Juni 2015 Teilen Geschrieben 9. Juni 2015 Hallo Community, ich würde gerne wissen wie man über die Domäne abfragen kann, welcher Rechner wieviel Ram verbaut hat. Gedacht habe ich es mir so : Ich erstelle ein kleines Script (vbs oder etwas über die Powershell) was mir den RAM ausgibt inklusive den Rechnernamen. Das soll dann noch in eine .txt File geschrieben werden. (Am liebsten für alle PCs eine .txt file, sodass ich nicht von jedem PC eine .txt habe.) Das Script würde ich dann als Anmeldescript über die AC verteilen. Nun zur meiner eigentlichen Frage. Wie würde das Script aussehen? Hab schon stunden mit googlen verbracht, das bisher einzige wäre WMI oder Psinfo. Psinfo funktioniert leider nur teils - es gibt mir alles aus nur nicht den RAM. Bei WMI hab ich noch nichts einsteigerfreundliches gefunden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jeronimonino Geschrieben 10. Juni 2015 Teilen Geschrieben 10. Juni 2015 Sowas sollte ne Softwareverteilung bzw Softwareinventarisierung beherschen. Sprich da gibt es sicherlich schon etwas fertiges. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tiro Geschrieben 10. Juni 2015 Teilen Geschrieben 10. Juni 2015 <# Das Programm ist Vorlage für: "hole Rechnerliste, prüfe jeden Rechner, ob er erreichbar ist und führe bei "ja" folgendes aus." Test-Connection mit der Option -quiet gibt ein "true" zurück, wenn der Rechner an ist. Ist der Rechner aus, gibt es ein "False" als Antwort Im Pfad c:\temp muß eine Textdatei namens rechnerliste.txt existieren, in der die einzelnen Rechnernamen stehen (pro Zeile ein Eintrag). ACHTUNG Gag: nach dem letzten Eintrag keinen Zeilenumbruch machen, sonst "Test-Connection : Das Argument für den Parameter "ComputerName" kann nicht überprüft werden. Das Argument ist NULL oder leer." #> $cn = @(Get-content -path c:\temp\rechnerliste.txt) foreach ($i in $cn) { $ping = Test-Connection -Count 1 -computername $i -quiet if ($ping -eq 'true') { Invoke-Command -ComputerName $i { get-wmiobject -Class win32_product } | Select-Object Name, version, installdate } else { Write-Output $i "ist aus" } } Hier eine meiner "quick and dirty" Powershell-Vorlagen. Für Dich noch zu tun: * Die Zeile mit "Invoke-command" für Deine Bedürfnisse anpassen. Irgendwas mit Win32_PhysicalMemory vermutlich. * das Ergebnis in eine Datei rausschreiben lassen. Irgendwas mit Out-File -append in der nächsten Zeile sollte es tun. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kazume Geschrieben 10. Juni 2015 Autor Teilen Geschrieben 10. Juni 2015 (bearbeitet) Vielen Dank für die antworten. Bin seit Stunden wieder am probieren, soweit klappt auch alles was ich haben möchte. $colSlots = Get-WmiObject -Class win32_PhysicalMemoryArray $colRAM = Get-WmiObject -Class win32_PhysicalMemory $memory = Get-WmiObject -Class win32_PhysicalMemory $name = HOSTNAME.EXE $mem = Get-WmiObject -Class Win32_ComputerSystem ("Computer " + $mem.DnsHostName + " Ram " + $mem.TotalPhysicalMemory/1mb) | Out-File PFAD $colSlots | ForEach {“Total Number of DIMM Slots: ” + $_.MemoryDevices} | Out-File PFAD -append $colRAM | ForEach { “Memory Installed: ” + $_.DeviceLocator| PFAD -append "Memory Size: " + ($objRAM.Capacity / 1GB) + " GB" | PFAD -append } Es wird eine Exel Datei im angegebenen Pfad erstellt. Computername ****** Ram 8191.1796875 Total Number of DIMM Slots: 4 Memory Installed: DIMM1 Memory Size: 4 GB Memory Installed: DIMM2 Memory Size: 4 GB Was ich noch nicht ganz verstehe ist Dimm Slots. Bei einigen PC's sind nur 2 Ram-Slots vorhanden, allerdings wird auch dort DIMM Slots: 4 ausgegeben. Die win32_PhysicalMemory und win32_PhysicalMemoryAray können anscheinend nur Slots anzeigen die belegt sind - leere werden nicht mit ausgegeben (schade!!!). Die Excel.Application scheint mir sehr komplex zu sein, damit alle PCs ein einem Excel Sheet schreiben. Ich lasse alle Computer die Datei über das Active Directory als Anmeldescript ausführen, brauche also kein Remote. Bearbeitet 10. Juni 2015 von Kazume Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kazume Geschrieben 10. Juni 2015 Autor Teilen Geschrieben 10. Juni 2015 Sowas sollte ne Softwareverteilung bzw Softwareinventarisierung beherschen. Sprich da gibt es sicherlich schon etwas fertiges. Bestimmt gibt es da schon etwas fertiges. Es geht mir in erster Linie um den Lerneffekt. Hab meine Ausbildung zum Fachinformatiker für Systemintegration am 01.06 begonnen und bin fleißig am tüfteln. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tiro Geschrieben 10. Juni 2015 Teilen Geschrieben 10. Juni 2015 So aus der Hüfte geschossen: Du bist sicher, daß sich gleichzeitig anmeldende Kollegen nicht beim zeitgleichen schreiben auf die Datei ins Gehege kommen? Wenn Du es für Dich alleine testest, dann wird es natürlich immer funktionieren ;-) Es gibt (auch kleine) Firmen, die beginnen wie auf Kommando früh zur gleichen Zeit. Selbst bei 10 Leuten wird das sicher ein Spaß! *bg* Bei meiner Lösung läßt man das mal tagsüber laufen und gut ist's. Deine weiteren Abfragen schreibst Du als -scriptblock {inhalte} in die invoke-command Syntax. Aber mach ruhig so. Du lernst was dabei. hehe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.