icinga-powershell-framework/lib/plugins/Invoke-IcingaCheckUsers.psm1

30 lines
875 B
PowerShell
Raw Normal View History

Import-IcingaLib icinga\plugin;
Import-IcingaLib provider\users;
2019-07-25 11:48:19 -04:00
function Invoke-IcingaCheckUsers()
{
param (
[array]$username,
[switch]$NoPerfData,
$Verbose
);
2019-07-25 11:48:19 -04:00
$UsersPackage = New-IcingaCheckPackage -Name 'Users' -OperatorAnd -Verbos $Verbose;
$UserInformation = Get-IcingaUsers -Username $username;
foreach ($ExistingUser in $UserInformation) {
Write-Host $ExistingUser;
If ($null -eq $ExistingUser)
{
continue;
}
$Status = $ExistingUser.Enabled;
$IcingaCheck = New-IcingaCheck -Name ([string]::Format('User {0} Status {1} ', $ExistingUser, $Status)) -Value $Status -NoPerfData;
$IcingaCheck.CritIfNotMatch('True') | Out-Null;
$UsersPackage.AddCheck($IcingaCheck);
}
exit (New-IcingaCheckResult -Name 'Users' -Check $UsersPackage -NoPerfData $NoPerfData -Compile);
2019-07-25 11:48:19 -04:00
}