Computer >> कंप्यूटर >  >> प्रणाली >> Windows

PowerShell स्क्रिप्ट का उपयोग करके Windows 10 की वर्तमान पैच जानकारी प्राप्त करें

आमतौर पर, जो उपयोगकर्ता यह पता लगाना चाहते हैं कि उनके विंडोज 10 सिस्टम पर नवीनतम संचयी अपडेट स्थापित है या नहीं, इस पद्धति का उपयोग विंडोज 10 अपडेट इतिहास की जांच के लिए करते हैं। इस पोस्ट में, हम आपको दिखाएंगे कि एक पावरशेल स्क्रिप्ट का उपयोग करके विंडोज 10 के लिए वर्तमान पैच जानकारी कैसे प्राप्त करें।

PowerShell स्क्रिप्ट का उपयोग करके Windows 10 की वर्तमान पैच जानकारी प्राप्त करें

Windows Update स्थिति जांचने के लिए PowerShell स्क्रिप्ट

पावरशेल स्क्रिप्ट का उपयोग यह रिपोर्ट करने के लिए किया जा सकता है कि वर्तमान में कौन सा ओएस विंडोज 10 कंप्यूटर बनाता है और साथ ही कौन सा अपडेट डिवाइस के लिए उपलब्ध नवीनतम अपडेट है। यह विंडोज 10 के उस संस्करण के लिए प्रकाशित सभी विंडोज अपडेट पर भी रिपोर्ट कर सकता है जो वर्तमान में वर्कस्टेशन चालू है।

जब आप स्क्रिप्ट चलाते हैं, तो निम्न जानकारी प्रदर्शित होगी:

  • वर्तमान ओएस संस्करण
  • वर्तमान OS संस्करण
  • वर्तमान OS बिल्ड नंबर
  • इंस्टॉल किया गया अपडेट जो उस बिल्ड नंबर से मेल खाता है, साथ ही KB नंबर और जानकारी पेज का लिंक
  • OS संस्करण के लिए नवीनतम उपलब्ध अपडेट

PowerShell स्क्रिप्ट का उपयोग करके Windows 10 की वर्तमान पैच जानकारी प्राप्त करने के लिए, आपको Github से नीचे दिए गए कोड का उपयोग करके PowerShell स्क्रिप्ट बनाने और चलाने की आवश्यकता है।

[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

आप उपलब्ध पूर्वावलोकन या आउट-ऑफ-बैंड अपडेट को बाहर कर सकते हैं जो आपके द्वारा इंस्टॉल किए गए अपडेट की तुलना में नवीनतम उपलब्ध अपडेट के रूप में रिपोर्ट किए जाने से अधिक हाल के हैं, इसलिए आप नीचे दिए गए कमांड को चलाकर केवल संचयी अपडेट पर ध्यान केंद्रित कर सकते हैं:

Get-CurrentPatchInfo -ExcludePreview -ExcludeOutofBand

आप उन सभी विंडोज अपडेट को भी सूचीबद्ध कर सकते हैं जिन्हें माइक्रोसॉफ्ट ने आपके ओएस संस्करण के लिए निम्नलिखित कमांड के साथ प्रकाशित किया है:

Get-CurrentPatchInfo -ListAvailable

यदि आप पूर्वावलोकन और आउट-ऑफ-बैंड अपडेट को सूची से बाहर करना चाहते हैं, लेकिन उन सभी विंडोज अपडेट को सूचीबद्ध करें जिन्हें Microsoft ने आपके OS संस्करण के लिए प्रकाशित किया है, तो नीचे दिए गए कमांड को चलाएँ:

Get-CurrentPatchInfo -ListAvailable -ExcludePreview -ExcludeOutofBand

बस!

आगे पढ़ें :पावरशेल मॉड्यूल ब्राउज़र साइट आपको cmdlets और पैकेज खोजने की सुविधा देती है।

PowerShell स्क्रिप्ट का उपयोग करके Windows 10 की वर्तमान पैच जानकारी प्राप्त करें
  1. Windows 10 में PowerShell का उपयोग करके फ़ाइल कैसे डाउनलोड करें

    Windows PowerShell विंडोज 10 में, एक शक्तिशाली उपकरण है जिसकी क्षमता सेट कमांड प्रॉम्प्ट की तुलना में कई गुना अधिक है। यह निकट भविष्य में कमांड प्रॉम्प्ट को भी बदल सकता है क्योंकि यह ऑपरेटिंग सिस्टम पर अधिक शक्ति और नियंत्रण प्रदान करता है। Microsoft ने इसे कार्य स्वचालन और कॉन्फ़िगरेशन प्रबंधन प्रक

  1. समानांतरों का उपयोग करके मैक पर विंडोज़ कैसे प्राप्त करें?

    मैक पर विंडोज ओएस और ऐप्स का उपयोग करना तब आसान हो सकता है जब आप दोनों प्लेटफॉर्म का अक्सर उपयोग कर रहे हों। अब, आपको सोचना चाहिए कि यह कैसे संभव है, क्योंकि मैक को उपयोगकर्ता शत्रुतापूर्ण कहा जाता है। खैर, ऐसे ऐप्स हैं जो इसे संभव बना सकते हैं। Mac पर Windows प्राप्त करने के सबसे लोकप्रिय तरीकों मे

  1. Windows 10 पर Powershell का उपयोग करके फ़ाइलों को ज़िप/अनज़िप कैसे करें

    ज़िप फ़ंक्शन आपको एक फ़ाइल को एक फ़ाइल में संपीड़ित सभी संबंधित कॉन्फ़िगरेशन के साथ फ़ाइल को छोटे आकार में संपीड़ित करने की अनुमति देता है। इस तरह, इस तरह की कंप्रेस की गई ज़िप फ़ाइलें दूसरों के साथ ईमेल, या अन्य फ़ाइल-साझाकरण माध्यमों पर आसानी से साझा की जा सकती हैं। Zip फ़ंक्शन करने के लिए, उपयो