mirror of
https://github.com/Icinga/icinga-powershell-framework.git
synced 2026-02-03 04:09:29 -05:00
36 lines
1.8 KiB
PowerShell
36 lines
1.8 KiB
PowerShell
<#
|
|
.SYNOPSIS
|
|
Configures the Icinga services to use delayed auto-start.
|
|
.DESCRIPTION
|
|
The `Set-IcingaForWindowsServicesDelayedStart` function sets the startup type of the Icinga 2 and Icinga PowerShell services to "delayed-auto" using the `sc.exe` command. This ensures that the services start after other critical system services during the boot process.
|
|
.EXAMPLE
|
|
Set-IcingaForWindowsServicesDelayedStart
|
|
|
|
This example sets the Icinga 2 and Icinga PowerShell services to delayed auto-start if they are present in the environment.
|
|
#>
|
|
function Set-IcingaForWindowsServicesDelayedStart()
|
|
{
|
|
Set-IcingaServiceEnvironment;
|
|
|
|
$IcingaAgentService = $Global:Icinga.Protected.Environment.'Icinga Service';
|
|
$IcingaForWindowsService = $Global:Icinga.Protected.Environment.'PowerShell Service';
|
|
|
|
if ($null -ne $IcingaAgentService -And $IcingaAgentService.Present) {
|
|
$ServiceUpdate = Start-IcingaProcess -Executable 'sc.exe' -Arguments 'config icinga2 start= delayed-auto';
|
|
|
|
if ($ServiceUpdate.ExitCode -ne 0) {
|
|
Write-IcingaConsoleError ([string]::Format('Failed to set the icinga2 service to delayed autostart: {0}', $ServiceUpdate.Message));
|
|
} else {
|
|
Write-IcingaConsoleNotice 'Successfully set the icinga2 service to delayed autostart';
|
|
}
|
|
}
|
|
if ($null -ne $IcingaForWindowsService -And $IcingaForWindowsService.Present) {
|
|
$ServiceUpdate = Start-IcingaProcess -Executable 'sc.exe' -Arguments 'config icingapowershell start= delayed-auto';
|
|
|
|
if ($ServiceUpdate.ExitCode -ne 0) {
|
|
Write-IcingaConsoleError ([string]::Format('Failed to set the icingapowershell service to delayed autostart: {0}', $ServiceUpdate.Message));
|
|
} else {
|
|
Write-IcingaConsoleNotice 'Successfully set the icingapowershell service to delayed autostart';
|
|
}
|
|
}
|
|
}
|