Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PS Script zu Netwerkinformationen Softwarestände etc

Frage Entwicklung Batch & Shell

Mitglied: geTr0ffEn

geTr0ffEn (Level 2) - Jetzt verbinden

16.09.2014, aktualisiert 16:04 Uhr, 1338 Aufrufe, 23 Kommentare

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
Mitglied: colinardo
16.09.2014, aktualisiert um 16:07 Uhr
Moin,
http://www.administrator.de/contentid/226002
lässt sich an deine Bedürfnisse anpassen...
@AnkhMorpork hatte dazu auch schon mal was gepostet: http://www.administrator.de/wissen/systemdaten-auslesen-mit-powershell- ...

Grüße Uwe
Bitte warten ..
Mitglied: jsysde
16.09.2014 um 16:05 Uhr
Moin.

Über wieviele Server reden wir denn und welche OS kommen zum Einsatz?

Cheers,
jsysde
Bitte warten ..
Mitglied: geTr0ffEn
16.09.2014 um 16:09 Uhr
Hi Uwe,

ja, hab ich mir schon intensiv angeschaut. Ich muss leider gestehen, dass ich bisher noch nie wirklich mit der PS zutun hatte.

Kannst du irgendwie weiterhelfen?
Gruß
Bitte warten ..
Mitglied: geTr0ffEn
16.09.2014, aktualisiert um 16:27 Uhr
Hi jsysde,

also, es geht um Server 2003er, 2003er R2, 2008, 2008 R2, 12, 12 R2.
Menge Server: ca. 10Server pro Standort

Aber genau deswegen brauch ich ja so was zum auslesen, dass ich genau diese Infos direkt bekomme, wenn ich, in Absprache mit dem Kunden, auf den Server komme.

Wichtig fürs erste, ist vielleicht erst mal ein ganz kleines Script zu haben, welches mir das OS ausliest. Weiteres kann ja angepasst werden.
Wie sieht es denn mit Drittanbietersoftware aus? Beispielsweise um die Version von einem Backup Programm auszulesen (ArcServe oder Symantec Backup Exec)

Gruß
getroffen
Bitte warten ..
Mitglied: colinardo
16.09.2014, aktualisiert um 16:38 Uhr
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:
http://www.administrator.de/forum/powershell-arrays-deklarieren-fü ...

dann sehen wir weiter.
Bitte warten ..
Mitglied: geTr0ffEn
16.09.2014 um 16:40 Uhr
Frage:

wenn ich das Script in PowerShell als Admin starte, bleibt es hängen.

Lasse ich es ohne Admin in der PowerShell laufen funktioniert es


Gruß
Bitte warten ..
Mitglied: Gahmuret
16.09.2014 um 17:14 Uhr
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
Bitte warten ..
Mitglied: geTr0ffEn
16.09.2014 um 17:27 Uhr
Hi,

danke erst mal,

nein, Remote nicht, findet lokal auf der Maschine statt.

Gruß
Bitte warten ..
Mitglied: colinardo
16.09.2014, aktualisiert um 17:44 Uhr
User Credentials können für lokale WMI-Abfragen nicht verwendet werden.

Außerdem solltest du natürlich sicherstellen das die ExecutionPolicy richtig konfiguriert ist.

Die Credentials die das Script für die Remote-Abfrage benötigt fragt das Script ja ab.
Bitte warten ..
Mitglied: geTr0ffEn
16.09.2014, aktualisiert um 19:43 Uhr
Hi,

wo muss ich die ExecutionPolicy ausführen? vorher autonom oder in deinem Beispiel einfügen?

wenns lokal auf dem host ist, benötigt der user eigentlich keine zusätzliche gruppe, nur die fw muss evtl. angepasst werden
Bitte warten ..
Mitglied: jsysde
16.09.2014 um 19:51 Uhr
N'Abend.
Zitat von geTr0ffEn:
also, es geht um Server 2003er, 2003er R2, 2008, 2008 R2, 12, 12 R2.
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
Bitte warten ..
Mitglied: geTr0ffEn
16.09.2014, aktualisiert 17.09.2014
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.

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.


das script kann auch immer erst am selben oder paar tage vorher laufen, beispielsweise auch manuell angestoßen,

von daher brauch man auf die belastung des traffic nicht so viel gewicht legen.

Wir reden ja gerade hier nur über Windows. Weß jemand ob ich Informationen so auch von anderer Software sammeln kann? Wie erwähnt für ArcServer, Symantec, HP Tools etc.
Bitte warten ..
Mitglied: AnkhMorpork
17.09.2014 um 09:52 Uhr

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
Bitte warten ..
Mitglied: geTr0ffEn
17.09.2014, aktualisiert um 13:32 Uhr
Hi,

erst mal vielen Dank an alle, ich hatte zusätzlich noch Fragen gestellt:

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.

Ich habe jetzt das Script von Uwe, wie und wo passe ich es meiner Umgebung an, kann jemand helfen?
Es würde ja erst mal genügen, wenn das Script nur mal die Windows Version widergibt und in dem Excel Sheet auflistet.

Gruß
Bitte warten ..
Mitglied: colinardo
17.09.2014, aktualisiert um 13:54 Uhr
Zitat von geTr0ffEn:
Ich habe jetzt das Script von Uwe
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
Bitte warten ..
Mitglied: geTr0ffEn
17.09.2014, aktualisiert um 15:15 Uhr
Zur Info: Das ist nicht mein Script, sondern von diesem Herrn
http://www.powershellpro.com/why-i-no-longer-hate-writing-documentation ... !

das ist mir schon klar. Wir müssen jetzt nicht wieder wegen so was anfangen zu diskutieren, ich denke du erinnerst dich. Ich konzentriere mich immer aufs Thema, sollte nur als Beispiel dienen. Abgehakt.

> 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.

Ist so was möglich? Bitte auch ein kurzes wie...
das macht es bereits

wenn ich es in der PS starte, bekomme ich in der Excel nur fette Überschriften

Gruß
Bitte warten ..
Mitglied: colinardo
17.09.2014, aktualisiert um 16:01 Uhr
Ich konzentriere mich immer aufs Thema
ich auch, wollte nur klarstellen, das das Script nicht auf meinem Bockmist aufgebaut ist ...
Zitat von geTr0ffEn:
Ist so was möglich? Bitte auch ein kurzes wie...
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.
Bitte warten ..
Mitglied: geTr0ffEn
17.09.2014 um 16:10 Uhr
bin in einer Domäne,

habe Win 7 Enterprise aufgesattelt.
Bitte warten ..
Mitglied: colinardo
17.09.2014, aktualisiert um 16:15 Uhr
und wie sieht's mit den abzufragenden Servern aus, OS technisch ? Firewall technisch ? Berechtigungen ?
Bitte warten ..
Mitglied: geTr0ffEn
17.09.2014 um 16:27 Uhr
es läuft lokal auf jeder Maschine,

OS: 2003, 2008 2012
Bitte warten ..
Mitglied: colinardo
17.09.2014, aktualisiert um 16:29 Uhr
Zitat von geTr0ffEn:
es läuft lokal auf jeder Maschine,
OS: 2003, 2008 2012
Das Script ist dafür angelegt PCs remote abzufragen nicht jeweils lokal !
Bitte warten ..
Mitglied: geTr0ffEn
18.09.2014 um 08:44 Uhr
ok,

dann bitte nochmal die Frage richtig lesen. Das mit dem "lokal" habe ich auch mehrfach angesprochen hier.

"Primär geht es darum, sich auf den jeweiligen Server zu verbinden und so eine direkte Übersicht über die Zustände zu bekommen."

Außerdem habe ich auch geschrieben, es ich sag mal so einfach wie möglich zu machen:

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.

Gruß
Bitte warten ..
Mitglied: colinardo
18.09.2014, aktualisiert um 09:49 Uhr
Zitat von geTr0ffEn:
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 Na egal.

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:
01.
# OS via WMI auslesen  
02.
$os = (gwmi Win32_OperatingSystem).Caption 
03.
 
04.
# Excel Objekt erzeugen 
05.
$objXL = New-Object -ComObject "Excel.Application" 
06.
 
07.
# Excel anzeigen 
08.
$objXL.Visible = $true 
09.
 
10.
# neues Excel Dokument erzeugen 
11.
$objDoc = $objXL.Workbooks.Add() 
12.
 
13.
# Die Daten befinden sich in Tabelle1 
14.
$sheet = $objDoc.Worksheets.Item(1) 
15.
 
16.
#Zelle A1 mit dem ausgelesenen OS füllen 
17.
$sheet.Range("A1").Value2 = $os
Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

Exchange Server
gelöst Kontaktliste in Userpostfach importieren via PS (17)

Frage von atk691 zum Thema Exchange Server ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...