forked from wasserja/MrANagios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSubmit-NagiosServiceAcknowledgement.ps1
54 lines (45 loc) · 1.89 KB
/
Submit-NagiosServiceAcknowledgement.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<#
.SYNOPSIS
Acknowledge Nagios service problem for a specified host.
.DESCRIPTION
This function is a shortcut to Invoke-Nagios to automatically choose
to acknowledge nagios service problem for a specified host.
.EXAMPLE
Submit-NagiosServiceAcknowledgement -ComputerName SERVER01 -service Uptime
.EXAMPLE
Submit-NagiosServiceAcknowledgement -ComputerName SERVER01 -service Uptime -Credential $Credential
.EXAMPLE
Submit-NagiosServiceAcknowledgement -ComputerName SERVER01 -service Uptime -Credential $Credential -NagiosCoreUrl https://nagiosdev.domain.com/nagios
#>
Function Submit-NagiosServiceAcknowledgement {
Param (
# Nagios Host
[Parameter(Mandatory = $true,
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName = $true,
Position = 0,
HelpMessage = "What nagios refers to host(s) for which you wish to enable/disable checks and notifications. Nagios is case-sensitive for hosts (i.e. server01 != SERVER01)."
)]
[alias('host')]
[string[]]$ComputerName = $env:COMPUTERNAME,
[Parameter(Mandatory = $false, Position = 1)]
[string]$Service,
[Parameter(Mandatory = $false, Position = 2)]
[string]$Comment,
# Nagios base url
[Parameter(
HelpMessage = "The base url of your nagios installation (i.e. http://nagios.domain.com/nagios)")]
[string]$NagiosCoreUrl,
# Nagios Credential
[Parameter(Mandatory = $true)]
[System.Management.Automation.PSCredential]$Credential
)
begin {}
process {
foreach ($Computer in $ComputerName) {
Write-Verbose "Submitting acknowledgement for $service on $Computer"
Invoke-NagiosRequest -ComputerName $Computer -action 34 -service $service -Credential $Credential -NagiosCoreUrl $NagiosCoreUrl -comment $comment
}
}
end {}
}