2024-04-22 11:31:28 -04:00
|
|
|
# List of services to configure
|
|
|
|
|
$Services = @(
|
|
|
|
|
"Syncro"
|
|
|
|
|
"SyncroLive"
|
|
|
|
|
"SyncroOvermind"
|
|
|
|
|
"SplashtopRemoteService"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Configure necessary services to restart in Safe Mode with Networking
|
|
|
|
|
$Services | ForEach-Object {
|
|
|
|
|
If ( Get-Service $_ -ErrorAction SilentlyContinue ) {
|
|
|
|
|
Write-Output "Configuring ${_} service to start in Safe Mode with Networking"
|
|
|
|
|
Try { New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\${_}" -Force -ErrorAction SilentlyContinue }
|
|
|
|
|
Catch { Write-Error "ERROR: could not configure ${_} service to start in Safe Mode with Networking" ; Return }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Configure system to reboot into Normal Mode at next reboot
|
|
|
|
|
Write-Output "Configuring system to reboot into Normal Mode at next reboot"
|
|
|
|
|
Try { [Microsoft.Win32.Registry]::SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce",'*RestartNormalMode','%SystemRoot%\System32\bcdedit.exe /deletevalue {default} safeboot',[Microsoft.Win32.RegistryValueKind]::String) }
|
|
|
|
|
Catch { Write-Error "ERROR: could not configure reboot into normal mode" ; Return }
|
|
|
|
|
|
|
|
|
|
# Configure reboot into Safe Mode with Networking
|
|
|
|
|
Write-Output "Configuring system to reboot into Safe Mode with Networking"
|
2024-04-22 12:44:11 -04:00
|
|
|
$command = "${Env:SystemRoot}\System32\bcdedit.exe"
|
|
|
|
|
$params = "/set {default} safeboot network".Split(" ")
|
|
|
|
|
Try { & "${command}" $params }
|
2024-04-22 11:31:28 -04:00
|
|
|
Catch { Write-Error "ERROR: could not configure reboot into safe mode with networking" ; Return }
|
|
|
|
|
|
|
|
|
|
# Reboot into Safe Mode with Networking
|
|
|
|
|
Write-Output "Rebooting into Safe Mode with Networking"
|
|
|
|
|
Try { Start-Sleep -Seconds 5 ; Restart-Computer -Force -ErrorAction Stop}
|
|
|
|
|
Catch { Write-Error "ERROR: could not reboot into safe mode with networking" ; Return }
|