Я пытаюсь заставить скрипт перезагружать компьютер, когда скрипт возвращает $ true, я планирую запустить скрипт в SCCM или планировщике задач.Я собирался заставить SCCM перезагрузить компьютер, если он возвращает $ true, но не знаю как, поэтому сейчас я пытаюсь добавить перезапуск в самом скрипте, но не знаю, как его правильно добавить.
function Test-PendingReboot
{
if (Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending" -EA Ignore) { return $true }
if (Get-Item "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" -EA Ignore) { return $true }
if (Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" -Name PendingFileRenameOperations -EA Ignore) { return $true }
try {
$util = [wmiclass]"\\.\root\ccm\clientsdk:CCM_ClientUtilities"
$status = $util.DetermineIfRebootPending()
if(($status -ne $null) -and $status.RebootPending){
return $true
}
}catch{}
return $false
}
If $true) {
Restart-Computer
} Else {
exit
}