PS Script zu Netwerkinformationen Softwarestände etc
Hi,
ich begebe mich gerade daran ein PS Script zu erstellen, welches ein komplettes Netzwerk ausliest, um Informationen zum Serverstand gibt (Updates aktuell, Service Pack, OS Version, Lizenzen, Hyper-V Status etc.).
Des Weiteren wäre es sehr gut, auch Informationen von installierten Programmen zu bekommen (Version, Updates, Benachrichtigungen etc.)
Primär geht es darum, sich auf den jeweiligen Server zu verbinden und so eine direkte Übersicht über die Zustände zu bekommen.
Kurze Info: Ein Monitoring (PRTG) ist jeweils schon Komplett eingerichtet, sprich eine Überwachung besteht ja schon, BackupSysteme (ArcServe) laufen schon, Sicherungen für die Switche laufen schon. Mit der Info will ich nur mitteilen, das es an sich nicht um die direkten Überwachungen geht. Es geht beispielsweise um Kunden, die keinen Wartungsvertrag haben, wo sowieso schon überwacht wird, um den Kunden dann mit diesen Informationen aufzuzeigen, dass es noch was zutun gibt.
Wenn noch Infos gebraucht werden, gerne.
Ich hoffe es kann jemand helfen ;)
Gruß
getroffen
ich begebe mich gerade daran ein PS Script zu erstellen, welches ein komplettes Netzwerk ausliest, um Informationen zum Serverstand gibt (Updates aktuell, Service Pack, OS Version, Lizenzen, Hyper-V Status etc.).
Des Weiteren wäre es sehr gut, auch Informationen von installierten Programmen zu bekommen (Version, Updates, Benachrichtigungen etc.)
Primär geht es darum, sich auf den jeweiligen Server zu verbinden und so eine direkte Übersicht über die Zustände zu bekommen.
Kurze Info: Ein Monitoring (PRTG) ist jeweils schon Komplett eingerichtet, sprich eine Überwachung besteht ja schon, BackupSysteme (ArcServe) laufen schon, Sicherungen für die Switche laufen schon. Mit der Info will ich nur mitteilen, das es an sich nicht um die direkten Überwachungen geht. Es geht beispielsweise um Kunden, die keinen Wartungsvertrag haben, wo sowieso schon überwacht wird, um den Kunden dann mit diesen Informationen aufzuzeigen, dass es noch was zutun gibt.
Wenn noch Infos gebraucht werden, gerne.
Ich hoffe es kann jemand helfen ;)
Gruß
getroffen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 249343
Url: https://administrator.de/forum/ps-script-zu-netwerkinformationen-softwarestaende-etc-249343.html
Ausgedruckt am: 12.04.2025 um 08:04 Uhr
23 Kommentare
Neuester Kommentar
Moin,
Powershell Skripten, Netzwerk auslesen
lässt sich an deine Bedürfnisse anpassen...
@AnkhMorpork hatte dazu auch schon mal was gepostet: Systemdaten auslesen mit Powershell
Grüße Uwe
Powershell Skripten, Netzwerk auslesen
lässt sich an deine Bedürfnisse anpassen...
@AnkhMorpork hatte dazu auch schon mal was gepostet: Systemdaten auslesen mit Powershell
Grüße Uwe
Zitat von @geTr0ffEn:
Ich muss leider gestehen, dass ich bisher noch nie wirklich mit der PS zutun hatte.
Kannst du irgendwie weiterhelfen?
klar, na dann erst mal ab ins Klassenzimmer - arbeite dich hier erst mal durch die Grundlagen der Powershell:Ich muss leider gestehen, dass ich bisher noch nie wirklich mit der PS zutun hatte.
Kannst du irgendwie weiterhelfen?
Powershell Arrays deklarieren füllen abfragen ???
dann sehen wir weiter.
Hi. Du benötigst dafür Arrays, WMI (Get-WMIObject) und die WMI-Klassen Win32_Product bzw. Win32_OperatingSystem.
Ich habe leider keine Erfahrung mit PS auf 2003 Servern, aber da gab es was mit Versionsunterschieden. Kann sein, dass ein Script, welches auf 2008/2012 läuft dort evtl nicht startet.
Da du remote etwas ausführst, fragst du Anmeldeinformationen ab?
Grüße
Gahmuret
Ich habe leider keine Erfahrung mit PS auf 2003 Servern, aber da gab es was mit Versionsunterschieden. Kann sein, dass ein Script, welches auf 2008/2012 läuft dort evtl nicht startet.
Da du remote etwas ausführst, fragst du Anmeldeinformationen ab?
Grüße
Gahmuret
N'Abend.
Dann mal Obacht, die WMI-Klassen unterscheiden sich da mitunter (spontan fällt mir QFE unter 2008 aufwärts ein etc.).
Also je nach Server-OS muss liefert die gleiche WMI-Abfrage, um bei dem Beispiel zu bleiben, nach installierten Hotfixes unterschiedliche/unvollständige Ergebnisse bzw. müssen weitere/andere WMI-Anfragen ausgeführt werden.
Cheers,
jsysde
Dann mal Obacht, die WMI-Klassen unterscheiden sich da mitunter (spontan fällt mir QFE unter 2008 aufwärts ein etc.).
Also je nach Server-OS muss liefert die gleiche WMI-Abfrage, um bei dem Beispiel zu bleiben, nach installierten Hotfixes unterschiedliche/unvollständige Ergebnisse bzw. müssen weitere/andere WMI-Anfragen ausgeführt werden.
Menge Server: ca. 10Server pro Standort
Da sollte eine skriptgesteuerte Abfrage vertretbar sein - nicht vergessen, WMI-Abfragen (und andere natürlich auch) verbrauchen Ressourcen auf den Systemen, bei mehreren hundert Servern im Netz kann das schon mal unschön werden.Cheers,
jsysde
Zitat von @colinardo:
@AnkhMorpork hatte dazu auch schon mal was gepostet:
Systemdaten auslesen mit Powershell
@AnkhMorpork hatte dazu auch schon mal was gepostet:
Systemdaten auslesen mit Powershell
Falls du mein Script nutzen willst, bitte remote so starten:
$Session = New-PSSession -Computername <CompiName> -Credential <DomainName\AdminName>
$ServiceList = Invoke-Command -Session $Session -Filepath "ScriptName.ps1"
So, wie von mir beschrieben geht's nicht ... hatte ich seinerzeit übersehen.
Gruß
ANKH
Zur Info: Das ist nicht mein Script, sondern von diesem Herrn http://www.powershellpro.com/why-i-no-longer-hate-writing-documentation ... !
Wir reden ja gerade hier nur über Windows. Weiß jemand/Hat jemand Erfahrungen ob ich Informationen so auch von anderer Software sammeln kann? Wie erwähnt für ArcServe, Symantec, HP Tools etc.
Wenn die deine benötigten Infos in der Registry ablegen, ja.Es würde ja erst mal genügen, wenn das Script nur mal die Windows Version widergibt und in dem Excel Sheet auflistet.
das macht es bereits Ich konzentriere mich immer aufs Thema
ich auch, wollte nur klarstellen, das das Script nicht auf meinem Bockmist aufgebaut ist ...ohne aktiviertes PSRemoting auf den jeweiligen Servern z.B. mit reg query
req query "\\SERVERXYZ\HKLM\Software\HP\SoftwareXYZ" /v Version
wenn ich es in der PS starte, bekomme ich in der Excel nur fette Überschriften 
läuft hier problemlos. Wir kennen hier deine Umgebung nicht und welche Rechner/Server-OS-Versionen du abfragst.
Das Script ist dafür angelegt PCs remote abzufragen nicht jeweils lokal !
Zitat von @geTr0ffEn:
dann bitte nochmal die Frage richtig lesen. Das mit dem "lokal" habe ich auch mehrfach angesprochen hier.
dann bitte nochmal die Frage richtig lesen. Das mit dem "lokal" habe ich auch mehrfach angesprochen hier.
Ich Zitiere mal aus deiner Frage:
welches ein komplettes Netzwerk ausliest
wer soll daraus schließen das du die Scripte jeweils lokal auf dem Server ausführen willst ?. Normalweise macht man sowas ja remote, da weniger Aufwand Lokal und erst mal nur einen Einzigen Wert mal in einer Excel widerzugeben. Da kann man dann drauf aufbauen. Ich benötige keinen um meine Arbeit zu machen. Ich frage nach ein wenig Unterstützung.
Bitteschön, na dann viel Erfolg:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# OS via WMI auslesen
$os = (gwmi Win32_OperatingSystem).Caption
# Excel Objekt erzeugen
$objXL = New-Object -ComObject "Excel.Application"
# Excel anzeigen
$objXL.Visible = $true
# neues Excel Dokument erzeugen
$objDoc = $objXL.Workbooks.Add()
# Die Daten befinden sich in Tabelle1
$sheet = $objDoc.Worksheets.Item(1)
#Zelle A1 mit dem ausgelesenen OS füllen
$sheet.Range("A1").Value2 = $os