Anzeige

Am Puls von Microsoft

Anzeige

PowerShell Get-WindowsUpdateLog funktioniert nicht

PeteM92

gehört zum Inventar
Hallo,

der Befehl in der Powershell (Admin oder auch nicht Admin) Get-WindowsUpdateLog soll die *.ETL Dateien in C:\Windows\Logs\WindowsUpdate auslesen und als *.log-Text-Datei auf dem Desktop ablegen.
Siehe auch https://docs.microsoft.com/en-us/powershell/module/windowsupdate/get-windowsupdatelog

Leider funktioniert das bei mir nicht. Bei Eingabe von Get-WindowsUpdateLog in der PowerShell(Admin) erscheint nur ein Dialogfeld "Wie soll diese Datei geöffnet werden?" (das sollte garnicht erscheinen)
Auch nach Auswahl von Editor oder Wordpad geht es nicht weiter. Es wird kein Log-File erstellt.

Weiß jemand, wie man das reparieren kann?

Probleme mit Windows-Update selbst habe ich keine, auch sonst läuft mein PC ohne sichtbare Probleme.

PS: die Angaben in "Mein System" sind aktuell und es geht um diesen Laptop. Und noch was: als Virenscanner ist und war nur der Defender installiert. Mein Windows ist allerdings gewachsen von Windows 8.0 über alles, was bisher erschienen ist - eine Neuinstallation und Anpassung aller Programme, die ich benutze, würde mich viele Tage beschäftigen, das ist die allerletzte Option.
 
Anzeige
Hallo,
bei mir hat das gerade einwandfrei funktioniert und die Logdatei (WindowsUpdate.log) wird auf dem Desktop gespeichert.
Wahrscheinlich liegt der Fehler an den Einstellungen der Ausführungsrichtlinien (ExecutionPolicy).

Ich würde mal in der Powershell ISE (Als Admin)
Get-ExecutionPolicy
eingeben und danach ggf. die Einstellung auf Bypass oder Unrestricted stellen.
Die Standardeinstellung ist Restricted.

Set-ExecutionPolicy -ExecutionPolicy Bypass -Force
oder
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force
 
Hallo @Micha45,

danke für Deine Vorschläge.

Die ExecutionPolicy steht bei mir auf RemoteSigned (keine Ahnung warum).

Das Umstellen auf Restricted, Bypass und Unrestricted mit jeweils Neustarten dazwischen bringt leider keine Veränderung des Verhaltens.

An den *.etl-Dateien liegt´s auch nicht. Ich habe die mal auf einen anderen Rechner kopiert, da wird das WindowsUpdate.log einwandfrei daraus erstellt.
 
Hallo und ein frohes neues Jahr,

ich hatte gestern im Internet ein bisschen recherchiert und auch ein paar (englischsprachige) Artikel zu dem Thema gefunden.
Anscheinend funktioniert die Konvertierung der .etl-Dateien nur dann über die Eingabe des Befehls in der Powershell ISE, wenn man die aktuelle und offizielle Release der Windows 10-Version (1709) verwendet.

Bei vorherigen Versionen funktioniert das nur auf Umwegen und man muss da dann eine Datei herunterladen und sich mit dem "Microsoft Symbol Server" verbinden. So ganz verstanden habe ich es im Detail allerdings nicht.

Mit einer Windows 10-Insider-Version soll es überhaupt nicht funktionieren.

Vermutlich nutzt du auf besagtem Rechner eine der Windows 10-Versionen, die diesen Befehl nicht unterstützen.
Eine andere Erklärung habe ich nicht zur Hand.
 
Hallo @Micha45,

auch Dir ein Gutes Neues Jahr.

Ja, das weiß ich, daß das bei Windows 10 Versionen vor 1703 nicht funktioniert. Aber wie es auch in "Mein System" steht, ist mein Windows aktuell, 1709 Build 16299.125.
Daran kann also nicht liegen. Da muß irgendetwas anderes verbogen sein in meinem Windows.
 
Hallo PeteM,

Was passiert denn, wenn du z.b.
Get-WindowsUpdateLog -LogPath c:\temp\my.log
oder
Get-WindowsUpdateLog -LogPath c:\temp\my.abc
eingibst? (c:\temp muss bitte existieren)
Werden die Dateien erstellt?

Nur Interesse: Was liest du aus diesem Log konkret raus?

lg sneaker
 
Hallo @sneaker,
Get-WindowsUpdateLog -LogPath c:\temp\my.log
oder
Get-WindowsUpdateLog -LogPath c:\temp\my.abc
bringt dasselbe Erscheinungsbild:

Get-WindowsUpdateLog.jpg

Editor wäre die vernünftigste Wahl, aber egal was man da auswählt, es passiert nichts (Editor bzw. das ausgewählte Programm geht auf). Der Temp-Ordner bleibt leer.

Es ist halt ein gemischtes Gefühl, wenn Windows nicht richtig reagiert. Da könnte sich natürlich auch ein GAU anbahnen...
 
sfc /scannow und die verschiedenen Parameter bei DISM (Dism /Online /Cleanup-Image /CheckHealth, Dism /Online /Cleanup-Image /ScanHealth, Dism /Online /Cleanup-Image /RestoreHealth) sagen alle, das keine Fehler vorliegen.

Ich vermute irgendeinen verbogenen Registry-Eintrag, der würde nach meinem Verständnis durch ein Inplace-Update nicht korrigiert. Ich werde das aber noch ausprobieren.
 
Du hast aber nicht zufällig die Dateiendung .etl einem anderen Programm gegeben? Das Verhalten von Windows, beim Versuch WindowsUpdateLog.log zu erstellen, sieht nämlich ganz danach aus.
 
Das .etl-Dateiformat ist (bei mir) keinem Programm zugeordnet und auch nicht in der Liste der Standardapps aufgeführt.
Die .etl-Dateien sind im Grunde ein abgewandeltes .csv-Format.

Die Vermutung liegt nahe, dass das entsprechende PS-Modul beschädigt ist, oder beim Update auf 1709 nicht vollständig installiert wurde. Solche Fehler passieren desöfteren und Powershell ist aus eigener Erfahrung oft ein Buch mit sieben Siegeln. Mal funktioniert etwas eine Zeitlang einwandfrei, dann wiederum treten Fehler auf, die nicht nachvollziehbar sind.

Nach Eingabe des Befehls Get-WindowsUpdateLog in PS wird im lokalen temporären Verzeichnis ein Ordner namens "WindowsUpdateLog" erstellt und darin sind unter anderem die zu konvertierenden .etl-Dateien. Bei mir sind das sechs Stück und mit
wuetl.CSV.tmp.00000
.
.
wuetl.CSV.tmp.00005

bezeichnet. Löscht man hinter dem CSV -> .tmp.00000, kann man die Datei als .csv mit einem Editor öffnen. Der Inhalt ist lesbar.

Ich würde also zuerst überprüfen, ob das temporäre Verzeichnis nach Eingabe des Befehls überhaupt vorhanden ist. Ist das nicht der Fall, könnte in der Tat das entsprechende Modul beschädigt oder unvollständig geladen worden sein. Aus welchen Gründen auch immer.
Dann könnte wahrscheinlich ein manuelles Installieren der neuesten PS-Version Abhilfe schaffen. Das hatte ich mal unter Windows 7 so gemacht, als bei mir Fehler in der PS auftraten.
Ob das manuelle Installieren der PS (5.1) unter Windows 10 ebenso möglich ist, weiß ich allerdings nicht.
 
Danke für die Tipps.

Hier eine Zusammenfassungen meiner weiteren Aktionen (nach Post #9):

Ich habe ein Inplace-Upgrade durchgeführt, danach gleiches Verhalten bei Get-WindowsUpdateLog - es geht ein Fenster mit App-Auswahl auf.

Im lokalen temporären Verzeichnis gibt es keinen Ordner namens "WindowsUpdateLog" , also in %temp% (bei mir ist das C:\Users\PeteM92\AppData\Local\Temp\ ) wird kein Ordner nach Post #11 angelegt. Und auch nicht in C:\Windows\Temp

Die Dateiendung .etl ist mit keinem Programm verknüpft (in assoc >d:\assoc.txt ist .etl nicht enthalten und auch nicht unter "Standard-Apps nach Dateityp auswählen")

Ja, das ist der Stand soweit. Ich kann natürlich auch "gröbere" Experimente an meinem Windows durchführen, mit einem aktuellen Backup komme ich auf den jetzigen Stand zurück.
 
Zuletzt bearbeitet:
Nur noch mal zur Bestätigung:
Get-WindowsUpdateLog -LogPath c:\temp\my.abc
bringt dassselbe Ergebnis?

Du könntest in den Windows Features die Powershell 2.0 entfernen und wieder reinsetzen (ein totaler Schuss ins Blaue!)
 
@smeaker,
Get-WindowsUpdateLog -LogPath c:\temp\my.abc
bringt dassselbe Ergebnis?
ja, da wird nur das Fenster zum Öffnen mit einem Programm aufgemacht (c:\temp habe ich extra angelegt, das Verzeichnis bleibt leer).

Powershell habe ich entfernt und neu gestartet:

Powershell.jpg

Da ist aber die Powershell nach wie vor greifbar - da muß es noch eine andere Stelle zum Deinstallieren geben - oder?
Jedenfalls hat das Get-Wind... auch in diesem Zustand nicht anders reagiert.

Nachtrag:
auch nach Wiederinstallieren dieser Powershell 2.0 ergibt sich keine Veränderung im Verhalten von Get-WindowsUpdateLog
 
Zuletzt bearbeitet:
Also das übersteigt meine Kenntnisse der Powershell. Bei

remove-module

bekomme ich nur Fehlermeldungen. Weder

remove-module "Get-WindowsUpdateLog" (mit und ohne "-Zeichen)

noch

remove-module "WindowsUpdateLog"

gibt eine für mich verständliche Reaktion
 
Hallo PeteM92,

Windows PowerShell als Administrator ausführen starten

Get-Command -ShowCommandInfo Get-WindowsUpdateLog | Out-File -FilePath "$env:USERPROFILE\Desktop\Get-WindowsUpdateLog.txt"

Die Datei "Get-WindowsUpdateLog.txt" hier einstellen. Dann sehen wir ja, was dort wirklich abläuft...
 
Hallo @Olli@IRQ8:

hier das File:
 

Anhänge

  • Get-WindowsUpdateLog.txt
    400 Bytes · Aufrufe: 244
Anzeige
Oben