Anzeige

Am Puls von Microsoft

Anzeige

Kleineres Powershell Problem

Anzeige
Die Verfeinerung der Skripte durch Chat GPT begann schon mit Beitrag #38 von mir und die Skripte
funktionieren seit dem schon sehr gut. Natürlich sind die aus Beitrag #40 die besten.
Wie schon erwähnt, muss man die Umgebung beachten (D:\Programme\Batch)
Man braucht unbedingt die setdpi.exe als Auswertungshilfe um den Wert der Sklaierung jedes Monitors zu ermitteln.
Die Skripte funktionieren eigentlich jetzt alle. Wichtig bleibt noch zu erwähnen, dass eine benutzerdefinierte Skalierung ausserhalb des von Windows empfohlenen Bereiches und so, dass man sich vom System abmelden muss (damit die Änderungen wirksam werden) bewirken kann, dass das Powershellskript nicht die tatsächlichen Werte der Auflösung wiedergibt.
Die Setdpi.exe kann nur die Skalierungswerte erfassen und verarbeiten, die Windows im gültigen Bereich zulässt.
Ein Beispiel:
Ein 24 Zoll Monitor der Marke BenQ hat eine Auflösung von 1920 * 1080 Bildpukten.
Dann liegt der vorgegebene und gültige Skalierungsbereich von Windows für diesen Monitor bei
100, 125, 150 und 175 Prozent Skalierung. Ohne dass man sich vom System abmelden muss.
Das kann das Powershellskript und die SETDPI.exe korrekt erfassen und dann auswerten.
Stellt man nun die benutzerdefinierte Skalierung von z.B. 200 Prozent ein, muss man sich von System abmelden.
Nur so werden die Änderungen wirksam. Wenn man sich dann wieder anmeldet und das Powershellskript ausführt,
kann es passieren, das falsche Skalierungswerte bzw. falsche Auflösungswerte angezeigt werden.
Auch darauf hatte mich Chat GPT hingewiesen: Powershell ist für die Auswertung der Auflösung unter Berücksichtigung einer benutzerdefinierten Skalierung unzureichend! Insbesondere bei mehreren angeschlossenen Monitoren.

Allerdings habe ich die 6 Powershellskripte gerade noch mal angefasst.
1. sehen die jetzt alle gleich aus und (aufstegend und absteigend in bunt und blauweiss sind die Unterschiede)
2. ist der Benutzer A. Contzen mit seinen speziellen Werten und seinem Notebook jetzt auch erfasst!
 

Anhänge

  • Contzen_Test.zip
    11,6 KB · Aufrufe: 13
Zuletzt bearbeitet:
Wow, was für eine Antwort auf meine Frage in Beitrag #41. Verfeinerungspotential hätten aber alle Scripts trotz ChatGPT immer noch, aber da die Unzulänglichkeiten ja dein Eigentum sind, meckere ich darüber weiter bei mir zu Hause.
 
Ich kann mir schon vorstellen @skorpion68 worauf Du hinaus willst.
Dann bedenke aber bitte noch dies bzw. siehe es mal so:
Ich muss auf meinen Computern und den Computern die ich betreue damit zu recht kommen.
Deshalb ist z. B. in den Skripten Nur_Bildschirm_Infos_auswerten oder Nur_Kerndaten_auswerten usw.
jeder Wert einzeln erfasst und in eine wieder leicht zu löschende Textdatei geschrieben.
Diese lese ich dann wiederum einzeln ein und verwurste diese Werte in farbigen DOS-Skripten.
Für mich war dies die beste Lösung. Ich will auch noch nach mehreren Jahren nachvollziehen können,
was ich da gemacht habe und wie ich es gemacht habe.
Ob der Weg nun umständlicher ist oder nicht, spielt für mich dabei keine Rolle.
Funktionieren muss es aber und das tut es ja jetzt auch.
Man kann in jeder Suppe ein Haar finden, wenn man denn danach sucht.
 
Beim Kunden A.Contzen habe ich jetzt die benutzerdefinierte Auflösung entfernt und durch empfohlene und gültige
Auflösungen und Skalierungen auf seinen Monitoren ersetzt.
Damit wurden die Einträge in den Powershellskripten überflüssig.
Beschlossen und verkündet:
Die Skripte bleiben jetzt so wie im Anhang!
Kann sein, dass die eine oder andere Datei zuviel drinne ist...


Man könnte zwar noch versuchen eine benutzerdefinierte Skalierung und die Auswertung davon noch die Registry-Einträge unter HKCU mit einzubeziehen, aber det mir zu kompliziert.
Keiner der Computer bzw. Personen deren Computer ich betreue nutzt eine benutzerdefinierte Skalierung.
Nur empfohlene und Werte im gültigen Bereich werden verwendet...
 

Anhänge

  • Endgueltig.zip
    97,2 KB · Aufrufe: 11
Es geht immer weiter mit dem Spass;
angefacht durch KI gibt´s wieder was Neues!
1726629568737.png


und

1726629598022.png


und

1726629622240.png



Shit Frau Schmitt ... meine Graka kann nur 4 Monitore!
 

Anhänge

  • Check_For_Updates_neu_18_09_2024.zip
    971,9 KB · Aufrufe: 10
Man kann in jeder Suppe ein Haar finden, wenn man denn danach sucht.
Stimmt, weshalb ich da mal anhand deines Beitrages #45 die Haare gesucht und dazu das Archiv Test_zu_Beitrag_#45.zip erstellt, gepackt und hier angefügt habe.

1. Folgende Batch-Scripts in PowerShell-Scripts umgestellt:

Code:
Nur_Bildschirm_Infos_auswerten.bat -> Abfrage_Bildschirmdaten_Powershell.ps1
Nur_Bildschirm_Infos_auswerten_bunt.bat -> Abfrage_Bildschirmdaten_Powershell_bunt.ps1
Abfrage_Kerndaten_Powershell.bat -> Abfrage_Kerndaten_Powershell.ps1
Abfrage_Kerndaten_Powershell_bunt.bat -> Abfrage_Kerndaten_Powershell_bunt.ps1

2. Angepasst habe ich folgende PowerShell-Scripts:

Code:
Check_for_Updates1.ps1
Check_for_Updates2.ps1
Check_for_Updates3.ps1
Check_for_Updates4.ps1
Gesamtdaten_Auswertung.ps1
Nur_Bildschirm_Infos_auswerten.ps1
Nur_Kerndaten_auswerten.ps1

3. Neu sind folgende Batch- und PowerShell-Scripts:

Code:
Check_for_Updates4 _esc_char_27.ps1
Info_Center_Settings.bat -> Dies nur, um zu testen ob der Aufruf funktioniert.
keyin.ps1

Als Anwendung ist das Tool SetDpi.exe von hier GitHub - imniko/SetDPI enthalten.

Vielleicht habe ich ja den Anreiz geweckt, dass du das Batch-Script Info_Center_Settings.bat auch noch auf PowerShell umstellst.

PS: Zu Beitrag #46 fehlen mir die Worte, denn als ich ihn las, musste ich erst einmal im Internet suchen, um zu erfahren, was eine tertiäre Anzeige u. s. w. sein soll.
 

Anhänge

  • Test_zu_Beitrag_#45.zip
    28,2 KB · Aufrufe: 9
@skorpion68
Latein ist tot... es lebe Latein....
Nee mal im ernst
Latein hatte ich nie aber so´n paar Brocken kann ich schon noch.
Et muss ja wissenschaftlich klingen: Großes Augenzwinkern.;);););)
 
Das hat die KI nicht in Powershell umgesetzt bekommen:

@echo off
chcp 65001>nul
cls
color f0
setlocal EnableDelayedExpansion
for /f %%. in ('"echo prompt $E|cmd"') do set "ESC=%%."
cls
for /f "Tokens=3" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" /S /V "DefaultGateway"^|findstr "DefaultGateway"') do set Router=%%a

for /f "tokens=3" %%b in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" /S /V "SubnetMask"^|findstr "SubnetMask"') do set Subnetzmaske=%%b

for /f "tokens=3" %%c in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" /S /V "IPAddress"^|findstr "IPAddress"') do set Netztwerkkarten-IP-Adresse=%%c
cls
for /f "tokens=3" %%d in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" /S /V "DefaultGatewayMetric"^|findstr "DefaultGatewayMetric"') do set dhcp12=%%d

for /F "tokens=3" %%m in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" /S /V "ProductReleaseIds"^|findstr "ProductReleaseIds"') do set My_Office_Version=%%m

for /F "tokens=3" %%l in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" /S /V "VersionToReport"^|findstr "VersionToReport"') do set My_Office_Build=%%l
cls
for /f "delims=" %%v in ('"sigcheck64.exe /accepteula -nobanner "%SYSTEMDRIVE%\Program Files\Microsoft Office\Office16\excel.exe" |findstr "file version:""') do set "office16build=%%v"
for /F "tokens=2,3 delims= " %%w in ("%office16build%") do set "office16buildw=%%w"
for /F "tokens=2,3 delims=:" %%x in ("%office16buildw%") do set "office16buildx=%%x"


:weitergesamt
echo Die IP v4 Adressenanzeige funktioniert nur in einer Arbeitsgruppe
echo mit fest vergebenen (statischen) IP-Adressen an einer kabelgebundenen Netzwerkkarte (Ethernet).
echo Die IP v4 Adressenanzeige funktioniert nicht bei Dom„nen, WLAN, Virtuellen Maschinen oder DHCP-Servern.
if "%DHCP12%" equ "" goto aufloesung12
if DHCP12 equ 1 goto weiter11
:weiter11
echo %ESC%[5m
echo %ESC%[32mDie fest vergebene IP v4 Netzwerkadresse dieses Computers lautet: %Netztwerkkarten-IP-Adresse%.
echo %ESC%[32mDie fest vergebene IP v4 Netzwerkadresse des Routers (Standardgateway) lautet: %Router%.
echo %ESC%[32mDie fest vergebene IP v4 Netzwerkadresse der Subnetzmaske lautet: %Subnetzmaske%.%ESC%[0m%ESC%[34;107m
goto weiter12
:aufloesung12
echo %ESC%[5m
echo %ESC%[31mWerte von IP v4 Adressen konnten nicht angezeigt werden, da keine entsprechenden Bedingungen vorhanden sind.%ESC%[0m%ESC%[34;107m
:weiter12
if not exist %SYSTEMDRIVE%\Programdata\microsoft\Office goto ende23081966
echo.
echo %ESC%[34;107mIhre momentan installierten Microsoft Office Produkte werden hier angezeigt:%ESC%[5m
echo.
if not exist %SYSTEMDRIVE%\"Program Files"\"Microsoft Office"\root echo %ESC%[34;107mMicrosoft Office Pro Plus 2016 Vollversion mit Offline MSI-Installer um Updates zu installieren.
if "%My_Office_Version%" == "ProPlus2019Retail" echo %ESC%[32mMicrosoft Office Pro Plus 2019 Retail-Version.
if "%My_Office_Version%" == "ProPlus2019Volume" echo %ESC%[32mMicrosoft Office Pro Plus 2019 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProPlus2021Retail" echo %ESC%[32mMicrosoft Office Pro Plus 2019 Retail-Version.
if "%My_Office_Version%" == "ProPlus2021Volume" echo %ESC%[32mMicrosoft Office Pro Plus 2019 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProPlus2021Retail,VisioPro2021Retail" echo %ESC%[32mMicrosoft Office Pro Plus 2021 Retail-Version und Microsoft Visio Pro 2021 Retail-Version.
if "%My_Office_Version%" == "ProPlus2021Volume,VisioPro2021Volume" echo %ESC%[32mMicrosoft Office Pro Plus 2021 Volumenlizenz-Version und Microsoft Visio Pro 2021 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProPlus2021Retail,VisioPro2021Volume" echo %ESC%[32mMicrosoft Office Pro Plus 2021 Retail-Version und Microsoft Visio Pro 2021 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProPlus2021Volume,VisioPro2021Retail" echo %ESC%[32mMicrosoft Office Pro Plus 2021 Volumenlizenz-Version und Microsoft Visio Pro 2021 Retail-Version.
if "%My_Office_Version%" == "ProPlus2021Volume,VisioPro2021Volume,ProjectPro2021Volume" echo %ESC%[32mMS Office Pro Plus 2021 sowie MS Project Pro 2021 und MS Visio Pro 2021 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProjectPro2021Volume,ProPlus2021Volume,VisioPro2021Volume" echo %ESC%[32mMS Office Pro Plus 2021 sowie MS Project Pro 2021 und MS Visio Pro 2021 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProPlus2021Volume,ProjectPro2021Volume,VisioPro2021Volume" echo %ESC%[32mMS Office Pro Plus 2021 sowie MS Project Pro 2021 und MS Visio Pro 2021 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProPlus2024Volume,ProjectPro2024Volume,VisioPro2024Volume" echo %ESC%[32mMS Office Pro Plus 2024 sowie MS Project Pro 2024 und MS Visio Pro 2024 Volumenlizenz-Version.
if "%My_Office_Version%" == "ProjectPro2024Volume,ProPlus2024Volume,VisioPro2024Volume" echo %ESC%[32mMS Office Pro Plus 2024 sowie MS Project Pro 2024 und MS Visio Pro 2024 Volumenlizenz-Version.
if "%My_Office_Build%" neq "" echo Die Buildnummer des momentan installierten Office Produktes lautet %ESC%[32m%My_Office_Build%.
if "%office16buildx%" neq "" echo Die Buildnummer des momentan installierten Office Produktes lautet %ESC%[32m%office16buildx%.
goto ende2233
:ende23081966
echo %ESC%[5m
Echo %ESC%[31;107mMomentan sind keine Microsoft Office Produkte auf diesem Computer installiert.
:ende2233
echo.
echo %ESC%[34;107mDie Taste Enter führt zurück zu den Info Center Einstellungen in der Taskleiste.
echo.
echo %ESC%[4m%ESC%[5m%ESC%[31;107mDie Taste ESC beendet dieses Programm sofort.%ESC%[24m%ESC%[25m%ESC%[30;107m
rem del d:\Programme\batch\Ausgabe*.txt /F /Q
:menu100077
keyin
if errorlevel 13 if not errorlevel 14 goto menu200
if errorlevel 27 if not errorlevel 28 exit
goto menu100077
:menu200
start d:\Programme\batch\Info_Center_Settings.bat
exit

Noch nicht!!!
Weder das Aufbröseln der IP-Adresse klappt noch das Office Paket wird richtig angezeigt.
Im DOS-Skript alles kein Problem!
 
Zuletzt bearbeitet:
Heureka es hat geklappt
Chat GPT hat es nach langem hin und her es doch noch so hinbekommen wie ich das haben wollte.
Allerdings musste ich auch hier einen kleineren Dämpfer hinnehmen.
Hat man mehrere Anzeigen und viele installierte Sicherheitspatches von Windows drauf, dann passt das nicht mehr
alles auf eine Seite. Deshalb habe ich es jetzt auf zwei Seiten augeteilt.
Die Sicherheitspatches sind jetzt alleine auf der Zweiten Seite...

1726870266398.png


1726866766364.png



Ach und noch etwas @skorpion68
Die Anzeigen hatte ich in den bisherigen Powershellskripten auch schon mal mit 1. 2. 3. usw Anzeige aufgelöst.
Langweilig kann ja jeder lol.........
Und...
Natürlich könnte ich jedes DOS-Skript in Powershell ummodeln, aber da fehlt mir auf Grund meiner Erkrankung,
wie Du ja seinerzeit durch die PN´s erfahren hast, schlichtweg der Nerv und die Zeit für.
Ausserdem was soll´s. Jetzt funzt es ja und so bin ich zufrieden!
 

Anhänge

  • Check_For_Updates_neu_20_09_2024.zip
    190,4 KB · Aufrufe: 15
Zuletzt bearbeitet:
Da ja MS Office 2024 pro plus LTSC de keinen Publisher mehr enthält, habe ich mir den Publisher von einer
Studenten-Version MS Office 2003 und dem Kompatibilitätspaket installiert.
Die Powershellskripte wurden daraufhin nochmals neu angepasst und berücksichtigen jetzt auch
den Publisher von 2003... muhaaa

1726895374826.png
 

Anhänge

  • Check_For_Updates_neu_21_09_2024.zip
    206,1 KB · Aufrufe: 4
Zuletzt bearbeitet:
Ach und da fällt mir noch was ein @skorpion68
Die KI richtet mir das Powershellskript so ein wie ich es denn gerne hätte,
ganz neutral und ohne Gefühle. Punkt!

Ausserdem kann Powershell keine blinkenden Text-Zeilen erzeugen.
Die gute Uralt DOS-Konsole kann das ja schon, wie wir wissen.
Deshalb werde ich auch die Datei Info_Center_Settings.bat aus meinem DOS-Verzeichnis niemals
nicht in ein Powershell-Skript umwandeln. Det Blinken finde ick eenfach cooler... wa?

Solange es die Möglichkeit geben wird, DOS-Skripte zu schreiben und unter Windows wie auch immer
das in Zukunft (egal ob nun 11, 12 oder 17) heissen mag, werde ich das tun und nutzen.
 
Zuletzt bearbeitet:
Das hier habe ich ohne Chta-GPT und das Internet hinbekommen.
Jetzt wird auch noch der physische Arbeitsspeicher ermittelt!

1726950917204.png


1726950938175.png



Hier habe ich mal ´ne Uraltbüchse verwendet: Aber selbst da funzt es...
Aberwitzig... die RAM-Module sind DDR 2 Module unterschiedlicher Hersteller und Kapazität!
1726950967648.png


1726951015397.png


Totlach

Bei einem Uralt Mainboard Asus P5 E3 mit 1333 MHz DDR 3 Speicher 4 * 4 GB und
´ner Intel Q9650 CPU ohne Overclocking wird mir eine Taktfrequenz des RAMs von
sage und schreibe

59392 MHz

angezeigt.

Okay, ein traumhafter Wert, aber das zeigt mir wie ungenau die RAM-Auswertung mit Powershell sein kann.
Denn CPU-ID und andere Drittanbieter Software zeigen die richtigen Werte an!
Stelle ich bei genau diesem Mainboard den FSB auf 400 MHz ein, den FSB-Strap to North-Bridge auch
auf 400 MHz ein und die Taktfrequenz des RAM´s auf 800 MHz um, dann:
1. ist die CPU-Taktfrequenz bei 3600 MHz und
2. funktioniert nur bei dieser Konstellation genau auf diesem Mainboard das Powershell-Skript richtig.
800 MHz Taktfrequenz für das RAM werden mir angezeigt.

Tolle Wurst ist noch:
Auf meinem Notebook Medion Akoya E6228 Notebook werden mir 4 RAM Bänke angezeigt.
Nachweislich hat das Mainboard aber nur 2 .
Dafür sind 2 * 8 GB SODIMM SAMSUNG @1600MHz verbaut.
Wenigstens die Werte für totalphysical Memory und die Taktfrequenz zeigt mir Powershell hier richtig an.
Fazit: Powershell kann ungenau sein, wenn mit boardeigenen Mitteln gewisse Systemwerte ausgelesen werden sollen!
 

Anhänge

  • Check_For_Updates_neu_21_09_2024.zip
    466,5 KB · Aufrufe: 3
Zuletzt bearbeitet:
Auch die CPU-Auswertung in Powershell kann fehlerhaft sein. Insbesondere beim Overclocking, Hyperthreading,
ThrottelDown Modus, Turbo Modus und sogar beim Idle Modus.
Es kann passieren, das nicht alle Prozessorkerne, nicht alle logischen Prozessorkerne und sogar eine
falsche Taktfrequenz angezeigt wird bzw. werden.
Der Witz ist, dass Drittanbieter-Software, wie z.B. CPU-ID, da wesentlich präziser ist.

Aber trotzdem hielt mich das nicht davon ab, die vier für mich wichtigsten Powershellskripte hier nochmal abzulegen.
 

Anhänge

  • Check_For_Updates_neu_22_09_2024.zip
    16,8 KB · Aufrufe: 5
Chat GPT habe ich auch gerade auf das Thema mit der falschen
RAM-Bank Anzahl hingewiesen und befragt.
Die Antwrort war klar und deutlich
dass Powershell auch in der neuesten Version nicht alles abdeckt und
deshalb fehlerhafte Auswertungen bei speziellen Hardware-Konfigurationen
zustande kommen können. Zitat der KI:
Powershell nutzt WMI (Windows Management Instrumentation)
und kann in einigen Fällen nicht alle Hardware-Details erfassen,
insbesondere bei weniger verbreiteten oder älteren Hardware-Konfigurationen.
Dies kann zu Inkonsistenzen führen.
WMI-Repository reparieren: Manchmal kann das WMI-Repository beschädigt sein,
was zu fehlerhaften Informationen führen kann. Sie können versuchen, das WMI-Repository zu reparieren,
indem Sie die folgenden Befehle in einer administrativen Eingabeaufforderung ausführen:
winmgmt /salvagerepository
und anschließend:
winmgmt /resetrepository
Verwendung alternativer Cmdlets: Es gibt auch andere Cmdlets in PowerShell,
die möglicherweise hilfreich sein könnten,
wie Get-ComputerInfo oder get-PhysicalMemory.
Diese könnten zusätzliche oder genauere Informationen liefern.
Updates der PowerShell-Version:
Stellen Sie sicher, dass Sie die neueste Version von PowerShell verwenden.
Neuere Versionen könnten Verbesserungen in der Hardwareerkennung enthalten.

Ich habe alles, was Chat GPT empfohlen hat, ausprobiert, aber Powershell zeigt
immer noch beim Notebook Medion Akoya E6228 die falsche RAM-Bank Anzahl an.
Drittanbieter-Software wie Speccy und CPU-ID zeigen es ja richtig an!
Tja...merkwürden, merkwürden!
 
Auch Chat GPT hat sich daran die Zähne ausgebissen, eine genaue Uhrzeitauflösung in den Powershell-Skipts hinzubekommen wann welches Update installiert worden ist. Nur eine Datumsauflösung ist möglich.
Diese wird auch korrekt angezeigt. Aber die Uhrzeit bleibt auf 00:00:00.
Deshalb habe ich die Powershellskripte dahingehend angepaast, dass nur noch das Datum im deutschen Format angezeigt wird. Ohne Uhrzeit. Die Dateien lasse ich mal wieder wie immer im Anhang liegen.
Wer es denn ausprobieren möchte...
 

Anhänge

  • Check_For_Updates_neu_23_09_2024.zip
    16,9 KB · Aufrufe: 5
So
Ich habe da mal wieder was vorbereitet:
Die 4 Powershellskripte sind nun doch sehr umfangreich geworden.
Auf der ersten Seite werden Kerndaten abgefragt.
Was für ein Betriebssystem wird verwendet mit Versions und Buildnummer ob 32 oder 64 Bit.
Wie heisst der Computer.
Wie lautet der Arbeitsgruppenname.
Wie lautet der Name des angemeldeten Benutzers und Seine User-ID.
6 Monitore können in ihrer Auflösung und Skalierung erfasst werden.
Eine IP v4 Adressenanzeige wird abgefragt und es wird erklärt wenn Sie nicht funktioniert und
unter welchen Bedingungen diese Abfrage wirkunglos bzw. wirksam ist.
Es wird zusätzlich noch auf dieser Seite das installierte MS Office Paket angezeigt.
Egal welche Version man hat, es wird immer die Version angezeigt und seine Buildnummer.

Auf der zweiten Seite werden die Informationen zum physischen Arbeitsspeicher und zum
verwendeten Prozessor angezeigt.
Wieviel RAM ist vorhanden, welche Taktfrequenz hat es, wieviele RAM-Banke gibt es
Wieviele RAM-Bausteine sind wo gesteckt und in welcher einzelnen Größe.
Die CPU wird mit ihrem Namen, der Taktfrequenz der physischen und der logischen Kerne angezeigt.

Auf der dritten Seite werden alle physischen Datenträger ermittelt die verbaut oder angeschlossen sind.
Mit ihrer Einzelkapazität, Identitätsnummer, Namen und dem Medientyp. (SSD, NVMe) Soweit erkennbar.
Die Gesamtanzahl der Datenträger wird ermittelt und angezeigt und die Gesamtkapazität in GB ausgegeben.

Auf der vierten Seite werden nur optische Datenträger ermittelt und angezeigt.
In ihrer Anzahl und mit ihrem Namen.
Aus dem Namen geht meistens schon hervor, um was für ein optisches Laufwerk es sich handelt.
Es können auch über USB angeschlossene optische Laufwerke erkannt werden.

Auf der fünften Seite werden immer die zuletzt installierten Updatepakete und in ihrer, je nach
Powershellskript aufsteigenden Sortierreihenfolge oder absteigenden Sortierreihenfolge, angezeigt.

Auf der sechsten Seite gibt es eine Art Vorwort zur Erklärung der Anzeige der installierten Software.
Ich habe das so strukturiert, dass auf der siebten Seite alle Software von Microsoft
in einer Tabelle angezeigt wird, die keine Visual C++ Pakete enthält.
Sortierreihenfolge ist immer in allen Tabellen nach Name, Version und Herausgeber.

Auf der achten Seite werden nur die Visual C++ Pakete von Microsoft tabellarisch angezeigt.

Auf der neunten Seite wird die allgemeine Software (also ohne Mircosoft) von A bis E angezeigt.

Auf der zehnten Seite wird die allgemeine Software (also ohne Mircosoft) von F bis M angezeigt.

Auf der elften Seite wird die allgemeine Software (also ohne Mircosoft) von N bis Z angezeigt.

Klar ist wohl hoffentlich jedem

1. Man braucht Administrative Rechte und Powershellkenntnisse um die Skript anzupassen und auszuführen.
2. Die Skripte sind so ausgelegt das zum Beispiel die SETDPI.exe benötigt wird und in einem ganz bestimmten Pfad liegen muss!
3. Deshalb lege ich die setdpi.exe noch mal mit bei.
4. Der Pfad bei mir ist immer D:\Programme\batch !
5. Ich lege in die ZIP-Datei auch mal einige Bilder mit rein!
6. Auch wenn die Bilder nicht immer ganz passend sind zu den ganz frischen Skripten so zeigt es doch an, was möglich ist
und was für eine Schreibarbeit dahinter steckt. Mal ganz abgesehen von der Programmierarbeit.
Da hat mir die KI wirklich sehr geholfen ...
7. Wer denn mal Skripte ganz ohne was anpassen zu müssen nutzen will, der wird mit der Datei
Test_Powershell_installierte_Software.zip seine Freude haben!
Dort ist aber nur das Skript zur installierten Software reingeleget
 

Anhänge

  • Check_for_Updates_25_09_2024.zip
    37,2 KB · Aufrufe: 13
  • Bilder.zip
    918,3 KB · Aufrufe: 5
  • Test_Powershell_installierte_Software.zip
    3,6 KB · Aufrufe: 6
Zuletzt bearbeitet:
Weiter geht´s
Jetzt wurde auch noch eine Drucker-Abfrage implementiert...

Die überarbeiteten Dateien sind im Anhang

Vielleicht lasse ich mich noch dazu hinreissen eine Treiber -Abfrage zu implementieren....
 

Anhänge

  • Check_for_Updates1.zip
    37,7 KB · Aufrufe: 5
So
Chat GPT und ich, wir haben es gemeinsam gelöst bekommen.
Sinn und Zweck der ganzen Aktion war für mich,
monchrome und farbige Powershell-Skripte hinzubekommen, die
möglichst viele Daten des Computers erfassen.
Da haben wir gestern am 25.09.2024 fast 12 Stunden für gebraucht.
Es ging um die Treiber-Erfassung der externen Treiber,
also nicht um die internen Treiber von Microsoft´s Gnaden.
Zuerst haben wir es mit CIM Instance in Powershell versucht,
aber das schlug fehl, da nicht alles erfasst wurde, von dem was ich brauche.
Dann kam mir die Idee mit pnputil /enum-Drivers.
Damit hatten wir zumindest schon mal eine Liste aller externen Treiber in Powershell.
Jetzt ging es um die weitere Verarbeitung zu einer Tabellenform, die
die Tabelle seitenweise in Gruppen von A-E, F-I, J-M, N-R und S-Z aufteilt.
Chat GPT ist nicht aufgefallen, dass ja pnputil /enum-Drivers in Powershell
das Wort veröffentlichter Name beim Treiberpaket garnicht richtig auflösen kann.
Was steckt in dem Wort veröffentlichter drin? Genau! Ein Umlaut namens ö.
Daher blieb die Tabelle immer leer, obwohl ja alle Treiber durch die
Zeile pnputil /enum-Drivers in Powershell eingelesen wurden.
Dann hat Chat GPT in einigen Ausdrücken selbst auch Fehler eingebaut z.B.
heisst es in der Zeile von Chat GPT im Powershelskript:
$groups[$group] | Format-Table @{Label='Installierte Software'; Expression={$_ .DisplayName}},
richtig heissen muss es aber:
$groups[$group] | Format-Table @{Label='Installierte Software'; Expression={$_.DisplayName}},
Also hat Chat GPT ein Leerzeichen zu viel gesetzt, was das ganze Skript zum Absturz brachte.
Na... lange Rede kurzer Sinn: Es funktioniert jetzt.
Die Skripte finde ich persönlich toll!

Eine wichtige Änderung für alle die die Skripte mal ausprobieren wollen.
Ich habe in das Verzeichnis, in dem die Skripte abgelegt sind, auch mal die setdpi.exe mit
ihren nur 23 KB Größe reingelegt.
Die Pfade in den Powershellskripten verweisen nur noch an die setdpi.exe.
Diese Datei muss also zusammen mit den Powershellskripten im selben Verzeichnis sein und bleiben.
Die Pfade brauchen auch nicht mehr verändert bzw. angepasst werden. Das ist bereits geschehen!
Jeder, der will kann jetzt ohne Umschweife das Skript mal testen.
Wichtig ist aber, dass man administrative Rechte hat und die Nutzung von Powershell-Skripten aktiviert und erlaubt ist.

Ach und noch etwas ist mir aufgefallen:

Unser Alphabet hat definitiv zu wenig Buchstaben... Wie bekommt man denn 21 Laufwerke gemountet?
Und dann noch 34 Partitionen. Rüffel für Microsoft. ;););)
 

Anhänge

  • 21_Datentäger_angeschlossen_bunt.JPG
    21_Datentäger_angeschlossen_bunt.JPG
    150,3 KB · Aufrufe: 13
  • 21_Datentäger_angeschlossen_monochrom.JPG
    21_Datentäger_angeschlossen_monochrom.JPG
    154,4 KB · Aufrufe: 12
  • 34_Volumes.JPG
    34_Volumes.JPG
    164,9 KB · Aufrufe: 11
  • Registry-Einträge_der_Volumes2.jpg
    Registry-Einträge_der_Volumes2.jpg
    189,1 KB · Aufrufe: 13
  • Check_for_Updates_neu_26_09_2024.zip
    41,6 KB · Aufrufe: 4
Zuletzt bearbeitet:
Wenn ich Chat GPT nicht hätte,

Ein Kunde von mir hat soviel Corel Software geladen, dass das nicht auf eine Seite bei der Anzeige
der verwendeten Software passt. Genauso bei MS mit den Visual C++ Paketen.
Also haben wir diese SW-Pakete aufgeteilt auf mehrere Seiten.
Das Skript erfasst jetzt auch Mainboard-Hardware und BIOS usw.
Die Liste der möglichen TV-Karten Anbieter wurde erweitert und ist jetzt ausreichend groß.
 

Anhänge

  • Check_For_Updates_neu_27_09_2024.zip
    45,1 KB · Aufrufe: 6
Anzeige
Oben