PowerShell

PowerShell ermöglicht den Remote-Zugriff auf das überwachte Gerät und die Nutzung von dort installierten PowerShell-Modulen und .NET-Bibliotheken.

Voraussetzungen

WhatsUp Gold verwendet eine 32-Bit-PowerShell-Engine (d. h. x86). Es werden nur 32-Bit-PowerShell-Snap-ins unterstützt. Die reinen 64-Bit-Snap-ins funktionieren nicht. Snap-ins, die sowohl 32-Bit- als auch 64-Bit-Betriebssysteme unterstützen, sind standardmäßig für 64-Bit-Systeme konfiguriert und müssen manuell für die 32-Bit-PowerShell-Engine konfiguriert werden, damit sie mit WhatsUp Gold funktionieren.

Anforderungen an Remote-Verbindungen

Folgende Bedingungen müssen erfüllt werden, damit der WhatsUp Gold-Computer über PowerShell eine Verbindung mit dem (abgefragten) Zielgerät herstellen kann.

Monitorkonfiguration

Es gibt unter Anderem folgende Konfigurationsfelder für diesen aktiven Monitor:

Verfügbare Monitorobjekte und -attribute

In Skripten für aktive PowerShell-Monitore stehen zwei instanziierte Sitzungsobjekte zur Verfügung.

Eigenschaften für ein Kontextobjekt abrufen oder festlegen

Sie können Werte für Kontexteigenschaften mit Skripten in aktiven PowerShell-Monitoren abrufen.

Syntax

Property-Value = Context.GetProperty("Property-Name")

Context.SetProperty("Property-Name","Property-Value")

Beispiel:

$DeviceIpAddress = $Context.GetProperty(„Address")

$Context.SetProperty("Timeout", "180")

Ergebnistext und Statusanzeige des Monitors festlegen

Der festgelegte Ergebnistext wird zur Beschreibung der Statusänderung hinzugefügt. Das festgelegte Status-Flag (0, 1) erreichbar/nicht erreichbar legt fest, welcher Indikator in der Zeitachse der Zustandsänderungen angezeigt wird.

# Nach erfolgreichem Abrufen (Get) der IpAdresse wird das Ergebnis (SetResult) und das Erfolgs-Flag festgelegt …

$Context.SetResult(0, "Die IP-Adresse des Geräts lautet " + $DeviceIpAddress)

Eigenschaften des Kontextobjekts

Auf folgende Eigenschaften kann vom Verbindungsobjekt, das bei der Ausführung von PowerShell erstellt wurde, zugegriffen werden.

Eigenschaft

Beschreibung

DeviceID

Geräte-ID in WhatsUp Gold.

Address

IP-Adresse.

Zeitüberschreitung

Zeitüberschreitung für diese Sitzung (in Sekunden).

Eigenschaften der Anmeldeinformationen für Kontextobjekte

Folgende Eigenschaften für Anmeldeinformationen können für PowerShell festgelegt werden. Diese Eigenschaften sind nützlich, wenn Verbindungen zu anderen Diensten, Plattformen oder Anwendungen hergestellt werden müssen, nachdem die erste PowerShell-Verbindung über den aktiven Monitor hergestellt wurde.

Eigenschaft

Beschreibung

CredWindows:DomainAndUserid

Domäne und Benutzer für Windows-Anmeldeinformationen.

CredWindows:Password

Legt das Windows-Kennwort fest.

CredSnmpV1:ReadCommunity

Lese-Community-Zeichenkette für SNMPv1.

CredSnmpV1:WriteCommunity

Schreib-Community-Zeichenkette für SNMPv1.

CredSnmpV2:ReadCommunity

Lese-Community-Zeichenkette für SNMPv2.

CredSnmpV2:WriteCommunity

Schreib-Community-Zeichenkette für SNMPv2.

CredSnmpV3:AuthPassword

SNMPv3-Kennwort.

CredSnmpV3:AuthProtocol(Ganzzahlwert)

SNMPv3-Authentifizierungsprotokoll.
Werte: 1 = Kein Protokoll, 2 = MD5, 3 = SHA

CredSnmpV3:EncryptProtocol(Ganzzahlwert)

Folgende Zahlenwerte stehen zur Verfügung:

  • 1 = Keine Verschlüsselung
  • 2 = DES56
  • 3 = AES128
  • 4 = AES192
  • 5 = AES256
  • 6 = THREEDES

CredSnmpV3:EncryptPassword

Verschlüsselung des Kennworts für SNMPv3.

CredSnmpV3:Username

SNMPv3-Benutzer.

CredSnmpV3:Context

SNMPv3-Kontext.

CredADO:Password

ADO-Kennwort.

CredADO:Username

ADO-Benutzername.

CredSSH:Username

SSH-Benutzername.

CredSSH:Password

SSH-Kennwort.

CredSSH:EnablePassword

Kennwort-Flag aktivieren.

CredSSH:Port

SSH-Port, falls dieser vom Standardwert abweicht.

CredSSH:Timeout

Zeitüberschreitung für SSH-Sitzungen.

CredVMware:Username

VMware-Benutzername.

CredVMware:Password

VMware-Kennwort.

CredTelnet:Timeout

Zeitüberschreitungswert für Telnet-Verbindung.

CredTelnet:Port

Telnet-Port, falls dieser vom Standardwert abweicht.

CredTelnet:Username

Telnet-Benutzername.

CredTelnet:Password

Telnet-Kennwort.

CredJMX:Username

Benutzername für JMX (Java Management Extensions).

CredJMX:Password

Kennwort für JMX (Java Management Extensions).

CredSMIS:Timeout

Zeitüberschreitung für die Speicherverwaltung.

CredSMIS:Port

Port für die Speicherverwaltung.

CredSMIS:Protocol

 

Protokoll für die Speicherverwaltung.

CredSMIS:Username

 

Benutzername für die Speicherverwaltung.

CredSMIS:Password

 

Kennwort für die Speicherverwaltung.

CredAWS:AccessKeyID

 

Konto-ID für Amazon Web Services (AWS).

CredAWS:SecureAccessKey

 

Zugriffsschlüssel für Amazon Web Services (AWS).

CredAzure:TenantID

 

Azure-Abonnement-ID.

CredAzure:ClientID

 

Konto-ID für Azure-Client.

CredAzure:SecureKey

Schlüssel für Azure-Konto.

CredRestAPI:Username

Benutzername, der für eine Authentifizierung für das Gerät erforderlich ist.

CredRestAPI:Password

Zu dem Benutzernamen zugehöriges Kennwort.

CredRedfish:Username

Benutzername, der für den Zugriff auf ein Hardware-Gerät erforderlich ist.

CredRedfish:Password

Kennwort, das für den Zugriff auf ein Hardware-Gerät erforderlich ist.

CredRedfish:Protocol

Protokoll zur verschlüsselten Kommunikation mit dem Gerät.

CredRedfish:Port

Portnummer zur Kommunikation mit dem Gerät.

CredRedfish:Timeout

Wie lange der Verbindungsversuch maximal dauern soll.

 

CredRedfish:Retries

Wie oft WhatsUp Gold die Kommunikation mit dem Gerät versuchen soll.

CredRedfish:IgnoreCertificateErrors

Zertifikatfehler unterdrücken.

Beispiel: Überprüfen, ob ein Dienst ausgeführt wird

Erstellt einen aktiven PowerShell-Monitor, der den Status erreichbar nur dann anzeigt, wenn ein DNS-Client ausgeführt wird und die gespeicherten Anmeldeinformationen verwendet.

# Abzufragende Geräte

$DeviceIpAddress = $Context.GetProperty(„Address")

# Computernamen direkt festlegen oder ...

# $CompName = mydb02.corpnet.beispiel.de (Beispiel)

# ... mit WMI abrufen (Get) ...

$WmiRes = Invoke-Command -ComputerName $DeviceIpAddress -ScriptBlock { Get-WmiObject Win32_Computersystem }

$CompName = $WMIRes.PSComputerName

# Befehl auf Remote-Gerät ausführen

$PsResult = Invoke-Command -ComputerName $DeviceName -ScriptBlock { Get-Service | where { $_.Name -match "Dnscache" } }

# Auf Bedingung „wird ausgeführt“ prüfen

if ($PsResult.Status -match 'Running') {

$RespondingMessage = „Prozess '" + $processName + "' auf der IP-Adresse " + $DeviceIpAddress + " ist erreichbar."

$Context.SetResult(0, $RespondingMessage )

} else {

$NotRunningMessage = „Prozess '" + $processName + "' auf der IP-Adresse " + $DeviceIpAddress + " ist nicht erreichbar."

$Context.SetResult(1, $NotRunningMessage )

}

See Also

Aktive Monitore

Active-Script (Aktiv)

APC-USV (Aktiv)

BGP-Peer-Status

Cloud-Ressourcen-Monitor

DNS

E-Mail

Exchange 2003

Exchange

Lüfter

Dateiinhalt

Dateieigenschaften

Ordner

FTP

HTTP-Inhalt

JMX (Aktiv)

„Meraki-Gerätestatus“ (aktiver Monitor)

Netzwerkstatistik

Ping

Jitter zwischen Ankunftszeit bei Pings

Stromversorgung

Drucker

Prozess

REST-API (aktiv)

Dienst

SMI-S

Erweiterter SNMP-Monitor

SNMP (Aktiv)

SQL-Abfragen (Aktiv)

SQL Server

SSH (Aktiv)

SSL-Zertifikat

Monitor für die Integrität von Speicher-Controllern

TCPIP

Telnet

Temperatur

VoIP

WAP-Sender

WMI (formatiert)

WMI

Abfrageeigenschaften einstellen

Aktion auf den Monitor anwenden

Verwenden von Aktionsrichtlinien

Richtlinie für implizite Aktionen