Anzeige

Am Puls von Microsoft

Anzeige

Diskussion Kleineres Powershell Problem

Ich hab da mal was ausprobiert:
Beim Segeln heisst es, wenn man alle Segel setzt: Vollzeug setzen.
2 Memory Sticks je 16 GB (14,xx GB)
ASMT, Amicro und JMicron sowie USB 3.0 sind externe Festplatten

Dann habe ich ca. um 11.40 Uhr da noch was gemacht...Mehr Klarheit im Text:
Die grossen Skripte sind jetzt ebenfalls fertig und getestet...
1733123792232.png
 

Anhänge

  • Vollzeug_gesetzt_mit_21_Datenträgern.JPG
    Vollzeug_gesetzt_mit_21_Datenträgern.JPG
    630,2 KB · Aufrufe: 22
  • For_Normal_Users.zip
    643,5 KB · Aufrufe: 19
Zuletzt bearbeitet:
Anzeige
Ich habe in einer VM mit Server 2022 Build 20348.825 (also etwas älter) mal die Powershellskripte getestet.
Durchlaufen funktioniert, aber nicht fehlerfrei.
Jetzt muss man natürlich hinzufügen, dass die Powershellversion auch eine etwas andere ist als die, die wir bei einem Windows 11 Client benutzen. Drei Fehler sind aufgetreten:
1. Virenscanner tja das liegt wohl daran das Server die WMI-Class anders abarbeitet
1733160554179.png

2. CPU Last... hahaha... in der VM die Prozessorlast erfassen und dann noch abrunden, bei einem Wert von 0, tolle Wurst
1733160606518.png


3. CPU-Kerne und logische Kerne (Hyperthreading), mit der Subtraktion weiss ich echt noch keinen Rat
Vielleicht muss ich die Prozessorkerne und logischen Kerne in der VM anpassen?!?
1733160653986.png

Ich sag mal so... det is alles keen Beinbruch! Kümmern werde ich mich darum aber nicht mehr...
Wie gesagt... das ist ja nur ein Test in einer VM gewesen!
Für uns "Normalos" funktionieren die Skripte ja...
 

Anhänge

  • For_Normal_Users.zip
    644 KB · Aufrufe: 26
Zuletzt bearbeitet:
Ich hatte ja im vorherigen Post über drei "Fehler" berichtet, die in einer
Virtuellen Maschine mit Server 2022 Build 20348 aufgetreten sind.
Gereizt hat es mich dann doch die Fehler auszubügeln und die Skripte konsistenter zu machen.

1. Virenscanner-Erfassung
Der Virenscanner in Windows Server kann nicht über die CIM-Instance erfasst werden.
Die CIM-Instance erhielt dann noch die Erweiterung -ErrorAction SilentlyContinue,
so dass diese wenigstens ohne Fehlermeldungen auszugeben, weiter läuft.
Deshalb habe ich mir bei Server Betriebssystemen anders beholfen.
Wenn das Betriebssystem im Namen Server drin hat und ein gewisser Dienst mit Namen
Windows Defender Advanced Threat Protection vorhanden ist, dann Virenscanner = "Windows Defender"
Die Weitere Erfassung funktioniert dann wie gewohnt (Letztes Update, Schnellüberprüfung usw.)
Wie im Skript bisher auch, wird ein anderer Dritt-Anbieter Virenscanner nur mit seinem Namen erfasst! Mehr nicht.
Code:
# ___________________________________________________ Neuer Abschnitt für Server_______________________________________________________

    # Wenn kein Virenscanner gefunden wird, setze auf Windows Defender
if ($Mein_Betriebssystem -like "*Server*" ) {
$virus_dienst= get-service | where {$_.DisplayName -Like "Windows Defender Advanced Threat Protection*"}
if ($Mein_Betriebssystem -like "*Server*" -and ($virus_dienst)) {
 $antivirusName = "Windows Defender"
 $antivirusProducts = "Windows Defender"
 $antivirusProduct = "Windows Defender" }

 }
# ___________________________________________________ Neuer Abschnitt für Server_______________________________________________________

 
    if (-not $antivirusProducts -or -not (Test-Path $FilepathSecurityhealthHost) -or -not (Test-Path $FilepathSecurityhealthservice)) {
   write-host
Write-Host ${blink}"Es wurde kein installierter Virenscanner gefunden!"${blinken_ende}
        Write-Host
write-host
        return
  }

if ($Mein_Betriebssystem -notlike "*Server*") {
    # Nimm den ersten gefundenen Virenscanner
    $antivirusProduct = $antivirusProducts[0]
    $antivirusName = $antivirusProduct.displayName}
2. CPU-Last
Bisher war es so, dass der Wert der CPU-Last immer gerundet wurde. So habe ich das jetzt gemacht und es funktioniert!
Code:
$cpuLoad = (Get-CimInstance -Class Win32_Processor).LoadPercentage
if ($cpuload -gt "1") {
$roundedCpuLoad = [math]::Round($cpuLoad, 2)} else {$roundedCpuLoad = "0"}
Klingt einleuchtend... Nur wenn die CPU-Last größer 1 ist, dann erst soll der Wert gerundet werden.
Vorher ist das Schwachsinn und daher kam in der Virtuellen Maschine auch die Fehlermeldung zu Stande.

3. CPU-Kerne

Da war das Ganze schon etwas komplizierter.
In einer Virtuellen Maschine werden die CPU-Kerne anders erfasst, als in einer realen Maschine.
Jeder Kern wird einzeln behandelt und es wird dann für jeden Kern einzeln der Name und die Taktfrequenz ausgegeben.
Dann habe ich alle Namen in einer Zeile und alle Taktfrequenzen in einer Zeile stehen.
Das ist aber so, in meinen Skripten zumindest, nicht erwünscht.
Es reicht dann ein erfasster Prozessorname und eine erfasste Taktfrequenz.
Sonst hätte ich eine ForEach-Schleife bauen müssen.
Jetzt wird nur von dem ersten CPU-Kern der Name und die Taktfrequenz erfasst.
Die Erfassung der physischen und logischen Prozessorkerne bleibt davon unberührt.

Einen Vierten Fehler, der aber nichts mit Server Betriebssystemen oder Virtuellen Maschinen zu tun hat,
habe ich auch noch im Bereich USB 3.0 Controller oder höher entdeckt.
Es stand bei einem Freund NVidia Audio Wave Table blablabla mit als USB 3.0 Controller mit drin.
Also habe ich den Filter um $_.Description -notlike "*Audio*" erweitert und zack Ruhe wars.
Ist ja auch schwachsinnig, wenn bei den zu erfassenden USB 3.0 Controllern (oder höher) und um die geht es ja in diesem Abschnitt nur, plötzlich ein Teil einer Soundkarte mit auftaucht!

Die Schnelltest-Skripte sind diesmal sehr umfangreich.

Prozessor_RAM_Erfassung_blauweiss.ps1 und
Prozessor_RAM_Erfassung_bunt.ps1 und

Test_CPU_Load_blauweiss.ps1 und
Test_CPU_Load_bunt.ps1 und

Test_Virenscanner_Erfassung_blau_weiss.ps1 und
Test_Virenscanner_Erfassung_bunt.ps1 und

USB_3_Mobile_Erfassung_blauweiss.ps1 und
USB_3_Mobile_Erfassung_blunt.ps1

Selbstverständlich sind die "großen" Skripte ebenfalls fertig und angepasst!

Kleini der CPU Quäler:

1733265531394.png


Ich werde von nun an in die For_Normal_Users.zip die Datei CPU Burn-in.exe mit reinpacken.
Diese Datei ermöglicht es mit ihren nur 20 KB Größe die CPU zu belasten und mal richtig Traffic zu erzeugen.
Ich habe dann noch Drive Snapshot gestartet um von Laufwerk C: ein Abbild (Image) zu erstellen.
Daher kamen dann die 91 Prozent CPU-Last zu Stande.

Um 3.55 Uhr habe ich noch einige kosmetische Korrekturen vorgenommen.
Des Weiteren musste ich bei dem Virenscannerabschnitt die Logik nochmals geringfügig ändern.
Wenn noch nie ein Update oder ein Quickscan gestartet wurde, ist es wiedersinnig zu schreiben:
Es ist noch kein Update erforderlich bzw. Es ist noch kein Quickscan erforderlich... muhhhaaaaaa

Schade ... Auf dem Server 2022 bekomme ich TranslucentTB nicht mehr ans Laufen!
Trotz TTB_23_2.msixbundle Datei und richtigem DISM-Befehl...... Error 3

Aber das hier tröstet mich dann doch:
1733281337456.png

Und das auf dem Server auch:

1733281377344.png
 

Anhänge

  • For_Normal_Users.zip
    659,2 KB · Aufrufe: 15
Zuletzt bearbeitet:
Mann mann mann ... so langsam habe ich die Sch......ze voll.
Immer diese neuen Entdeckungen bei Server oder Virtuellen Maschinen. Es ist langsam zum K......en.
 

Anhänge

  • For_Normal_Users.zip
    659,6 KB · Aufrufe: 19
Bei einer Sache hat mir gerade eben die KI echt geholfen.
Code:
$cpuLoad = (Get-CimInstance -Class Win32_Processor).LoadPercentage
$roundedCpuLoad = [math]::Round(($cpuLoad | Measure-Object -Average).Average, 2)
Die zweite Zeile mit der Roundfunktion und dem Measure-Object -Average da wäre ich im Leben nie drauf gekommen. Dadurch ist wieder eine mögliche Fehlerquelle beseitigt. Insbesondere bei Virtuellen Maschinen.
Es wird erst eine Array der LoadPercentage aller Prozessorkerne erstellt.
Dann wir daraus ein Durchschnittswert der CPU-Last berechnet.
Wenn dieser Wert berechnet ist, wird er gerundet.

Des Weiteren habe ich bei der VMWare Software mal testweise die beiden Netzwerkkarten deaktiviert.
Die broadcasten nämlich wie wild in der Gegend rum!
1733304045639.png
 

Anhänge

  • For_Normal_Users.zip
    659,5 KB · Aufrufe: 15
Zuletzt bearbeitet:
Ich habe die Skripte ja auch in Virtuellen Maschinen getestet. Unter Windows 7 keine Chance.
Get-CIMInstance erkennt das uralte Powershell dadrin wohl nicht mehr. Jede Menge andere Sachen werden auch mit Fehlerausgaben negiert. Ich habe daher noch mal das Ganze in einer VM mit Windows 11 probiert.
Ich möchte das Mainboard sehen welches 64 RAM-Bänke hat?!?
1733318209809.png
Des Weiteren habe ich ein wenig mit dem Virenscanner herumgespielt:
1733318256953.png

Ein Update hatte sich der Virenscanner selbst gezogen. Aber eine Schnellüberprüfung gab´s bisher noch nicht.
Wie gesagt... alles nur in einer Virtuellen Maschine zum Testen der Skripte!
 
Es ist nur eine kleine technische Spielerei.
Es gibt bei der Erfassung der Laufwerke in Powershell mit dem Befehl Get-Volume
verschiedene Laufwerktypen:
Removeable = Wechselmedien (austauschbare Datenträger)
Fixed = Festplatte
CD-ROM = Optische Laufwerke aller Art
(eine Spezifizierung mit Get-Volume ist unmöglich, DVDRW oder Bluray wird nicht erkannt)
Network = Verbundene Netzlaufwerke
VHD = Virtuelle Datenträger bzw. Virtuelle Festplatten.
Das Problem ist hierbei, dass eine genauere Spezifizierung der Art eines Laufwerks nicht möglich ist.
Ich habe daher zumindest mal für die Diskettenlaufwerke folgende Logik aufgestellt.
Punkt 1... Ein Diskettenlaufwerk gehört immer zu der Klasse der Removable... das steht unumstößlich fest.
Punkt 2... Ist keine Diskette eingelegt wird der deutsche Ausdruck Wechselmedium verwendet.
Punkt 3... Ist eine Diskette eingelegt und das Dateisystem ist FAT wird der deutsche Ausdruck Diskettenlaufwerk verwendet.
Einen Vorteil hat der Get-Volume Befehl aber. Und das ist die Anzeige der Gesamtkapazität und der Restkapazität.

Bild mit Diskette drin:
1733368866730.png


Bild ohne Diskette:
1733368885496.png


So ist das jetzt und so bleibt das jetzt auch.
Eine Logikänderung gibt es noch oben drauf:
Wenn Gesamtkapazität oder Restkapazität größer als 100 TB dann Einheit nicht mehr in GB sondern in TB bzw.
anders herum wird ein Schuh draus
Wenn Gesamtkapazität oder Restkapazität kleiner als 100 TB dann Einheit in GB ansonsten in TB
Code:
@{Name='Restkapazität'; Expression={
        if ($_.SizeRemaining -lt 1KB) {
            "{0:N0} Byte" -f ($_.SizeRemaining / 1)
        } elseif ($_.SizeRemaining -lt 1MB) {
            "{0:N2} KB" -f ($_.SizeRemaining / 1KB)  
        } elseif ($_.SizeRemaining -lt 1GB) {
            "{0:N2} MB" -f ($_.SizeRemaining / 1MB)
        } elseif ($_.SizeRemaining -lt 100TB) {
            "{0:N2} GB" -f ($_.SizeRemaining / 1GB)
        } else {
            "{0:N2} TB" -f ($_.SizeRemaining / 1TB)
        }
    }},
    @{Name='Gesamtkapazität'; Expression={
        if ($_.Size -lt 1KB) {
            "{0:N0} Byte" -f ($_.Size / 1)
        } elseif ($_.Size -lt 1MB) {
            "{0:N2} KB" -f ($_.Size / 1KB)  
        } elseif ($_.Size -lt 1GB) {
            "{0:N2} MB" -f ($_.Size / 1MB)
        } elseif ($_.Size -lt 100TB) {
            "{0:N2} GB" -f ($_.Size / 1GB)
        } else {
            "{0:N2} TB" -f ($_.Size / 1TB)
        }
     }}
Hundert Terabyte .... Minimalisten-System!!! hihihi ;) ;) ;)
 

Anhänge

  • For_Normal_Users.zip
    659,5 KB · Aufrufe: 18
Zuletzt bearbeitet:
Ich habe noch was für´s Auge getan. Es ist halt nur Kosmetik.
Bei den optischen Laufwerken sah es ja mal so aus:
1733401182959.png


Jetzt habe ich das Ganze ein wenig, wie ich finde, verbessert:

1733401256253.png

Auf die Logik hat das aber keinen Einfluss.
Ich hoffe mal, dass jemand in oder an seinem Computer noch ein optisches Laufwerk hat
und dass es auch richtig erkannt wird. Feedback wäre schön.
Wenn es nämlich nicht richtig erkannt werden sollte, kann ich die Logik anpassen und für uns alle verbessern.
Das Gleiche gilt auch für den Bereich Card Reader...
Je mehr Informationen ich habe um so besser.
Die Schnelltestskripte dazu lauten:
Alle_Laufwerke_allgemein_blauweiss_gesamt_Erfassung.ps1
Alle_Laufwerke_allgemein_bunt_gesamt_Erfassung.ps1
und
Optische_Laufwerke_blauweiss.ps1
Optische_Laufwerke_bunt.ps1
 

Anhänge

  • For_Normal_Users.zip
    655 KB · Aufrufe: 18
So @ThorstenBerlin
Danke für die Bilder.
Also eins ist mal klar. Laufwerke bzw. Slots im Card Reader
wo kein Medium drin ist, werden in der Tabelle Bild B angezeigt.
Die werden nämlich auch im Windows Explorer angezeigt.
Klickt man da auf das leere Laufwerk, kommt ja eine Fehlermeldung "Legen Sie einen Datenträger in das Laufwerk ein."
Bild C
Da werde ich wohl den Filter noch mal anpassen müssen, dass Streaming weder im Namen, der Beschreibung oder in der sogenannten $_.Caption auftauchen. Da gehe ich noch mal ran, was die besonderen Speichermedien anbetrifft.
Ach und noch etwas
Die letzte Festplatte in Bild B ist eine Partition auf deiner Internen Festplatte, welche zumeist versteckt ist.
Boot oder UEFI oder Recovery kann das sein.
Der Powershell Befehl "GET-Volume" erfasst Volumes. Diese können, wie schon erwähnt, auch leer sein,
aber auch versteckt sein.

Zu Bild C


Sei so gut und teste jetzt noch mal:

Das hier wäre auch noch interessant für mich /uns: Datenträger_Erfassung_Blauweiss.zip
Ich möchte ja wissen, ob Dein Card Reader da jetzt auch auftaucht, wenn nicht muss ich noch mal an die Filter ran.

1733427214360.png



Des Weiteren
Wenn Du auf eines der Skripte mit der rechten Maustaste klickst müsste ja im Kontextmenü des
Windows Explorers "Mit Powershell öffnen stehen"... machst du das darüber oder gehst Du über
ein Konsolenfenster? Vllt hast Du aber auch in Powershell den Dark-Mode eingeschaltet...

Was den Code anbetrifft für den Filter der besonderen Speichermedien:
Code:
} elseif (($laufwerk.Description -like "*Tape*" -or
                  $laufwerk.ClassGUID -like "*6d807884-7d21-11cf-801c-08002be10318*" -or
                  $laufwerk.Description -like "*Band*" -or               
                  $laufwerk.Description -like "*Magnetband*" -or
                  $laufwerk.Description -like "*MagnetTape*" -or
                  $laufwerk.Description -like "*Magnet-Band*" -or
                  $laufwerk.Description -like "*Magnet-Tape*" -or
                  $laufwerk.Description -like "*Streamer*" -or
                  $laufwerk.Name -like "*Tape*" -or
                  $laufwerk.Name -like "*Band*" -or
                  $laufwerk.Name -like "*MagnetBand*" -or
                  $laufwerk.Name -like "*MagnetTape*" -or
                  $laufwerk.Name -like "*Magnet-Band*" -or
                  $laufwerk.Name -like "*Streamer*") -and
                  $laufwerk.Description -notlike "*Streaming*" -and
                  $laufwerk.Name -notlike "*Streaming*" -and
                  $laufwerk.Caption -notlike "*Streaming*") {
             Write-Host "Es wurde ein $medien_typ_intern Streaming-Band-Laufwerk erkannt."
Ich habe also jetzt gesagt: alles was Streamer heisst ist ein Bandlaufwerk, alles was mit Streaming zu tun hat
fliegt raus. Die ClassGUID 6d807884-7d21-11cf-801c-08002be10318 ist noch mal speziell für Streamer-Laufwerke.

Edited by mich um kurz nach 23.57 Uhr...
Ich habe ein TestSkript eingefügt welches PNP Class sucht die im Namen sowas wie " Streaming " drin haben.
Wird sowas gefunden (meistens durch eine aktivierte WEB-Cam verursacht), dann wird dies auch angezeigt.
Wenn das nicht gefunden wird und das Bandlaufwerk immer noch erkannt wird, muss ich mir echt was einfallen lassen.
In den grossen Skripten sind die Änderungen jetzt auch fertig.
 

Anhänge

  • Besondere_Speichermedien_blauweiss.zip
    2,2 KB · Aufrufe: 17
  • Datenträger_Erfassung_blauweiss.zip
    2,1 KB · Aufrufe: 18
  • Test_Streaming_Service.zip
    373 Bytes · Aufrufe: 16
  • For_Normal_Users.zip
    655,7 KB · Aufrufe: 17
Zuletzt bearbeitet:
Dafür habe ich heute mittag noch was gemacht :
Guckst Du hier:




Hi Thorsten
kannst Du für mich noch mal die besonderen Speichermedien testen?
Es müsste der Filter für die Streamer Laufwerke jetzt besser sein!
 

Anhänge

  • Besondere_Speichermedien_blauweiss.zip
    1,1 KB · Aufrufe: 21
Zuletzt bearbeitet:
Hallo Jürgen, wie schon in der PN an Dich mitgeteilt folgen hier die Screenshots.
Den Dark Mode habe ich nicht aktiviert (bin mir aber nicht sicher), die Einstellungen unter "Personalisierung - Farben" habe ich in den ZIP-Ordner "Personalisierung - Farben" gepackt (siehe Anhang).
Hier die Übersicht über die Laufwerke im Explorer:
Laufwerke.jpg

Hier der Screenshot für "Besondere Speichermedien":
Besondere Speichermedien.png

Der Screenshot für die Datenträgererfassung:
Datenträgererfassung.png

Und der Screenshot für "Test_Streaming_Service":
Test_Streaming_Service.png
 

Anhänge

  • Personalisierung - Farben.zip
    190 KB · Aufrufe: 19
Klasse
Jetzt ist der Fehler mit dem Streaming auch Geschichte. Ich bin echt erleichtert...
Wenn in der PNPEntity etwas mit Streaming gefunden wird (kann Video oder Audio Streaming sein),
dann landete das in den alten Skripten immer bei den besonderen Speichermedien.
Das habe ich jetzt, Gott sei Dank, und ja... auch mit Deiner Hilfe @ThorstenBerlin , in den Griff bekommen.
Toll zu sehen, dass der Filter jetzt greift. Des Weiteren bin ich zufrieden, dass der Filter im Bereich für die Erfassung der Card Reader jetzt auch anscheinend funktioniert. Na... jedenfalls wird Dein Card Reader ja erkannt.
 
Zuletzt bearbeitet:
Ich kann immer wieder nur den 🎓 vor Dir ziehen, was Du an Zeit und Mühe in das Projekt (sofern ich das sagen darf) hineinsteckst. (y)
Die Skripte laufen bei mir - soweit ich das beurteilen kann - ohne Probleme.
Ich wünsche Dir noch einen schönen Nachmittag und später einen schönen Abend.
 
Um mal zu erklären warum die besonderen Speichermedien drin sind.
Ein "Kunde" und Freund von mir hat das hier in seinem Computer drin!
Wohlgemerkt die interne Ausführung davon:
1733500434129.png

Das hier wäre aber auch ganz nett:
1733500470083.png


Problem: Die Dinger kosten so um die dreineinhalb Schleifen...
Der Gag war, als ich die Skripte an seinem Computer mit dem Streamer ausprobieren durfte...
Der gute Mann wollte nicht mehr leben und sagte : "Hammer was man mit Powershell alles erfassen kann."
Die Erfassung dieses Gerätes funktioniert jedenfalls. Jetzt fehlt nur noch jemand mit IOMEGA, Bernoulli
oder MO-Laufwerk. LOL
 
@ThorstenBerlin schrieb:
Die Skripte laufen bei mir - soweit ich das beurteilen kann - ohne Probleme.

Meine Antwort:
Solange die Skripte keine Fehlermeldungen ähnlich derer in Beitrag #362 von mir ausspucken, ist alles okay.
Des Weiteren wird es jetzt höchstwahrscheinlich in der nächsten Zeit nur noch leichte kosmetische Sachen oder geringe Veränderungen in der Logik der Skripte geben, denn im Großen und Ganzen sind die Skripte ja fertig.
Was da alles erfasst wird, ist schon mehr als ausreichend. Aber so hat man eben alles zusammen und muss sich nicht jede einzelne Information mühsam in den Einstellungen oder sonstwo zusammensuchen.

Haben wollen, kaufen........................... meins.... SCHEEEEEEEEEERZ

Siehe Bilder im Anhang
 

Anhänge

  • Alle_Laufwerke.zip
    627,4 KB · Aufrufe: 13
Zuletzt bearbeitet:
Ich arbeite gerade noch ein einer Sache um die Card Reader richtig und einzeln zu erfassen,
egal ob ein Medium eingesteckt ist oder nicht. Die Filter sind praktisch die selben wie bisher,
aber es wurde noch um zwei Typen erweitert:
Code:
 $_.FriendlyName -like "*Generic- Compact Flash*" -or
 $_.FriendlyName -like "*Generic- MS/MS-Pro*"
Mein Notebook hat einen internen Card Reader. In dem ist eine SD-Card mit 256 GB eingesteckt.
Dann habe ich noch zwei USB-Card Reader angeschlossen. Da ist nirgendwo ein Medium drin.
Es liegt am Treiber des internen Card Readers. Wenn der kein Medium drin hat, wird der auch nicht angezeigt.
Vielleicht verwende ich demnächst doch wieder den Standard-Treiber von Microsoft.
Dabei kam das hier raus:
1733695861052.png


Ein neurer Test ist das hier mit nur dem internen USB Card Reader ohne Treiber des Geräteherstellers in meinem Notebook, wenn kein Wechselmedium eingesteckt ist.

1733704874327.png


Des Weiteren ist das hier eigentlich nur Kosmetik:
1733694916145.png

Da muss ich eventuell noch mal an die Filter ran, wenn ich die entsprechenden Laufwertypen in die Finger bekommen sollte.
edited by mich um 1.46 Uhr...
Ich stricke noch weiter dran rum, aber ich weiss noch nicht, ob ich die Card Reader einzeln so mit aufnehmen soll.
Eine hübsche Sache ist das ja .... aber...
 

Anhänge

  • Besondere_Speichermedien_und_Card_Reader.zip
    6,1 KB · Aufrufe: 13
Zuletzt bearbeitet:
Also
Ich habe bisher die Datenträgererfassung über den Powershell-Befehl Get-PhysicalDisk gemacht.
Das mache ich ab sofort nicht mehr.
Aus zweierlei Gründen.
1. Der Medientyp und einzelne Festplatten in RAID-Systemen können nicht immer genau erfasst werden.
2. Es ist mit dem Befehl viel schwieriger Card Reader zu erfassen.

Mit dem Befehl Get-Disk kann ich zwar auch keine Medientypen erfassen (was eher unwichtig ist), dafür
wird aber erkannt ob ein Medium in einem Card Reader steckt oder nicht. Auch die Art der Partition wird erkannt!
Laufwerkanzahl, Gesamtkapazität aller Datenträger, RAID-Erkennung und Card Reader funktioniert so viel besser.
Siehe Bilder
1733726033100.png


und

1733726078952.png

Ich finde es tausendmal besser so....
edited by mich um 7.40 Uhr
Dadurch sind die großen Skripte noch um ein paar KB angewachsen, aber was soll´s...
Siehe Anhang For_Normal_Users.zip
 

Anhänge

  • Datenträger_Erfassung_ganz_neu.zip
    5,5 KB · Aufrufe: 15
  • For_Normal_Users.zip
    669,2 KB · Aufrufe: 13
Zuletzt bearbeitet:
Boah eyh...
Ich habe mich in den letzten 5 Stunden mit der Kosmetik der Skripte zur Laufwerkerfassung rumgeschlagen.
Das Ganze sieht m. E. so jetzt viel besser aus.
Guckst Du:
1733759395420.png

und hier:
1733759424958.png

Wenn kein Medium erkannt wird, dann gehen gewisse Dinge im Ausdruck auf "unbekannt".
Bei der Kapazität geht das so nicht, da die If then Bedingungen so verklausuliert sind, dass sie nur Byte als kleinsten Wert erkennen. Wenn man anstatt des mathematischen Ausdrucks ein Wort einfügt, gibt das Skript Fehlermeldungen heraus.
Viel mehr Laufwerke bzw. Volumes passen auch nicht auf die Seite!
Des Weiteren:
1733759678951.png


Und als Letztes das hier:
1733764805892.png


In den nächsten Tagen bekomme ich ein MO-Laufwerk und ein IOMEGA Zip-Drive (100MB) geliehen,
um die Filter zu testen und ggf. anzupassen. Das wird ein Spaß. Wie in alten Zeiten...

edited by mich um 18.17 Uhr
Auf Wunsch wird jetzt bei den Card Readern auch die Gesamtkapazität aller Card Reader zusammngerechnet und ausgegeben.
 

Anhänge

  • For_Normal_Users.zip
    670,2 KB · Aufrufe: 14
Zuletzt bearbeitet:
edv.kleini das Spielkind...
Ich habe das Gerät seit mindestens 15 Jahren nicht mehr benutzt. Also bitte nicht ernst nehmen.
1733797642657.png
Die Logik dafür war simpel. Aber es ist nur eine technische Spielerei und es kommt auf keinen Fall mit in die Skripte.
Wer es dennoch sehen will, wie es gemacht wurde... Im Anhang die Dateien in gezippter Form dazu.
 

Anhänge

  • Besondere_Speichermedien_Jungo_blauweiss.zip
    41 KB · Aufrufe: 10
Anzeige
Oben