Monitoring mit PowerShell

Monitoring mit PowerShell

Lösung


Einer dieser Typen, "External EXE Check", erlaubt die Übergabe von PowerShell-Befehlen:


Folgende Syntax wird für das Feld "Executable / Arguments" erwartet:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe –ExecutionPolicy ByPass -command "& {POWERSHELL-CODE}"
Das folgende Beispiel gibt die Anzahl der Fehler im Application-Eventlog innerhalb der letzten Stunde zurück:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe –ExecutionPolicy ByPass -command "& {$EventCount=0; $DateAfter = (Get-Date).AddHours(-1); Get-EventLog -LogName "Application" -EntryType "Error" -After $DateAfter | foreach {$_;$EventCount++} | Out-Null; $EventCount;}"
Das folgende Beispiel gibt "Fehler" zurück, wenn ein Exchange-Zertifikat innerhalb der nächsten 31 Tage ausläuft, andernfalls "OK":
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe –ExecutionPolicy ByPass -command "& {Add-pssnapin -Name Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue; $DaysToExpiration = '31'; $expirationDate = (Get-Date).AddDays($DaysToExpiration);[array]$exchCerts = Get-ExchangeCertificate | Where {($_.Services -match 'IIS') -and ($_.NotAfter -lt $expirationDate)}; if ($exchCerts.Count -gt 0) {Write-Host 'Fehler'}else{Write-Host 'OK'}}"
Das folgende Beispiel gibt die Anzahl der Tage zurück, die seit dem letzten Auftreten eines definierten Ereignisses im Windows-Eventlog vergangen sind. Nach Anpassung des "where-object"-Teils kann so beispielsweise ein Monitor erstellt werden, der auf die letzte erfolgreiche Sicherung einer beliebigen Backup-Lösung prüft, die ins Eventlog schreibt:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe –ExecutionPolicy ByPass -command "& {$ErrorActionPreference = 'SilentlyContinue';$deCulture = [Globalization.cultureinfo]::GetCultureInfo('de-DE');$lastSuccessfulBackup = get-eventlog application | where-object {(($_.EventId -eq 12345) -or ($_.EventId -eq 23456)) -and ($_.Message -notmatch 'AusschlussString1') -and ($_.Message -notmatch 'AusschlussString2')} | select -first 1;$TimeSpan = $(Get-Date) - [DateTime]$($lastSuccessfulBackup.timewritten);write-output $($timespan.TotalDays)}
    • Related Articles

    • Wie kann man in ConnectWise Automate Event-Logs direkt auf dem Gerät monitoren?

      Lösung Das Remote Management and Monitoring (RMM)-Tool ConnectWise Automate (folgend nur "Automate") bietet neben seinen Automatisierungsmöglichkeiten zur Netzwerkverwaltung auch umfassende Monitoring-Funktionen. Dazu gehört auch die Möglichkeit, die ...
    • Monitoring von MailStore Server mithilfe der MailStore API und ConnectWise Automate

      Lösung ConnectWise Automate ermöglicht die Überwachung Ihrer MailStore Server-Installationen mithilfe der MailStore-API. Damit sorgen Sie für eine zuverlässige automatische Prüfung der hinterlegten MailStore-Lizenz (Benutzer und Dauer bis zum Ablauf ...
    • Monitoring von MDaemon mit ConnectWise Automate

      Lösung Diese Anleitung zeigt am Beispiel des MDaemon Email Server, wie leicht Drittsoftware in die Überwachung von ConnectWise Automate einbezogen werden kann. MDaemon schreibt bei Problemen Meldungen in die Ereignisanzeige von Windows. Diese Daten ...
    • RAWSQL Monitoring mit ConnectWise Automate

      Lösung Die RMM-Lösung ConnectWise Automate bietet die Möglichkeit, RAWSQL Monitors anzulegen. RAWSQL Monitors sind Internal Monitors und verwenden SQL-Statements, um Daten aus der Datenbank abzufragen. Diese sind besonders hilfreich, um einzelne ...
    • Monitoring von BackupAssist mit ConnectWise Automate

      Lösung In dieser Anleitung erläutern wir Ihnen am Beispiel der Backup-Lösung BackupAssist, wie leicht Sie Drittanbieter Software mit ConnectWise Automate (kurz: CWA) überwachen/monitoren können. BackupAssist ist eine zuverlässige ...