NET Framework Cumulative Updates ermitteln PowerShell
Moin,
ich bin gerade dabei die installierten Updates per PowerShell aufzulisten. Dafür nutze ich Get-HotFix. Leider bekomme ich darüber nur die Windows OS Updates, leider nicht die des .NET Frameworks.
Ich habe folgendes gefunden, um die Updates aus der Registry auszulesen How to determine which net-framework updates are installed
Allerdings unterscheiden sich die KB-Nummern der ermittelten Updates und der Updates die von Microsoft auf deren Übersichtseite zu finden sind. Ich würde daraus schließen, dass es sich um unterschiedliche Updates handelt.
Gibt es eine Funktion, die die Updates des .NET-Frameworks auflistet ähnlich wie Get-Hotfix?
Mit freundlichen Grüßen
ich bin gerade dabei die installierten Updates per PowerShell aufzulisten. Dafür nutze ich Get-HotFix. Leider bekomme ich darüber nur die Windows OS Updates, leider nicht die des .NET Frameworks.
Ich habe folgendes gefunden, um die Updates aus der Registry auszulesen How to determine which net-framework updates are installed
$DotNetVersions = Get-ChildItem HKLM:\SOFTWARE\WOW6432Node\Microsoft\Updates | Where-Object {$_.name -like
"*.NET Framework*"}
ForEach($Version in $DotNetVersions){
$Updates = Get-ChildItem $Version.PSPath
$Version.PSChildName
ForEach ($Update in $Updates){
$Update.PSChildName
}
}
Allerdings unterscheiden sich die KB-Nummern der ermittelten Updates und der Updates die von Microsoft auf deren Übersichtseite zu finden sind. Ich würde daraus schließen, dass es sich um unterschiedliche Updates handelt.
Gibt es eine Funktion, die die Updates des .NET-Frameworks auflistet ähnlich wie Get-Hotfix?
Mit freundlichen Grüßen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 53021965546
Url: https://administrator.de/contentid/53021965546
Ausgedruckt am: 24.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
Mahlzeit,
auf der Site von https://www.ip-insider.de/installierte-software-updates-und-service-pack ... solltest Du alles finden.
$session = new-object -comobject „Microsoft.Update.Session“
$searcher = $session.CreateUpdateSearcher()
$history = $searcher.QueryHistory(0, $searcher.GetTotalHistoryCount())
$history | ft
Damit hast Du alle Updates.
LG HD
auf der Site von https://www.ip-insider.de/installierte-software-updates-und-service-pack ... solltest Du alles finden.
$session = new-object -comobject „Microsoft.Update.Session“
$searcher = $session.CreateUpdateSearcher()
$history = $searcher.QueryHistory(0, $searcher.GetTotalHistoryCount())
$history | ft
Damit hast Du alle Updates.
LG HD
Vielleicht hilft Dir das weiter:
LG HD
$session = [activator]::CreateInstance([type]::GetTypeFromProgID(“Microsoft.Update.Session”,$ComputerName))
$us = $session.CreateUpdateSearcher()
$qtd = $us.GetTotalHistoryCount()
$hot = $us.QueryHistory(0, $qtd)
$installedKB = "KB5031224" # Hier den gesuchten KB eintragen
# Output object
$OutPut = @()
#Iterating and finding updates
foreach($Upd in $hot){
# 1 means in progress and 2 means succeeded
if ($Upd.operation -eq 1 -and $Upd.resultcode -eq 2) {
$OutPut += New-Object -Type PSObject -Prop @{
‘ComputerName’=$computername
‘UpdateDate’=$Upd.date
‘KB’=[regex]::match($Upd.Title,’KB(\d+)’)
‘UpdateTitle’=$Upd.title
‘UpdateDescription’=$Upd.Description
‘SupportUrl’=$Upd.SupportUrl
‘UpdateId’=$Upd.UpdateIdentity.UpdateId
‘RevisionNumber’=$Upd.UpdateIdentity.RevisionNumber
}
}
}
foreach ($kb in $OutPut){
if($kb.KB.Value -eq $installedKB){
write-host "Ist installiert" -ForegroundColor Green #Hier Könntest Du irgendwas weiterverarbeiten
}
}
allerdings benötige ich davon lediglich die Anwort, ob es denn installiert ist. Also quasi nur true oder false. Das eigentliche Objekt und dessen Eigenschaften interessiert mich in dem Moment nicht
$KB = "KBXXXXXXX"
if ((new-object -ComObject "Microsoft.Update.Session").CreateUpdateSearcher().QueryHistory(0,[int]::MaxValue) | ?{$_.Title -match "\b$KB\b" -and $_.ResultCode -eq 2 -and $_.Operation -eq 1}){
"installed"
}else{
"not installed"
}