Auf unserem Partnertag haben wir vorgestellt wie man die Powershell nutzen kann um mit Server-Eye zu arbeiten. Wir waren selbst etwas überrascht wie positiv das Thema aufgenommen wurden. Danke an dieser Stelle für das konstruktive Feedback.

Neuer Aufbau

Wir werden die bereitgestellten Powershell Module auch weiterhin erweitern und stetig neue Funktionen hinzufügen. Aufgrund des Umfangs haben wir das Projekt in zwei Module aufgeteilt. Alle cmdlets die direkt eine API Funktion abbilden sind in das Module ServerEye.Powershell.API ausgelagert worden. Alle höheren Hilfsfunktionen sind im Module ServerEye.Powershell.Helper.

Mit dieser Aufteilung haben wir auch Namespaces (Prefixes) eingeführt. Vorhandene Skripte die bereits die alte Version des Modules genutzt haben müssen deshalb angepasst werden. Die API ist im Namespace SeApi und die höheren Funktionen im Namespace SE. Aus Get-Customer die direkt auf die API zugreift wurde Get-SeApiCustomer. Dadurch wurde aber auch Platz geschaffen für die Hilfsfunktion Get-SECustomer. Die API Funktion erfordert eine genau Kentniss der API, die neue Hilfsfunktion ist hier benutzerfreundlicher gestalltet.

Mit

Get-SECustomer "Systemmanager IT"

kann ich z.B. gezielt den Kunden Systemmanager IT abrufen ohne die Kundennummer zu kennen. Und die Daten dann direkt per Pipeline direkt an das cmdlet

Get-SESensorhub Exch*

weitergeben und mir so aller Sensorhubs anzeigen deren Name mit „Exch“ beginnt.

Get-SeCustomer "Systemmanger IT" | Get-SESensorhub Exch*

Die Ausgabe erfolgt in einem auf das wesentlich reduzierte Format. Natürlich geben wir trotzdem die ID der angezeigten Objekte aus, man kann also direkt weitere Daten aus der API abrufen.

Aktuell existieren folgende Hilfsfunktionen:

  • Get-SECustomer
  • Get-SESensorhub
  • Get-SESensor
  • Get-SENotification
  • Add-SENotification
  • Get-SESensorSetting

Automatische Session

Wer aufgepasst hat, hat bemerkt, dass in meinem Beispiel gar keine Session oder API Key übergeben wurde. Wir haben auch die Funktion Connect-SESession angepasst. Diese kann wie bisher genutzt werden oder mit dem Schalter -Persist. Mit Angabe dieses Schalters wird die Server-Eye Cloud Session in der lokalen Powershell Session gespeichert. Bei allen nachfolgenden Aufrufen einer Funktion aus dem Modul Helper ist keine weitere Angabe zur Authentifizierung mehr notwendig.

PS >Connect-SESession -Persist
 Windows PowerShell credential request
 Server-Eye Login
 User: andy@server-eye.de
 Password: ******
The session has been stored in this Powershell. It will remain active until you close it!
PS >Get-SECustomer
Name                CustomerId                           CustomerNumber
----                ----------                           --------------
Systemmanager IT    da7c266b-a44c-4da4-b008-6180b9c14954 1234
Exchange Company    a3ec03e9-c5aa-4735-8929-ce2a5c18744a 5678
Schulung Eppelborn  a017220d-5206-4af2-8a00-09fee755c0d0 4321

 

Die aktuellsten Informationen zum Server-Eye Powershell Helper findet man hier: http://bit.ly/SE_Helper