Top-Themen

Aktuelle Themen (A bis Z)

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

Systemdaten auslesen mit Powershell

Mitglied: AnkhMorpork

AnkhMorpork (Level 2) - Jetzt verbinden

18.02.2014, aktualisiert 29.07.2015, 11862 Aufrufe, 2 Kommentare, 4 Danke

Hallo zusammen,

oft werden Fragen zu Problemen gestellt, ohne das betroffene System hinreichend vorzustellen. Keine Lust, keine Ahnung, keine Zeit ...
Mit einem kleinen Script ist das schnell erledigt, das System hält die Daten ja vor. Ich habe mal ein Powershell-Script zusammengestellt, das diese Aufgabe schnell und unkompliziert erledigt:

01.
<# MyMachine.ps1 
02.
Systemdaten abfragen (via WMI-Objekte) ... auch remote möglich ... Bildschirmausgabe ...  
03.
Ausgabe in Datei schreiben: .\MyMachine.ps1 > "MachineData.txt" 
04.
#> 
05.
 
06.
Param 
07.
08.
[String]$Computer = "LocalHost"  # entspricht $Computer = "." 
09.
10.
 
11.
$Line = "`n" # Zeilenumbruch schreiben 
12.
 
13.
Function Get-ComputerInfo 
14.
15.
$Line + "COMPUTER:" 
16.
"---------" 
17.
# collect computer data: 
18.
$colItems = Get-WmiObject -class win32_ComputerSystem -Computername $Computer 
19.
 
20.
Foreach($objItem in $colItems) 
21.
22.
"Manufacturer         : " + $objItem.Manufacturer 
23.
"Model                : " + $objItem.Model 
24.
"Name                 : " + $objItem.Name 
25.
"Domain               : " + $objItem.Domain 
26.
"Number of processors : " + $objItem.NumberOfProcessors 
27.
"Physical memory      : " + [Math]::Round($objItem.TotalPhysicalMemory/1GB, 2) + " GB" 
28.
"System type          : " + $objItem.SystemType 
29.
$Line 
30.
} #ForEach 
31.
} #Function 
32.
 
33.
 
34.
Function Get-DiskInfo 
35.
36.
$Line + "DISK:" 
37.
"-----" 
38.
# collect disk data: 
39.
$colItems = Get-WmiObject -class win32_DiskDrive -Computername $Computer 
40.
 
41.
ForEach($objItem in $colItems) 
42.
43.
"Manufacturer         : " + $objItem.Manufacturer 
44.
"Model                : " + $objItem.Model 
45.
"Disk name            : " + $objItem.Name 
46.
"Mediatype            : " + $objItem.MediaType 
47.
"Partitions           : " + $objItem.Partitions 
48.
"Size                 : " + [Math]::Round($objItem.Size/1GB,2) + " GB" 
49.
$Line 
50.
} #ForEach 
51.
} #Function 
52.
 
53.
 
54.
Function Get-GraphicsInfo 
55.
56.
$Line + "GRAPHICS:" 
57.
"---------" 
58.
# collect grafics data: 
59.
$colItems = Get-WmiObject -class cim_PCVideoController -Computername $Computer 
60.
 
61.
ForEach($objItem in $colItems) 
62.
63.
"Name                 : " + $objItem.Name 
64.
"Resolution horizontal: " + $objItem.CurrentHorizontalResolution + " pixels" 
65.
"Resolution vertical  : " + $objItem.CurrentVerticalResolution + " pixels" 
66.
"Refresh rate         : " + $objItem.CurrentRefreshRate + " Hz" 
67.
$Line 
68.
} #ForEach 
69.
} #Function 
70.
 
71.
 
72.
Function Get-ProcessorInfo 
73.
74.
$line + "PROCESSOR:" 
75.
"----------" 
76.
# collect processor data 
77.
$colItems = Get-WmiObject -class win32_Processor -Computername $Computer 
78.
 
79.
ForEach($objItem in $colItems) 
80.
81.
"Manufacturer         : " + $objItem.Manufacturer 
82.
"Name                 : " + $objItem.Name.Trim() 
83.
"Version              : " + $objItem.Version 
84.
"Clock speed          : " + $objItem.CurrentClockSpeed + " Hz" 
85.
"Voltage              : " + $objItem.CurrentVoltage + " V" 
86.
"Data width           : " + $objItem.Datawidth + " bit" 
87.
"Number of cores      : " + $objItem.NumberOfCores 
88.
"Logical Processors   : " + $objItem.NumberOfLogicalProcessors 
89.
$Line 
90.
} #ForEach 
91.
} #Function 
92.
 
93.
 
94.
Function Get-OSInfo 
95.
96.
$Line + "OPERATING SYSTEM:" 
97.
"-----------------" 
98.
# collect OS data 
99.
$colItems = Get-WmiObject -class win32_OperatingSystem -Computername $Computer 
100.
 
101.
ForEach($objItem in $colItems) 
102.
103.
"Manufacturer         : " + $objItem.Manufacturer 
104.
"Name                 : " + $objItem.Name 
105.
"Version              : " + $objItem.Version 
106.
"Build number         : " + $objItem.BuildNumber 
107.
"Build type           : " + $objItem.BuildType 
108.
"Code set             : " + $objItem.CodeSet 
109.
"System directory     : " + $objItem.SystemDirectory 
110.
"Total virtual memory : " + [Math]::Round($objItem.TotalVirtualMemorySize/1MB,2) + " MB" 
111.
"Serial number        : " + $objItem.SerialNumber 
112.
$Line 
113.
} #ForEach 
114.
} #Function 
115.
 
116.
 
117.
Function Get-BiosInfo 
118.
119.
$Line + "BIOS:" 
120.
"-----" 
121.
# collect BIOS data 
122.
$colItems = Get-WmiObject -class win32_Bios -Computername $Computer 
123.
 
124.
ForEach($objItem in $colItems) 
125.
126.
"Manufacturer         : " + $objItem.Manufacturer 
127.
"Name                 : " + $objItem.Name 
128.
"Serial number        : " + $objItem.SerialNumber 
129.
$Line 
130.
} #ForEach 
131.
} #Function 
132.
 
133.
 
134.
Function Get-NetworkInfo 
135.
136.
$Line + "NETWORK:" 
137.
"--------" 
138.
# collect network data (only if available) 
139.
$colItems = Get-WmiObject Win32_NetworkAdapterConfiguration -Computername $Computer | where{$_.IPEnabled -eq "True"} 
140.
 
141.
ForEach($objItem in $colItems) 
142.
143.
"Description         :" + $objItem.Description 
144.
"DHCP enabled        :" + $objItem.DHCPEnabled 
145.
"DHCP server         :" + $objItem.DHCPServer 
146.
"IP address          :" + $objItem.IPAddress 
147.
"Sub net mask        :" + $objItem.IPSubnet 
148.
"Dafault gateway     :" + $objItem.DefaultIPGateway 
149.
"DNS domain          :" + $objItem.DNSDomain 
150.
"DNS host            :" + $objItem.DNSHostName 
151.
"MAC address         :" + $objItem.MACAddress 
152.
$Line 
153.
} #ForEach 
154.
} #Function 
155.
 
156.
 
157.
# and here we go 
158.
Get-ComputerInfo 
159.
Get-DiskInfo 
160.
Get-GraphicsInfo 
161.
Get-ProcessorInfo 
162.
Get-OSInfo 
163.
Get-BiosInfo 
164.
Get-NetworkInfo
Vielleicht kann damit jemand etwas anfangen. Die abgefragten Daten lassen sich natürlich fast beliebig erweitern.

[Edit]: Remote-Fähigkeit angepasst (Parameter, default = ".")


Gruß

ANKH
Mitglied: colinardo
18.02.2014, aktualisiert um 17:44 Uhr
Hi ANKH,
schönes Schnippselchen
als Ergänzung für die Leute die hier vorbei schauen, noch ein Link zu einem Script das das ganze schön aufbereitet in einem Excel-Sheet zusammenfasst und auch automatisiert für mehrere Rechner im Netzwerk macht:
https://www.administrator.de/forum/powershell-skripten-netzwerk-auslesen ...

Grüße Uwe
Bitte warten ..
Mitglied: AnkhMorpork
19.02.2014 um 07:59 Uhr
Hallo Uwe,

man dankt!
"Schnippselchen" passt ganz gut. War eigentlich mehr eine Art Fingerübung und natürlich nicht für den professionellen Gebrauch gedacht. Da passen deine Links deutlich besser.
Ich dachte da eher an die kurze und schmerzlose Zusammenfassung von Elementarinfos z.B. hier im Forum. Ausserdem wollte ich auch mal etwas zurückgeben, nachdem mir hier schon derart gut geholfen wurde. Wenn es wem nützt ... und sei es nur als Anregung.
Ich habe damit meine Distanzstrategie zur PS aufgeben können.

Ich mache mich dann mal auf den Weg zum angehenden Halb-Semiprofi.

Gruß

ANKH
Bitte warten ..
Ähnliche Inhalte
Router & Routing

Powershell: FritzBox über TR-064 im Netzwerk konfigurieren und auslesen

Anleitung von colinardoRouter & Routing20 Kommentare

Ich stand neulich vor der undankbaren Aufgabe eine Fritzbox per Powershell auszulesen und Aktionen darüber automatisiert auszuführen. Herausgekommen ist ...

Batch & Shell

Powershell elevated

Tipp von AnkhMorporkBatch & Shell2 Kommentare

Ein kleiner Tipp am Rande für alle PS-Novizen (ich wars einfach leid): Um eine Konsole mit elevated rights schnell ...

Batch & Shell

Weiterentwicklung von Powershell

Information von Penny.CilinBatch & Shell

Anbei ein Artikel im Heise Newsticker bzgl. Powershell: Systemverwaltung: PowerShell goes Cross-Plattform

Batch & Shell

Powershell: Googlemail (GMail) nativ mit Powershell verwalten

Anleitung von colinardoBatch & Shell2 Kommentare

1. Vorwort Google bietet über die GMail-API die Voraussetzungen um sein Google-Mail-Konto über diverse Programmierschnittstellen (PHP/Javascript/etc. pp) zu verwalten. ...

Neue Wissensbeiträge
Internet

Europa baut Zensurinfrastruktur auf: EU-Parlament stimmt für Upload-Filter, Leistungsschutzrecht und gegen KI-Forschung

Information von Frank vor 2 TagenInternet9 Kommentare

Eine sehr schlechte Entscheidungen für die Zukunft Europas ist gefallen: Der Rechtsausschuss im EU-Parlament stimmte heute morgen in einer ...

Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 4 TagenWindows 102 Kommentare

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 4 TagenVideo & Streaming9 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Erkennung und -Abwehr
Trendmicro WFBS 10 ist in deutsch verfügbar!
Tipp von VGem-e vor 5 TagenErkennung und -Abwehr4 Kommentare

Servus Kollegen, downloadbar unter

Heiß diskutierte Inhalte
LAN, WAN, Wireless
WLAN-Übersicht wie FritzWLAN jedoch für PC gesucht
gelöst Frage von HenereLAN, WAN, Wireless16 Kommentare

Servus, ich suche für einen Windows PC eine Anwendung die so ähnlich wie die FritzWLAN App auf dem Smartphone ...

Netzwerke
Netzwerkkommunikation von Windows 10 aus Freigabe mit Windows XP funktioniert nicht
gelöst Frage von KLinnebankNetzwerke14 Kommentare

Hallo werte Gemeinde, ja, es ist Freitag. Aber das ist KEINE Freitagsfrage Ich habe ein für mich völlig wirres ...

Festplatten, SSD, Raid
Server Architektur mit RAID 5 - wozu interne Platten?
Frage von Pierre78Festplatten, SSD, Raid10 Kommentare

Hallo, ich beschäftige mich gerade mit RAID Systemen. Ich habe mir einen gebrauchten Dell PowerEdge R515 gekauft. Dieser hat ...

Samba
Netzlaufwerk über VPN hat Probleme
Frage von geocastSamba8 Kommentare

Hallo Zusammen Ich habe hier ein QNAP TS-269 Pro (aktuellste Firmware) NAS in einem entfernten Standort, der über VPN ...