Windows bilgisayarda Bekleyen Yeniden Başlatma nasıl kontrol edilir

Windows Bilgisayarda Bekleyen Yeniden Baslatma Nasil Kontrol Edilir



Genellikle, bir kullanıcı bir Windows istemci veya sunucu makinesinde bir sürücü, bir güncelleme (yazılım veya sistem) veya yazılım yükledikten veya bazı yapılandırma değişiklikleri yaptıktan sonra, kullanıcıdan sistemi yeniden başlatması istenir. Bu yazıda, nasıl yapılacağına ilişkin adımlarda size yol göstereceğiz. bir Windows bilgisayarda Bekleyen Yeniden Başlatma olup olmadığını kontrol edin .



  Windows bilgisayarda Bekleyen Yeniden Başlatma nasıl kontrol edilir





Bir Windows bilgisayarda Bekleyen Yeniden Başlatma nasıl kontrol edilir

Birçok Windows işletim sistemi görevi tamamlandığında, bazen bilgisayar yeniden başlatma gerektirebilir. Oturum açmış ve etkin bir oturumdayken, Windows'u yeniden başlatmak için kapatabileceğiniz veya kabul edebileceğiniz bazı açılır kutular veya bildirimler tarafından yeniden başlatmanın beklendiği veya gerekli olduğu konusunda bilgilendirileceksiniz. Ancak, makineyi hemen yeniden başlatmak istemediğiniz veya hemen yeniden başlatamayacağınız bazı durumlarda - örneğin, yeniden başlatmadan önce tamamlamanız gereken bazı tamamlanmamış işler vardır veya bir üretim sunucusuna güncellemeleri henüz yüklemişsinizdir ve bu sunucu yeniden başlatılabilir. hemen yeniden başlatılmamalıdır.





Bunun gibi senaryolarda, özellikle ikincisi söz konusu olduğunda, yeniden başlatmayı unutabilir ve daha sonra bazı sunucuların veya istemci makinelerin yeniden başlatılması gerektiğini fark edebilirsiniz, ancak artık hangi makinelerin olduğunu belirleyemezsiniz — bu durumda, kullanarak Windows bilgisayarda Pending Reboot olup olmadığını kontrol edebilirsiniz. Güç kalkanı senaryo.



Şimdi, bir yeniden başlatma beklemedeyken Windows, aşağıdaki tabloda gösterildiği gibi ilgili değerler ve koşullarla birlikte aşağıdaki kayıt defteri konumunda bunu belirtmek için bazı kayıt defteri değerleri veya işaretleri ekleyecektir.

Anahtar Değer Durum
HKLM:\YAZILIM\Microsoft\Güncellemeler UpdateExeVolatile Değer, 0'dan başka bir şeydir
HKLM:\SYSTEM\CurrentControlSet\Control\Oturum Yöneticisi Bekleyen DosyaYeniden Adlandırma İşlemleri değer var
HKLM:\SYSTEM\CurrentControlSet\Control\Oturum Yöneticisi Bekleyen DosyaYeniden Adlandırmaİşlemler2 değer var
HKLM:\YAZILIM\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired O anahtar var
HKLM:\YAZILIM\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending O Herhangi bir GUID alt anahtarı var
HKLM:\YAZILIM\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\PostRebootReporting O anahtar var
HKLM:\YAZILIM\Microsoft\Windows\CurrentVersion\RunOnce DVD Yeniden Başlatma Sinyali değer var
HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Tabanlı Servis\RebootPending O anahtar var
HKLM:\Software\Microsoft\Windows\CurrentVersion\Bileşen Tabanlı Hizmet\RebootInProgress O anahtar var
HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Tabanlı Servis\PackagesPending O anahtar var
HKLM:\SOFTWARE\Microsoft\ServerManager\CurrentRebootAttempts O anahtar var
HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon Etki Alanına Katıl değer var
HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon Kaçın SpnSet değer var
HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName Bilgisayar adı HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName içindeki ComputerName değeri farklı

xbox upnp başarılı değil

İlgili kayıt defteri yollarını belirlediğimiz için, kayıt defterini manuel olarak taramak yerine, bir kayıt defteri yolunu kontrol etmeyi unutabilir veya hangilerini kontrol edeceğinizi unutabilirsiniz. oluştur ve çalıştır yukarıdaki tablodaki tüm kayıt defteri anahtarlarını kontrol etme görevini otomatikleştirmek için aşağıdaki kodu kullanan bir Check-PendingReboot.ps1 komut dosyası.

  PowerShell komut dosyası oluşturma ve çalıştırma



[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
}
}
}

üzerinden istediğiniz kadar sunucu sağlayabilirsiniz. Bilgisayar adı komut dosyasında döndürülecek parametre Doğru veya YANLIŞ sunucu adı ile birlikte. Komut dosyasını aşağıdakine benzer şekilde çalıştırabilir ve emin olabilirsiniz. PowerShell Uzaktan İletişim kuruludur ve sunucularınızda kullanılabilir.

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

Okumak : Görev Zamanlayıcı'da PowerShell komut dosyası nasıl zamanlanır

PowerShell komut dosyasını kullanarak, etki alanındaki bilgisayarlardan birini veya tümünü sorgulayabilir veya yeniden başlatılmayı bekleyen makineleri belirlemek için sunucu adlarını manuel olarak sağlayabilirsiniz. Tanımlandıktan sonra, makineleri hemen yeniden başlatabilir veya daha sonra yeniden başlatmak için bir liste oluşturabilirsiniz.

Şimdi Oku : PowerShell Kullanarak Windows Bilgisayarı Uzaktan Yeniden Başlatma

Windows'un yeniden başlatılmasının beklemede olması ne anlama geliyor?

Genellikle bekleyen yeniden başlatma isteği, bir program veya kurulum dosyalarda, kayıt defteri anahtarlarında, hizmetlerde veya işletim sistemi ayarlarında değişiklik yaparak sistemi potansiyel olarak geçici bir durumda bıraktığında ortaya çıkar. Almanız durumunda Bekleyen bir yeniden başlatma algılandı bildirim, yalnızca güncellemelerin makinede beklemede olduğunu ve herhangi bir ek güncellemenin yüklenebilmesi için yeniden başlatmanın gerçekleştirilmesi gerektiğini belirtir.

Okumak :

  • Güncelleme Yeniden Başlatma Bildirimi Nasıl Devre Dışı Bırakılır veya Etkinleştirilir
  • Windows Update Bekleyen yükleme veya indirme, Başlatma, vb.

Kayıt defterinde bekleyen yeniden başlatmalar nasıl kontrol edilir?

Bunu yaparak yapabilirsiniz Windows Kayıt Defterinde arama için Yeniden Başlatma Gerekli anahtar. Bu gönderideki yukarıdaki tabloda, bekleyen yeniden başlatma kayıt defteri anahtarları için ilgili kayıt konumunu belirledik. Windows güncelleme yüklemesini tamamlamak için bilgisayarınızın yeniden başlatılması gerektiğinde bir bildirim göstermek istiyorsanız, Başlangıç > Ayarlar > Güncelleme ve güvenlik > Windows Güncellemeleri > Gelişmiş seçenekler . için düğmeyi açık veya kapalı konuma getirin. Güncellemeyi tamamlamak için PC'nizin yeniden başlatılması gerektiğinde bir bildirim gösterin seçenek.

ayrıca oku : Tamamlanması için yeniden başlatma gerektiren bekleyen bir sistem onarımı var .

Popüler Mesajlar