135961
Goto Top

WMI Powershell. Erstellung eines Programm zum auslesen und speichern mehrere Daten

Hallo zusammen,

mein Problem ist ich soll ein Programm erstellen ,dass die folgenden Daten an einem Lokalenrechner ausliest und in ein Textdokument speichert :

*Rechnernamen
*Anmeldennamen
*IP-Adresse
*Installierte Software
*OS

mir wurde gesagt ich soll es mit WMI oder Powershell erstellen leider habe ich von beim keine Ahnung
und weiss daher nicht wie ich das ganze angehen soll.

Gruß

Kodiak

Content-Key: 370954

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

Printed on: May 7, 2024 at 01:05 o'clock

Member: Kraemer
Kraemer Apr 12, 2018 at 13:53:09 (UTC)
Goto Top
Moin,

dann geht man zu dem, der einem den Auftrag erteilt hat, wieder hin und sagt ihm, dass man das nicht kann und er einem bitte erklären soll, wie das geht.

Gruß
Member: Friemler
Friemler Apr 12, 2018 updated at 20:50:40 (UTC)
Goto Top
Hallo,

ich gehe mal davon aus, dass Du Azubi bist und Dein Ausbilder Dir diese Aufgabe gestellt hat. Was glaubst Du eigentlich, warum er das getan hat? Ich verrate es Dir - damit Du was lernst!

Und zwar nicht nur über PowerShell oder WMI sondern auch, wie man sich fehlendes Wissen bzw. fehlende Informationen erarbeitet. Denn auch wenn Du 10 oder 20 Jahre in der IT arbeitest, wirst Du fast jeden Tag irgendetwas nicht wissen und musst es lernen/herausfinden.

Mal ein grober Abriss zu "Was ist WMI?"

WMI ist eine Programmierschnittstelle des Betriebssystems, über die man verschiedenste Informationen über die Hard- und Software-Komponenten des Rechners abfragen und für manche Komponenten sogar Kommandos ausführen kann. WMI stellt dazu eine objektorientierte Sicht auf die Rechnerkomponenten zur Verfügung.

Exkurs: Objekte sind Instanzen von Klassen, eine Klasse ist so etwas wie der Bauplan für ein Objekt. Ein Objekt hat Eigenschaften und teilweise auch Methoden. Über die Eigenschaften können Informationen und funktionsbestimmende Parameter abgefragt und manchmal auch gesetzt werden, über die Methoden können die bereits erwähnten Kommandos ausgeführt werden.

Es gibt z.B. Klassen, die das Mainboard, die Netzwerkkarte, die vorhandenen Datenträger, das Betriebssystem oder die laufenden Programme und Systemdienste beschreiben. Die Klassen von WMI sind in sog. Namensräumen (namespaces) thematisch gruppiert.

Sehr oft gibt es von einer Klasse mehrere Instanzen, z.B. pro Datenträger eine Instanz der WMI-Klasse für Datenträger. Alle Instanzen einer Klasse sind in einer Collection zusammengefasst. Will man eine bestimmte Instanz haben, kann man entweder in einer Schleife über eine solche Collection iterieren oder man formuliert eine Abfrage die eine Collection zurückliefert, die nur Instanzen mit bestimmten Eigenschaften enthält, im Idealfall nur noch eine Instanz. Solche Abfragen lassen sich in WQL formulieren, der WMI Query Language. Dabei handelt es sich um eine Art stark vereinfachtes SQL, die Abfragesprache für Datenbanken.

Deine Aufgabe besteht jetzt darin, herauszufinden

  1. wie man sich in PowerShell Instanzen bestimmter WMI-Klassen beschafft,
  2. in welcher/welchen WMI-Klasse(n) die zu ermittelnden Informationen enthalten sind und
  3. welchem Namespace die jeweilige Klasse zugeordnet ist.

Dann musst Du Dir von WMI Instanzen dieser Klassen holen und die Infos aus den entsprechenden Eigenschaften auslesen.

Google ist Dein Freund und MSDN die Bibel.

Grüße
Friemler
Mitglied: 135950
135950 Apr 13, 2018 updated at 10:43:00 (UTC)
Goto Top
Schaut euch den an
Powershell oder Batch Script

Koppschüttel, dabei hat @Friemler es ihm so ausführlich und perfekt erläutert wie er vorzugehen hat. Die Jugend von heute, keine Zeit mehr, kein Bock mehr, aber stundenlang mit dem Smartphone dämliche Dinge tun.