Anzeige

Am Puls von Microsoft

Anzeige

PowerShell Get-WindowsUpdateLog funktioniert nicht

gib mal als Admin ein:

1.
get-module
In der Ausgabe sollte das WindowsUpdate Module auftauchen. Falls nicht, hast du uneingeschränkten Internet Zugang mit dem Rechner?

2.
remove-module WindowsUpdate
get-module
Jetzt sollte Windowsupdate verschwunden sein

3.
Get-WindowsUpdateLog
Jetzt ist das Module wieder da und vielleicht funktioniert der Befehl jetzt

Eine weitere Idee wäre
Update-Module WindowsUpdate

lg sneaker
 
Anzeige
Hallo PeteM92,

die Datei "Get-WindowsUpdateLog.txt" hat nur noch den Funktionsheader:

Name : Get-WindowsUpdateLog
ModuleName :
Module : @{Name=}
CommandType : Application
Definition : C:\Windows\system32\Get-WindowsUpdateLog
ParameterSets : {}


und die Powershell-Befehle fehlen. Im Anhang die aktuelle "Get-WindowsUpdatelog" aus Build 10.0.16299 (1709).

Du kannst es mit dem Entfernen des WindowsUpdate-Cmdlets versuchen:

Windows PowerShell als Administrator ausführen starten

Remove-Module WindowsUpdate -Force -Verbose

und anschließend den Neuimport durchführen mit

Import-Module WindowsUpdate -Verbose
 

Anhänge

  • Get-WindowsUpdateLog.txt
    9,1 KB · Aufrufe: 655
Zuletzt bearbeitet:
Hallo @sneaker,

da taucht nichts auf, hier das, was bei get-module erscheint


PS...
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Script 1.2 PSReadline {Get-PSReadlineKeyHandler, Get-PSReadlineOption, Remove-PS...

Nachtrag: bin mal weg für heute - danke erstmal
 
Hallo Freunde,

der Befehl
Import-Module WindowsUpdate -Verbose
hat´s gebracht.
Jetzt wird auch bei
get-module

dieses Modul angezeigt:
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Con...
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Script 1.2 PSReadline {Get-PSReadlineKeyHandler, Get-PSReadlineOption, Remove-PS...
Manifest 1.0.0.0 WindowsUpdate Get-WindowsUpdateLog

Das hätte ich ja nie vermutet, daß da ein Modul nicht installiert ist.
Das Get-WindowsUpdateLog funktioniert jetzt einwandfrei.

Vielen Dank an alle! :)

Eines verstehe ich noch nicht - warum war dieses Modul bei mir nicht installiert? Absichtlich deinstalliert habe ich da sicher nichts.
 
Ansich werden zusätzlich benötigte Module on demand automatisch nach installiert.
Bei dir ist diese Installation wohl irgendwie schiefgelaufen. Gekannt hatte PS den Get-WindowsUpdateLog Befehl ja, obwohl das zugehörige WindowsUpdate-Modul von "get-module" nicht angezeigt wurde.
Man muss auch nicht immer Alles verstehen :D
 
Man muss auch nicht immer Alles verstehen

Dem kann ich nur beipflichten, zumal ich mich zu früh gefreut habe!

Dieses get-WindowsUpdateLog hat nämlich nur einmal funktioniert. Nach Schließen und erneutem Öffnen der Powershell (Admin) ist es nämlich wieder weg!

Wie man im Bild sieht, zeigt der Befehl get-module beim Öffnen von Powershell dieses get-WindowsUpdateLog zunächst nicht mehr an. Erst der Befehl Import-Module WindowsUpdate -Verbose und anschließend erneut get-module zeigt es wieder und erst dann funktioniert das get-WindowsUpdateLog erneut.

PowerShell_1.jpg

Das Problem liegt wohl eine Stufe tiefer.

Ein 2. Rechner, den ich hier habe, zeigt genau dasselbe Verhalten wie im Bild gezeigt, dort funktioniert aber der get-WindowsUpdateLog Befehl immer sofort.

Da scheint also irgendwie das automatische Nachladen des Befehls nicht zu funktionieren.
 
Hallo PeteM92,

Windows PowerShell als Administrator ausführen starten

(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PSModulePath).PSModulePath | Out-File -FilePath "$env:USERPROFILE\Desktop\PSModulePath_Registry.txt"

$env:pSModulePath | Out-File -FilePath "$env:USERPROFILE\Desktop\PSModulePath_env.txt"


Die Dateien "PSModulePath_Registry.txt" und "PSModulePath_env.txt" hier einstellen.


Die Aktualisierung der Umgebungsvariable "PSModulePath" aus der Systemumgebung (Computer) für die aktuelle Benutzerumgebung (User) kannst du mit

$env:pSModulePath=[Environment]::GetEnvironmentVariable("PSModulePath", "Machine")

durchführen.

Speicherort des PS-Modules "WindowsUpdateLog": "C:\Windows\System32\WindowsPowerShell\v1.0\Modules\WindowsUpdate\WindowsUpdateLog.psm1"

In dem Modul-Script "WindowsUpdateLog.psm1" findest du dann auch die Function "Get-WindowsUpdateLog".
 
Hallo OlliD@IRQ8,

danke für Deine Antwort.

Unten die beiden Dateien (UserName XXXX hat nix zu bedeuten):


Die Environmentvariable ist
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\

Die wird durch den Befehl
$env:pSModulePath=[Environment]::GetEnvironmentVariable("PSModulePath", "Machine")
nicht verändert


PS: ist GetEnvironmentVariable richtig oder muß es SetEnvironmentVariable heißen (wie in alten Peek und Poke Zeiten ;) )
 

Anhänge

  • PSModulePath_Registry.txt
    108 Bytes · Aufrufe: 208
  • PSModulePath_env.txt
    298 Bytes · Aufrufe: 207
Hallo PeteM92,

GetEnvironmentVariable("PSModulePath", "Machine") liefert die Umgebungsvariable "PSModulePath" aus der Computerumgebung und schreibt diese in die aktuelle Umgebungsvariable "$env:pSModulePath" des angemeldeten Benutzers.

Die Einträge lt. #29 sind aber alle richtig.
 
Noch eine kleine Ergänzung:

ich habe zwischenzeitlich einen neuen Benutzer eingerichtet, ebenfalls mit Admin-Rechten. Das Problem tritt unter diesem neuen Benutzer genauso auf.
 
Hallo,

ist dieses Problem mittlerweile gelöst?
Ich habe die Tage einen Kommentar von einem User im CB-Forum gelesen, der das selbe Problem hat.
Ein anderer User hat ihm daraufhin geantwortet und behauptet, dass dieses Problem nur dann auftreten soll, wenn man ein Upgrade direkt von Win 7 auf Win 10 durchgeführt hat. Dabei soll es dann bei den Einstellungen der Ausführungsrichtlinien zu Fehlfunktionen kommen.
Das heißt, dass die eingestellten Richtlinien dann nicht mehr stimmen sollen und man für das Laden von Modulen vorübergehend die Einstellung "Unrestricted" verwenden soll.

Bei einer frischen Win 10-Installation und bei einem Upgrade von Win 8(.1) auf Win 10 soll das Problem nicht auftreten.
Ebenso nicht, wenn man unter Win 7 manuell die neueste Version von WindowsPowerShell (5) installiert.

Ich habe keine Ahnung, ob dieser Hinweis weiterhilft, aber ich wollte es hier nur mal ergänzend hinzufügen.
 
Das Problem existiert nach wie vor.

Ich habe allerdings von Windows 8.1 auf Windows 10 upgedatet, damit trifft der Tipp nicht zu.

Das heißt, dass die eingestellten Richtlinien dann nicht mehr stimmen sollen und man für das Laden von Modulen vorübergehend die Einstellung "Unrestricted" verwenden soll.

Da verstehe ich nicht so ganz, was damit gemeint ist. Kannst Du mir bitte den Link auf den Beitrag im CB-Forum noch posten?
 
Es sieht ganz so aus, daß irgendetwas von Windows 8 auf Windows 8.1 auf Windows 10 mitgeschleppt wurde, was jetzt in Windows 10 solche Sache zeitigt,kann mann überall nachlesen (DR Windows) deshalb wird auch gerne zum clean install geraten.
 
Anzeige
Oben