mirror of
https://github.com/Icinga/icinga-powershell-framework.git
synced 2025-12-20 23:00:35 -05:00
Fixes console freezes on IMC install on 2012R2
This commit is contained in:
parent
cb613f34c5
commit
7eba933f2f
8 changed files with 34 additions and 33 deletions
|
|
@ -112,7 +112,7 @@ function Install-IcingaFrameworkComponent()
|
|||
|
||||
if ([string]::IsNullOrEmpty((Get-IcingaJEAContext)) -eq $FALSE) {
|
||||
Write-IcingaConsoleNotice 'Updating Icinga JEA profile';
|
||||
Invoke-IcingaCommand -ScriptBlock { Install-IcingaJEAProfile; } | Out-Null;
|
||||
& powershell.exe -Command { Use-Icinga; Install-IcingaJEAProfile; } | Out-Null;
|
||||
}
|
||||
|
||||
# Unload the module if it was loaded before
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ function Install-IcingaFrameworkUpdate()
|
|||
if ([string]::IsNullOrEmpty((Get-IcingaJEAContext)) -eq $FALSE) {
|
||||
Remove-IcingaFrameworkDependencyFile;
|
||||
Write-IcingaConsoleNotice 'Updating Icinga JEA profile';
|
||||
Invoke-IcingaCommand -ScriptBlock { Install-IcingaJEAProfile; } | Out-Null;
|
||||
& powershell.exe -Command { Use-Icinga; Install-IcingaJEAProfile; } | Out-Null;
|
||||
}
|
||||
|
||||
Write-IcingaConsoleNotice 'Framework update has been completed. Please start a new PowerShell instance now to complete the update';
|
||||
|
|
|
|||
|
|
@ -27,15 +27,16 @@ function Restart-IcingaService()
|
|||
if (Get-Service "$Service" -ErrorAction SilentlyContinue) {
|
||||
Write-IcingaConsoleNotice ([string]::Format('Restarting service "{0}"', $Service));
|
||||
|
||||
Invoke-IcingaCommand -ArgumentList $Service -ScriptBlock {
|
||||
& powershell.exe -Command {
|
||||
$Service = $args[0];
|
||||
try {
|
||||
Restart-Service "$($IcingaShellArgs[0])" -ErrorAction Stop;
|
||||
Restart-Service "$Service" -ErrorAction Stop;
|
||||
Start-Sleep -Seconds 2;
|
||||
Optimize-IcingaForWindowsMemory;
|
||||
} catch {
|
||||
Write-IcingaConsoleError -Message 'Failed to restart service "{0}". Error: {1}' -Objects $IcingaShellArgs[0], $_.Exception.Message;
|
||||
Write-IcingaConsoleError -Message 'Failed to restart service "{0}". Error: {1}' -Objects $Service, $_.Exception.Message;
|
||||
}
|
||||
} | Out-Null;
|
||||
} -Args $Service;
|
||||
} else {
|
||||
Write-IcingaConsoleWarning -Message 'The service "{0}" is not installed' -Objects $Service;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,15 +27,16 @@ function Start-IcingaService()
|
|||
if (Get-Service $Service -ErrorAction SilentlyContinue) {
|
||||
Write-IcingaConsoleNotice -Message 'Starting service "{0}"' -Objects $Service;
|
||||
|
||||
Invoke-IcingaCommand -ArgumentList $Service -ScriptBlock {
|
||||
& powershell.exe -Command {
|
||||
$Service = $args[0];
|
||||
try {
|
||||
Start-Service "$($IcingaShellArgs[0])" -ErrorAction Stop;
|
||||
Start-Service "$Service" -ErrorAction Stop;
|
||||
Start-Sleep -Seconds 2;
|
||||
Optimize-IcingaForWindowsMemory;
|
||||
} catch {
|
||||
Write-IcingaConsoleError -Message 'Failed to start service "{0}". Error: {1}' -Objects $IcingaShellArgs[0], $_.Exception.Message;
|
||||
Write-IcingaConsoleError -Message 'Failed to start service "{0}". Error: {1}' -Objects $Service, $_.Exception.Message;
|
||||
}
|
||||
} | Out-Null;
|
||||
} -Args $Service;
|
||||
} else {
|
||||
Write-IcingaConsoleWarning -Message 'The service "{0}" is not installed' -Objects $Service;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,18 +24,19 @@ function Stop-IcingaService()
|
|||
$Service
|
||||
);
|
||||
|
||||
if (Get-Service $Service -ErrorAction SilentlyContinue) {
|
||||
if (Get-Service "$Service" -ErrorAction SilentlyContinue) {
|
||||
Write-IcingaConsoleNotice -Message 'Stopping service "{0}"' -Objects $Service;
|
||||
|
||||
Invoke-IcingaCommand -ArgumentList $Service -ScriptBlock {
|
||||
& powershell.exe -Command {
|
||||
$Service = $args[0];
|
||||
try {
|
||||
Stop-Service "$($IcingaShellArgs[0])" -ErrorAction Stop;
|
||||
Stop-Service "$Service" -ErrorAction Stop;
|
||||
Start-Sleep -Seconds 2;
|
||||
Optimize-IcingaForWindowsMemory;
|
||||
} catch {
|
||||
Write-IcingaConsoleError -Message 'Failed to stop service "{0}". Error: {1}' -Objects $IcingaShellArgs[0], $_.Exception.Message;
|
||||
Write-IcingaConsoleError -Message 'Failed to stop service "{0}". Error: {1}' -Objects $Service, $_.Exception.Message;
|
||||
}
|
||||
} | Out-Null;
|
||||
} -Args $Service;
|
||||
} else {
|
||||
Write-IcingaConsoleWarning -Message 'The service "{0}" is not installed' -Objects $Service;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,17 +73,16 @@ function Install-IcingaAgent()
|
|||
}
|
||||
}
|
||||
|
||||
$InstallProcess = Invoke-IcingaCommand -ArgumentList $IcingaInstaller, $InstallTarget -ScriptBlock {
|
||||
$IcingaInstaller = $IcingaShellArgs[0];
|
||||
$InstallTarget = $IcingaShellArgs[1];
|
||||
|
||||
$InstallProcess = & powershell.exe -Command {
|
||||
$IcingaInstaller = $args[0];
|
||||
$InstallTarget = $args[1];
|
||||
$InstallProcess = Start-IcingaProcess -Executable 'MsiExec.exe' -Arguments ([string]::Format('/quiet /i "{0}" {1}', $IcingaInstaller.InstallerPath, $InstallTarget)) -FlushNewLines;
|
||||
|
||||
Start-Sleep -Seconds 2;
|
||||
Optimize-IcingaForWindowsMemory;
|
||||
|
||||
return $InstallProcess;
|
||||
}
|
||||
} -Args $IcingaInstaller, $InstallTarget;
|
||||
|
||||
if ($InstallProcess.ExitCode -ne 0) {
|
||||
Write-IcingaConsoleError -Message 'Failed to install Icinga 2 Agent: {0}{1}' -Objects $InstallProcess.Message, $InstallProcess.Error;
|
||||
|
|
|
|||
|
|
@ -22,16 +22,15 @@ function Uninstall-IcingaAgent()
|
|||
|
||||
Stop-IcingaService -Service 'icinga2';
|
||||
|
||||
$Uninstaller = Invoke-IcingaCommand -ArgumentList $IcingaData -ScriptBlock {
|
||||
$IcingaData = $IcingaShellArgs[0];
|
||||
|
||||
$Uninstaller = & powershell.exe -Command {
|
||||
$IcingaData = $args[0];
|
||||
$Uninstaller = Start-IcingaProcess -Executable 'MsiExec.exe' -Arguments ([string]::Format('{0} /q', $IcingaData.Uninstaller)) -FlushNewLine;
|
||||
|
||||
Start-Sleep -Seconds 2;
|
||||
Optimize-IcingaForWindowsMemory;
|
||||
|
||||
return $Uninstaller;
|
||||
}
|
||||
} -Args $IcingaData;
|
||||
|
||||
if ($Uninstaller.ExitCode -ne 0) {
|
||||
Write-IcingaConsoleError ([string]::Format('Failed to remove Icinga Agent: {0}{1}', $Uninstaller.Message, $Uninstaller.Error));
|
||||
|
|
|
|||
|
|
@ -348,9 +348,10 @@ function Install-IcingaComponent()
|
|||
}
|
||||
}
|
||||
|
||||
$MSIData = Invoke-IcingaCommand -ArgumentList $DownloadDestination -ScriptBlock {
|
||||
return (Read-IcingaMSIMetadata -File $IcingaShellArgs[0]);
|
||||
}
|
||||
$MSIData = & powershell.exe -Command {
|
||||
$DownloadDestination = $args[0];
|
||||
return (Read-IcingaMSIMetadata -File $DownloadDestination);
|
||||
} -Args $DownloadDestination;
|
||||
|
||||
if ($InstalledVersion.Full -eq $MSIData.ProductVersion -And $Force -eq $FALSE) {
|
||||
Write-IcingaConsoleWarning 'The package "agent" with version "{0}" is already installed. Use "-Force" to re-install the component' -Objects $InstalledVersion.Full;
|
||||
|
|
@ -367,17 +368,16 @@ function Install-IcingaComponent()
|
|||
}
|
||||
}
|
||||
|
||||
$InstallProcess = Invoke-IcingaCommand -ArgumentList $DownloadDestination, $InstallTarget -ScriptBlock {
|
||||
$IcingaInstaller = $IcingaShellArgs[0];
|
||||
$InstallTarget = $IcingaShellArgs[1];
|
||||
|
||||
$InstallProcess = Start-IcingaProcess -Executable 'MsiExec.exe' -Arguments ([string]::Format('/quiet /i "{0}" {1}', $IcingaInstaller, $InstallTarget)) -FlushNewLines;
|
||||
$InstallProcess = & powershell.exe -Command {
|
||||
$DownloadDestination = $args[0];
|
||||
$InstallTarget = $args[1];
|
||||
$InstallProcess = Start-IcingaProcess -Executable 'MsiExec.exe' -Arguments ([string]::Format('/quiet /i "{0}" {1}', $DownloadDestination, $InstallTarget)) -FlushNewLines;
|
||||
|
||||
Start-Sleep -Seconds 2;
|
||||
Optimize-IcingaForWindowsMemory;
|
||||
|
||||
return $InstallProcess;
|
||||
}
|
||||
} -Args $DownloadDestination, $InstallTarget;
|
||||
|
||||
if ($InstallProcess.ExitCode -ne 0) {
|
||||
Write-IcingaConsoleError -Message 'Failed to install component "agent": {0}{1}' -Objects $InstallProcess.Message, $InstallProcess.Error;
|
||||
|
|
|
|||
Loading…
Reference in a new issue