Enteo V6+ und Automatisierung

Im Rahmen eines aktuellen Projektes darf ich mich ein bisschen mit Enteo beschäftigen. Im Kern basiert Enteo V6 auf WebServices. Das ist leider auch die einzige Schnittstelle, die meines Wissens vom Hersteller für Automatisierungen angeboten wird.

Gerade in einem größeren Rollout Projekt ist Automatisierung überlebenswichtig (bzw. sinnvoll, damit man sich nicht zu sehr bei Drag&Drop langweilt). Zum Glück  hat NWC Services diese Lücke erkannt und als Wrapper um die WebServices ein Powershell Modul erstellt.

Meine Testerfahrungen mit diesem Tool werde ich in diesem Blogeintrag und wahrscheinlich in ein paar weiteren anhand von Beispielen beschreiben.

Die Software ist kostenpflichtig und muss anhand der vorhanden Clients im Enteo lizenziert werden. Beim Verbinden mit einem Enteo Server liest es die Clientanzahl aus und würde melden, wenn die lizenzierte Anzahl die tatsächliche um eine Toleranzgrenze hinaus überschreitet.

Das Powershell Snapin kann über

Add-PSSnapin NwcServices.BlsAdministration

in einem Script geladen werden.

Eine Verbindung wird mittels

$server="\\enteowebservice.server"
New-PSDrive -Name emdb -psProvider BlsEmdb -Root $server

aufgebaut werden.

Danach kann mittels

cd "emdb:\rootdse"

auf das neu eingehängt Enteo Laufwerk gewechselt werden.

Ein einfacher Befehl wie

get-EmdbComputer –recurse "computername" 

sucht in allen Unterordnern nach einem Computer mit dem Namen computernamen und gibt das Objekt zurück.

Auch detailiertere Suchen sind problemlos möglich. Ein neuer Computer, der sich per PXE Boot gemeldet hat, steht zuerst nur mit seiner MAC-Adresse im System und ist ungemanaged. Um bei der Anpassung eines Rechners herauszufinden, ob ein gemanagetes oder ungemanagtes Objekt schon besteht, ist es am einfachsten nach der Initialen MAC-Adresse zu suchen.

$filter="Computer.InitialMACAddress="+$Mac
$pc=Get-EmdbComputer -recurse -filter $filter

Hier zeigt sich meiner Meinung nach schon das Problem der Zwei-Hersteller-Strategie: NWC hat seine Powershell Kommandos in zwei Hilfedateien ausreichend gut beschrieben. Der Filter wird aber an die WebServices weitergereicht und ist somit nicht mehr in der Verantwortung des Powershell Herstellers, sondern bei Enteo. Bei Enteo habe ich aber keine passenden Beschreibungen gefunden, sondern habe mich herantasten müssen. Dazu habe ich den einen oder anderen möglichen Filter ausprobiert. Als Fehlermeldung kam dann die verwendete SQL Abfrage zurück. Mit dieser bin ich in die Datenbank gegangen und habe anhand des Datenbankaufbaues die passende Tabelle und Tabellenspalte herausgefunden. Kennt jemand einen eleganteren Weg?

Soweit im ersten Blog Eintrag. In den nächsten Posts möchte ich zeigen, wie Organisationseinheiten angelegt, Computerobjekte da hineinverschoben werden und Zuordnungen zu statischen Gruppen durchgeführt werden. Danach eventuell noch ein Exkurse wie man mit Powershell eine OS-Neuinstallation weitestgehen automatisieren kann (erkennen ob Rechner an ist, ob ein User angemeldet ist, Rechnerneustart oder Wake-on-Lan, OS-Installation anstoßen und überwachen).

This entry was posted in Deutsch, Tools and tagged , , , . Bookmark the permalink.