Kuinka tarkistaa odottava uudelleenkäynnistys Windows-tietokoneessa

Kuinka Tarkistaa Odottava Uudelleenkaynnistys Windows Tietokoneessa



Yleensä, kun käyttäjä asentaa ohjaimen, päivityksen (ohjelmiston tai järjestelmän) tai ohjelmiston tai tekee joitain kokoonpanomuutoksia Windows-asiakas- tai palvelinkoneeseen, käyttäjää kehotetaan käynnistämään järjestelmä uudelleen. Tässä viestissä opastamme sinut vaiheiden läpi, miten se tehdään tarkista Odottaa uudelleenkäynnistystä Windows-tietokoneessa .



  Kuinka tarkistaa odottava uudelleenkäynnistys Windows-tietokoneessa





Kuinka tarkistaa odottava uudelleenkäynnistys Windows-tietokoneessa

Useiden Windows-käyttöjärjestelmän tehtävien päätyttyä tietokone joutuu joskus vaatimaan uudelleenkäynnistyksen. Kun olet kirjautunut sisään ja ollessasi aktiivisessa istunnossa, saat ilmoituksen, että uudelleenkäynnistys odottaa tai sitä vaatii jokin ponnahdusikkuna tai ilmoitus – jonka voit joko hylätä tai hyväksyä käynnistääksesi Windowsin uudelleen. Mutta joissakin tilanteissa, joissa et halua tai voi käynnistää konetta välittömästi uudelleen – esimerkiksi sinulla on keskeneräisiä töitä, jotka sinun on suoritettava ennen uudelleenkäynnistystä, tai olet juuri asentanut päivitykset tuotantopalvelimelle ja kyseinen palvelin voi ei käynnistetä uudelleen heti.





Tällaisissa skenaarioissa, varsinkin kun kyseessä on jälkimmäinen, saatat unohtaa uudelleenkäynnistyksen ja myöhemmin huomata, että jotkut palvelimet tai asiakaskoneet on käynnistettävä uudelleen, mutta et nyt pysty tunnistamaan, mitkä koneista - tässä tilanteessa, voit tarkistaa odottavan uudelleenkäynnistyksen Windows-tietokoneella käyttämällä a PowerShell käsikirjoitus.



Nyt, kun uudelleenkäynnistys odottaa, Windows lisää joitain rekisteriarvoja tai lippuja ilmoittaakseen sen seuraavaan rekisteripaikkaan liittyvien arvojen ja ehtojen kanssa alla olevan taulukon mukaisesti.

Avain Arvo Kunto
HKLM:\SOFTWARE\Microsoft\Updates Päivitä ExeVolatile Arvo on mitä tahansa muuta kuin 0
HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations arvo on olemassa
HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations2 arvo on olemassa
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired ETTÄ avain on olemassa
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending ETTÄ GUID-aliavaimia on olemassa
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\PostRebootReporting ETTÄ avain on olemassa
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce DVDRebootSignal arvo on olemassa
HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\Reboot Pending ETTÄ avain on olemassa
HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootInProgress ETTÄ avain on olemassa
HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages Pending ETTÄ avain on olemassa
HKLM:\SOFTWARE\Microsoft\ServerManager\CurrentRebootAttempts ETTÄ avain on olemassa
HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon Liity verkkotunnukseen arvo on olemassa
HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon VältäSpnSet arvo on olemassa
HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName Tietokoneen nimi Arvo ComputerName kohdassa HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName on erilainen

Koska olemme tunnistaneet asianmukaiset rekisteripolut, sen sijaan, että kampaaisit rekisteriä manuaalisesti, koska saatat unohtaa tarkistaa yhden rekisteripolun tai vain unohtaa mitkä niistä kannattaa tarkistaa, voit luoda ja ajaa Check-PendingReboot.ps1-komentosarja, joka käyttää alla olevaa koodia, joka automatisoi tehtävän tarkistaakseen kaikki yllä olevan taulukon rekisteriavaimet.

  Luo ja suorita PowerShell-skripti



godaddy-sähköpostin porttinumerot
[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
}
}
}

Voit tarjota niin monta palvelimia kuin haluat Tietokoneen nimi parametri skriptissä, joka palaa Totta tai Väärä palvelimen nimen kanssa. Voit suorittaa seuraavanlaisen skriptin ja varmistaa PowerShell Remoting on määritetty ja saatavilla palvelimillasi.

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

Lukea : PowerShell-komentosarjan ajoittaminen Task Schedulerissa

PowerShell-komentosarjan avulla voit tehdä kyselyn yhdestä tai kaikista toimialueen tietokoneista tai antaa palvelinnimet manuaalisesti määrittääksesi uudelleenkäynnistystä odottavat koneet. Kun olet tunnistanut, voit käynnistää koneet uudelleen heti tai tehdä luettelon uudelleenkäynnistystä varten.

Nyt lue : Windows-tietokoneen etäkäynnistäminen uudelleen PowerShellin avulla

Mitä se tarkoittaa, että Windowsin uudelleenkäynnistys odottaa?

Yleensä odottava uudelleenkäynnistyspyyntö tapahtuu, kun ohjelma tai asennus tekee muutoksia tiedostoihin, rekisteriavaimiin, palveluihin tai käyttöjärjestelmän asetuksiin, mikä saattaa jättää järjestelmän tilapäiseen tilaan. Siinä tapauksessa, että saat Odottava uudelleenkäynnistys on havaittu ilmoitus, se vain osoittaa, että päivitykset odottavat koneessa ja että kone on käynnistettävä uudelleen, ennen kuin lisäpäivityksiä voidaan asentaa.

Lukea :

vaihtonäppäin ei toimi
  • Päivitysten uudelleenkäynnistysilmoituksen poistaminen käytöstä tai ottaminen käyttöön
  • Windows Update Odottaa asennusta tai latausta, alustus jne

Kuinka tarkistaa odottavat uudelleenkäynnistykset rekisteristä?

Voit tehdä tämän käyttämällä etsimällä Windowsin rekisteristä varten Reboot Required avain. Tämän viestin yllä olevassa taulukossa olemme tunnistaneet asianmukaisen rekisterisijainnin odottaville uudelleenkäynnistysavaimille. Jos haluat näyttää ilmoituksen, kun tietokoneesi vaatii uudelleenkäynnistyksen Windows-päivityksen asennuksen viimeistelemiseksi, napsauta alkaa > asetukset > Päivitys ja suojaus > Windows-päivitykset > Edistyneet asetukset . Ota painike käyttöön tai poista se käytöstä Näytä ilmoitus, kun tietokoneesi vaatii uudelleenkäynnistyksen päivityksen viimeistelemiseksi vaihtoehto.

Lue myös : Järjestelmää odottaa korjaus, joka vaatii uudelleenkäynnistyksen .

Suosittu Viestiä