ونڈوز کمپیوٹر پر زیر التواء ریبوٹ کو کیسے چیک کریں۔

Wn Wz Kmpyw R Pr Zyr Altwa Rybw Kw Kys Chyk Kry



عام طور پر، صارف کے ڈرائیور، اپ ڈیٹ (سافٹ ویئر یا سسٹم)، یا سافٹ ویئر انسٹال کرنے کے بعد، یا ونڈوز کلائنٹ یا سرور مشین پر کنفیگریشن میں کچھ تبدیلیاں کرنے کے بعد، صارف کو سسٹم کو دوبارہ شروع کرنے کا اشارہ کیا جائے گا۔ اس پوسٹ میں، ہم آپ کو ان اقدامات کے بارے میں بتائیں گے کہ کس طرح کرنا ہے۔ ونڈوز کمپیوٹر پر زیر التواء ریبوٹ کی جانچ کریں۔ .



  ونڈوز کمپیوٹر پر زیر التواء ریبوٹ کو کیسے چیک کریں۔





ونڈوز کمپیوٹر پر زیر التواء ریبوٹ کی جانچ کیسے کریں۔

بہت سے Windows OS کاموں کی تکمیل پر، بعض اوقات کمپیوٹر کو ریبوٹ کی ضرورت پڑتی ہے۔ لاگ ان ہونے اور فعال سیشن میں رہتے ہوئے، آپ کو مطلع کیا جائے گا کہ ایک ریبوٹ زیر التواء ہے یا کچھ پاپ اپ باکس یا نوٹیفکیشن کے ذریعے درکار ہے — جسے آپ یا تو مسترد کر سکتے ہیں یا ونڈوز کو دوبارہ شروع کرنے کے لیے قبول کر سکتے ہیں۔ لیکن، کچھ ایسے حالات میں جہاں آپ مشین کو فوری طور پر ریبوٹ نہیں کرنا چاہتے یا نہیں کر سکتے — مثال کے طور پر، آپ کے پاس کچھ نامکمل کام ہے جو آپ کو دوبارہ شروع کرنے سے پہلے مکمل کرنے کی ضرورت ہے، یا آپ نے ابھی پروڈکشن سرور پر اپ ڈیٹس انسٹال کی ہیں اور وہ سرور کر سکتا ہے۔ فوری طور پر دوبارہ شروع نہ کریں۔





اس طرح کے منظرناموں میں، خاص طور پر جیسا کہ یہ مؤخر الذکر سے متعلق ہے، آپ ریبوٹ کے بارے میں بھول سکتے ہیں اور بعد میں محسوس کریں گے کہ کچھ سرورز یا کلائنٹ مشینوں کو ریبوٹ کرنے کی ضرورت ہے لیکن اب آپ یہ شناخت کرنے سے قاصر ہیں کہ کون سی مشینیں ہیں — اس صورت حال میں، آپ ونڈوز کمپیوٹر پر پینڈنگ ریبوٹ کی جانچ کر سکتے ہیں۔ پاور شیل سکرپٹ.



اب، جب ایک ریبوٹ زیر التواء ہے، تو ونڈوز کچھ رجسٹری اقدار یا جھنڈے شامل کرے گا تاکہ درج ذیل رجسٹری مقام پر منسلک اقدار اور شرائط کے ساتھ اس کی نشاندہی کی جا سکے جیسا کہ ذیل کے جدول میں دکھایا گیا ہے۔

چابی قدر حالت
HKLM:\software\Microsoft\updates UpdateExeVolatile قدر 0 کے علاوہ کچھ بھی ہے۔
HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations قدر موجود ہے
HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations2 قدر موجود ہے
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Reboot کی ضرورت ہے وہ کلید موجود ہے
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending وہ کوئی بھی GUID ذیلی کلیدیں موجود ہیں۔
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\PostRebootReporting وہ کلید موجود ہے
HKLM:\software\Microsoft\Windows\CurrentVersion\RunOnce DVDRebootSignal قدر موجود ہے
HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Services\RebootPending وہ کلید موجود ہے
HKLM:\Software\Microsoft\Windows\Current Version\Component Based Services\RebootInProgress وہ کلید موجود ہے
HKLM:\Software\Microsoft\Windows\Current Version\Component Based Serviceing\Packages زیر التوا وہ کلید موجود ہے
HKLM:\SOFTWARE\Microsoft\ServerManager\CurrentRebootAttempts وہ کلید موجود ہے
HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon ڈومین میں شامل ہوں۔ قدر موجود ہے
HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon SpnSet سے بچیں۔ قدر موجود ہے
HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName کمپیوٹر کا نام HKLM میں کمپیوٹر نام کی قدر:\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName مختلف ہے

جیسا کہ ہم نے رجسٹری کے متعلقہ راستوں کی نشاندہی کی ہے، بجائے اس کے کہ آپ رجسٹری کو دستی طور پر تلاش کریں کیونکہ آپ رجسٹری کے ایک راستے کو چیک کرنا بھول سکتے ہیں یا صرف یہ بھول سکتے ہیں کہ کون سا راستہ چیک کرنا ہے، آپ کر سکتے ہیں۔ بنائیں اور چلائیں مندرجہ بالا جدول میں موجود تمام رجسٹری کیز کو چیک کرنے کے لیے کام کو خودکار کرنے کے لیے نیچے دیئے گئے کوڈ کا استعمال کرتے ہوئے ایک Check-PendingReboot.ps1 اسکرپٹ۔

بہترین ایکس بکس ون ڈسپلے کی ترتیبات

  پاور شیل اسکرپٹ بنائیں اور چلائیں۔



[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string[]]$ComputerName,
[Parameter()]
[ValidateNotNullOrEmpty()]
[pscredential]$Credential
)
$ErrorActionPreference = 'Stop'
$scriptBlock = {
$VerbosePreference = $using:VerbosePreference
function Test-RegistryKey {
[OutputType('bool')]
[CmdletBinding()]
param
(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$Key
)
$ErrorActionPreference = 'Stop'
if (Get-Item -Path $Key -ErrorAction Ignore) {
$true
}
}
function Test-RegistryValue {
[OutputType('bool')]
[CmdletBinding()]
param
(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$Key,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$Value
)
$ErrorActionPreference = 'Stop'
if (Get-ItemProperty -Path $Key -Name $Value -ErrorAction Ignore) {
$true
}
}
function Test-RegistryValueNotNull {
[OutputType('bool')]
[CmdletBinding()]
param
(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$Key,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$Value
)
$ErrorActionPreference = 'Stop'
if (($regVal = Get-ItemProperty -Path $Key -Name $Value -ErrorAction Ignore) -and $regVal.($Value)) {
$true
}
}
# Added "test-path" to each test that did not leverage a custom function from above since
# an exception is thrown when Get-ItemProperty or Get-ChildItem are passed a nonexistant key path
$tests = @(
{ Test-RegistryKey -Key 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending' }
{ Test-RegistryKey -Key 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootInProgress' }
{ Test-RegistryKey -Key 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired' }
{ Test-RegistryKey -Key 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackagesPending' }
{ Test-RegistryKey -Key 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\PostRebootReporting' }
{ Test-RegistryValueNotNull -Key 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' -Value 'PendingFileRenameOperations' }
{ Test-RegistryValueNotNull -Key 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' -Value 'PendingFileRenameOperations2' }
{ 
# Added test to check first if key exists, using "ErrorAction ignore" will incorrectly return $true
'HKLM:\SOFTWARE\Microsoft\Updates' | Where-Object { test-path $_ -PathType Container } | ForEach-Object { 
(Get-ItemProperty -Path $_ -Name 'UpdateExeVolatile' | Select-Object -ExpandProperty UpdateExeVolatile) -ne 0 
}
}
{ Test-RegistryValue -Key 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce' -Value 'DVDRebootSignal' }
{ Test-RegistryKey -Key 'HKLM:\SOFTWARE\Microsoft\ServerManager\CurrentRebootAttemps' }
{ Test-RegistryValue -Key 'HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon' -Value 'JoinDomain' }
{ Test-RegistryValue -Key 'HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon' -Value 'AvoidSpnSet' }
{
# Added test to check first if keys exists, if not each group will return $Null
# May need to evaluate what it means if one or both of these keys do not exist
( 'HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName' | Where-Object { test-path $_ } | %{ (Get-ItemProperty -Path $_ ).ComputerName } ) -ne 
( 'HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName' | Where-Object { Test-Path $_ } | %{ (Get-ItemProperty -Path $_ ).ComputerName } )
}
{
# Added test to check first if key exists
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending' | Where-Object { 
(Test-Path $_) -and (Get-ChildItem -Path $_) } | ForEach-Object { $true }
}
)
foreach ($test in $tests) {
Write-Verbose "Running scriptblock: [$($test.ToString())]"
if (& $test) {
$true
break
}
}
}
foreach ($computer in $ComputerName) {
try {
$connParams = @{
'ComputerName' = $computer
}
if ($PSBoundParameters.ContainsKey('Credential')) {
$connParams.Credential = $Credential
}
$output = @{
ComputerName = $computer
IsPendingReboot = $false
}
$psRemotingSession = New-PSSession @connParams
if (-not ($output.IsPendingReboot = Invoke-Command -Session $psRemotingSession -ScriptBlock $scriptBlock)) {
$output.IsPendingReboot = $false
}
[pscustomobject]$output
} catch {
Write-Error -Message $_.Exception.Message
} finally {
if (Get-Variable -Name 'psRemotingSession' -ErrorAction Ignore) {
$psRemotingSession | Remove-PSSession
}
}
}

آپ کے ذریعے جتنے چاہیں سرور فراہم کر سکتے ہیں۔ کمپیوٹر کا نام اسکرپٹ میں پیرامیٹر جو واپس آئے گا۔ سچ ہے۔ یا جھوٹا۔ سرور کے نام کے ساتھ۔ آپ درج ذیل کی طرح اسکرپٹ پر عمل درآمد کر سکتے ہیں اور یقینی بنائیں پاور شیل ریموٹنگ سیٹ اپ ہے اور آپ کے سرورز پر دستیاب ہے۔

PS51> .\Test-PendingReboot.ps1 -Server SRV1,SRV2,SRV3,etc

پڑھیں : ٹاسک شیڈیولر میں پاور شیل اسکرپٹ کو شیڈول کرنے کا طریقہ

PowerShell اسکرپٹ کا استعمال کرتے ہوئے، آپ ڈومین میں موجود ایک یا تمام کمپیوٹرز سے استفسار کر سکتے ہیں یا دستی طور پر سرور کے نام فراہم کر سکتے ہیں تاکہ مشینوں کو دوبارہ شروع کیا جا سکے۔ ایک بار شناخت ہونے کے بعد، آپ مشینوں کو فوراً ریبوٹ کر سکتے ہیں یا بعد میں دوبارہ شروع کرنے کے لیے فہرست بنا سکتے ہیں۔

اب پڑھیں : پاور شیل کا استعمال کرتے ہوئے ونڈوز کمپیوٹر کو دور سے کیسے ری اسٹارٹ کریں۔

MOV کو ونڈوز 10 میں تبدیل کریں

اس کا کیا مطلب ہے کہ ونڈوز ریبوٹ زیر التوا ہے؟

عام طور پر، ایک زیر التواء ریبوٹ کی درخواست اس وقت ہوتی ہے جب کوئی پروگرام یا انسٹالیشن فائلوں، رجسٹری کیز، سروسز، یا آپریٹنگ سسٹم کی سیٹنگز میں تبدیلی کرتا ہے جو ممکنہ طور پر سسٹم کو عارضی حالت میں چھوڑ دیتا ہے۔ اس معاملے میں آپ کو مل جاتا ہے۔ زیر التواء ریبوٹ کا پتہ چلا ہے۔ نوٹیفکیشن، یہ صرف اس بات کی نشاندہی کرتا ہے کہ مشین پر اپ ڈیٹس زیر التواء ہیں اور کسی بھی اضافی اپ ڈیٹ کو انسٹال کرنے سے پہلے ریبوٹ کرنا ضروری ہے۔

پڑھیں :

  • اپ ڈیٹ کو دوبارہ شروع کرنے کی اطلاع کو کیسے غیر فعال یا فعال کریں۔
  • ونڈوز اپ ڈیٹ زیر التواء انسٹال یا ڈاؤن لوڈ، شروع کرنا، وغیرہ

رجسٹری میں زیر التواء ریبوٹس کو کیسے چیک کریں؟

آپ ایسا کر سکتے ہیں۔ ونڈوز رجسٹری کو تلاش کرنا کے لئے ریبوٹ کی ضرورت ہے۔ چابی. اس پوسٹ میں اوپر دیے گئے جدول میں، ہم نے ریبوٹ رجسٹری کیز کے لیے متعلقہ رجسٹری مقام کی نشاندہی کی ہے۔ اگر آپ ایک اطلاع دکھانا چاہتے ہیں جب آپ کے کمپیوٹر کو ونڈوز اپ ڈیٹ کی تنصیب مکمل کرنے کے لیے دوبارہ شروع کرنے کی ضرورت ہے، تو کلک کریں۔ شروع کریں۔ > ترتیبات > اپ ڈیٹ اور سیکیورٹی > ونڈوز اپڈیٹس > اعلی درجے کے اختیارات . کے لیے بٹن کو آن یا آف پر ٹوگل کریں۔ جب آپ کے کمپیوٹر کو اپ ڈیٹ مکمل کرنے کے لیے دوبارہ شروع کرنے کی ضرورت ہو تو ایک اطلاع دکھائیں۔ اختیار

یہ بھی پڑھیں : سسٹم کی مرمت زیر التواء ہے جس کو مکمل کرنے کے لیے ریبوٹ کی ضرورت ہے۔ .

مقبول خطوط