ПоверСхелл скрипта за проверу статуса Виндовс Упдате
Обично корисници који желе да сазнају да ли је најновија кумулативна исправка инсталирана на њихов Виндовс 10 систем користе овај метод да провере историју ажурирања за Виндовс 10 . У овом посту ћемо вам показати како да добијете тренутне информације о закрпама за Виндовс 10 помоћу ПоверСхелл скрипте.(how to get current patch information for Windows 10 using a PowerShell script.)
ПоверСхелл(PowerShell) скрипта за проверу статуса Виндовс Упдате(Windows Update)
ПоверСхелл скрипта се може користити за извештавање о томе на којој се верзији (PowerShell)оперативног система Виндовс 10(Windows 10) рачунар тренутно налази, као и које је ажурирање најновије ажурирање доступно за уређај. Такође може да извештава о свим ажурирањима оперативног система Виндовс(Windows) објављеним за верзију оперативног система Виндовс 10(Windows 10) на којој је тренутно укључена радна станица.
Када покренете скрипту, биће приказане следеће информације:
- Тренутна верзија ОС-а
- Тренутна верзија ОС-а
- Број тренутне верзије ОС-а
- Инсталирано ажурирање које одговара том броју верзије, као и КБ број и линк до странице са информацијама
- Најновије доступно ажурирање за верзију ОС-а
Да бисте добили информације о актуелним закрпама за Виндовс 10 помоћу (Windows 10)ПоверСхелл(PowerShell) скрипте, потребно је да креирате и покренете ПоверСхелл скрипту(create and run the PowerShell script) користећи код испод са Гитхуб(Github) -а .
[CmdletBinding()] Param( [switch]$ListAllAvailable, [switch]$ExcludePreview, [switch]$ExcludeOutofBand ) $ProgressPreference = 'SilentlyContinue' $URI = "https://aka.ms/WindowsUpdateHistory" # Windows 10 release history Function Get-MyWindowsVersion { [CmdletBinding()] Param ( $ComputerName = $env:COMPUTERNAME ) $Table = New-Object System.Data.DataTable $Table.Columns.AddRange(@("ComputerName","Windows Edition","Version","OS Build")) $ProductName = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name ProductName).ProductName Try { $Version = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name ReleaseID -ErrorAction Stop).ReleaseID } Catch { $Version = "N/A" } $CurrentBuild = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name CurrentBuild).CurrentBuild $UBR = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR).UBR $OSVersion = $CurrentBuild + "." + $UBR $TempTable = New-Object System.Data.DataTable $TempTable.Columns.AddRange(@("ComputerName","Windows Edition","Version","OS Build")) [void]$TempTable.Rows.Add($env:COMPUTERNAME,$ProductName,$Version,$OSVersion) Return $TempTable } Function Convert-ParsedArray { Param($Array) $ArrayList = New-Object System.Collections.ArrayList foreach ($item in $Array) { [void]$ArrayList.Add([PSCustomObject]@{ Update = $item.outerHTML.Split('>')[1].Replace('</a','').Replace('—',' - ') KB = "KB" + $item.href.Split('/')[-1] InfoURL = "https://support.microsoft.com" + $item.href OSBuild = $item.outerHTML.Split('(OS ')[1].Split()[1] # Just for sorting }) } Return $ArrayList } If ($PSVersionTable.PSVersion.Major -ge 6) { $Response = Invoke-WebRequest -Uri $URI -ErrorAction Stop } else { $Response = Invoke-WebRequest -Uri $URI -UseBasicParsing -ErrorAction Stop } If (!($Response.Links)) { throw "Response was not parsed as HTML"} $VersionDataRaw = $Response.Links | where {$_.outerHTML -match "supLeftNavLink" -and $_.outerHTML -match "KB"} $CurrentWindowsVersion = Get-MyWindowsVersion -ErrorAction Stop If ($ListAllAvailable) { If ($ExcludePreview -and $ExcludeOutofBand) { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Preview" -and $_.outerHTML -notmatch "Out-of-band"} } ElseIf ($ExcludePreview) { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Preview"} } ElseIf ($ExcludeOutofBand) { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Out-of-band"} } Else { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0]} } $UniqueList = (Convert-ParsedArray -Array $AllAvailable) | Sort OSBuild -Descending -Unique $Table = New-Object System.Data.DataTable [void]$Table.Columns.AddRange(@('Update','KB','InfoURL')) foreach ($Update in $UniqueList) { [void]$Table.Rows.Add( $Update.Update, $Update.KB, $Update.InfoURL ) } Return $Table } $CurrentPatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'} | Select -First 1 If ($ExcludePreview -and $ExcludeOutofBand) { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Out-of-band" -and $_.outerHTML -notmatch "Preview"} | Select -First 1 } ElseIf ($ExcludePreview) { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Preview"} | Select -First 1 } ElseIf ($ExcludeOutofBand) { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Out-of-band"} | Select -First 1 } Else { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0]} | Select -First 1 } $Table = New-Object System.Data.DataTable [void]$Table.Columns.AddRange(@('OSVersion','OSEdition','OSBuild','CurrentInstalledUpdate','CurrentInstalledUpdateKB','CurrentInstalledUpdateInfoURL','LatestAvailableUpdate','LastestAvailableUpdateKB','LastestAvailableUpdateInfoURL')) [void]$Table.Rows.Add( $CurrentWindowsVersion.Version, $CurrentWindowsVersion.'Windows Edition', $CurrentWindowsVersion.'OS Build', $CurrentPatch.outerHTML.Split('>')[1].Replace('</a','').Replace('—',' - '), "KB" + $CurrentPatch.href.Split('/')[-1], "https://support.microsoft.com" + $CurrentPatch.href, $LatestAvailablePatch.outerHTML.Split('>')[1].Replace('</a','').Replace('—',' - '), "KB" + $LatestAvailablePatch.href.Split('/')[-1], "https://support.microsoft.com" + $LatestAvailablePatch.href ) Return $Table
Доступна ажурирања за преглед(Preview) или ван опсега(Out-of-band) која су новија од оне коју сте инсталирали можете искључити из пријављивања као најновије доступне исправке, тако да можете само да се фокусирате на кумулативна ажурирања тако што ћете покренути наредбу испод:
Get-CurrentPatchInfo -ExcludePreview -ExcludeOutofBand
Такође можете да наведете све исправке за Виндовс које је (Windows)Мицрософт(Microsoft) објавио за вашу верзију ОС-а помоћу следеће команде:
Get-CurrentPatchInfo -ListAvailable
Ако желите да искључите ажурирања за преглед(Preview) и ван опсега(Out-of-band) са листе, али наведете сва ажурирања за Виндовс која је (Windows)Мицрософт(Microsoft) објавио за вашу верзију ОС-а, покрените наредбу у наставку:
Get-CurrentPatchInfo -ListAvailable -ExcludePreview -ExcludeOutofBand
То је то!
Прочитајте следеће(Read next) : Веб локација ПоверСхелл Модуле Бровсер(PowerShell Module Browser site) вам омогућава да претражујете цмдлете и пакете.
Related posts
Ресетујте Виндовс Упдате Цлиент помоћу ПоверСхелл скрипте
Дугме Реши проблеме на страници Виндовс Упдате
Најбоље праксе за побољшање времена инсталације Виндовс Упдате-а
Где пронаћи и како прочитати дневник ажурирања оперативног система Виндовс 11/10
Како да поправите грешку Виндовс Упдате 0к80240061
Виндовс Упдате није успео да се инсталира или се неће преузети у оперативном систему Виндовс 11/10
Виндовс Упдате клијент није успео да открије са грешком 0к8024001ф
Поправите грешку Виндовс Упдате 0к80240439 на Виндовс 10
Грешка 0кц19001е1, Виндовс Упдате није успео да се инсталира
Виндовс Упдате и безбедносне поставке у оперативном систему Виндовс 10
Виндовс Упдате није успео да се инсталира, грешка 0к80070643
Поправите грешку Виндовс Упдате 0к80070422 на Виндовс 10
Поправи Услуга Виндовс Упдате није могла да се заустави
Виндовс наставља да нуди или инсталира исто ажурирање
Како да поправите грешку Виндовс Упдате 0кца020007
Поправите грешку Виндовс Упдате 0к8е5е03фа на Виндовс 10
Поправи грешку 0к80072ефе на Виндовс 10 Упдате Ассистант
Поправи грешку Виндовс Упдате 80072ЕФЕ
Поправи грешку 0к8007042ц за Виндовс Упдате или заштитни зид
Грешка Виндовс Упдате 0к800Б0101, инсталатер је наишао на грешку