Mattermost und Powershell - große Leistung oder kleine Automatisierung im Haushalt

Ich werde sofort eine Reservierung vornehmen. Ich arbeite für ein Unternehmen, das nicht direkt mit der IT verbunden ist. Daher ist unser Budget für die IT gering. Dementsprechend stehen uns viele Programme und damit verbundene Annehmlichkeiten nicht zur Verfügung, sodass wir tun müssen, was wir können. Und wenn das Unternehmen neben der IT-Abteilung mehrere hundert Benutzer hat, die den Monitor kaum von der Maus unterscheiden können, wird die Arbeit zu einer separaten Aufgabe.

Daher ist das , was ich geschrieben habe, für Administratoren in kleinen Unternehmen eher nützlich .

Viele (oder nicht viele) haben von einem so großartigen Werkzeug wie Mattermost gehört .
Für diejenigen, die nicht gehört haben - dies ist so ein Slack, aber nur selbst gehostet. Innerhalb des Unternehmens ist allgemeiner Chat im Allgemeinen das Nützlichste.

Wenn Sie möchten, ist es sehr einfach, den Bot zu befestigen (z. B. verwende ich Hubot), auf dem Sie alle Arten von Warnungen zu Aufgaben aus der Redmine oder Überwachung einbinden und sogar einige Geschäftsprozesse automatisieren können, die in ein Frage-Antwort-Skript eingebunden werden können. Dies ist teuer .

Jeder fühlt sich mit diesem Chat wohl, aber eines gibt es aber. Eigentlich nicht einer, aber das Fehlen einer normal strukturierten Liste von Benutzern tötet einfach. Sie können natürlich Openfire + Miranda verwenden, aber die Verfügbarkeit eines Mattermost-Clients für Telefone mit der Möglichkeit, Benachrichtigungen zu senden, überwiegt all diese Nachteile. Da die Anzahl der Benutzer nicht ein Dutzend beträgt, die Anzahl der Abteilungen auch nicht zwei, stellt sich manchmal die Frage: Wer arbeitet heute an der Rezeption in der Gegenstelle? Welcher von ihnen ist online? Wie schön und erschwinglich es ist, dem Durchschnittsbenutzer diese Informationen an einem Ort zu vermitteln, ist eine andere Frage. Einen Laubbaum mit Anforderungs- und Antwortoptionen für einen Chatbot zu zeichnen, ist eine weitere Unterhaltung. Deshalb präsentiere ich speziell für einen solchen Fall einen Artikel auf meinem Knie.

Service for Mattermost, geschrieben, um verschiedene Powershell-Skripte mit Schrägstrichen / benutzerdefinierten Befehlen auszuführen. Tatsächlich können Sie es für verschiedene Zwecke verwenden, indem Sie auf es per URL verweisen, aber ich habe es geschrieben, um Schaltflächen im Chat zu zeichnen. Jeder liebt Knöpfe, sogar Katzen und Tanten aus der Buchhaltung. Nun, jeder Windows-Administrator muss in PowerShell schreiben können, also nützlich!

Eine ungefähre Arbeit sieht so aus:



Der Dienst funktioniert auf Windows-Systemen mit Powershell v3 +. Zum Ausführen benötigen Sie die Rechte, um PowerShell-Skripts auszuführen und den Socket zu öffnen. Das Skript enthält keine Authentifizierung, daher empfehle ich nicht, in den Konfigurationen etwas Destruktives vorzuschreiben und eine nackte Beute im Internet freizulegen. Auf der anderen Seite können Sie authentischere Wege vorschreiben, aber das ist nicht jedermanns Sache.

Der Dienst besteht aus dem Skript selbst und der Konfigurationsdatei, die die auszuführenden Skripte und die an die Eingabe übertragenen Daten angibt ( beschrieben in der Dokumentation, Absatz 8 ).

Konfigurationseinträge

[script] Script=.\Dummy-Script.ps1 IncomingVariables=text,team_domain,user_name 

bedeutet, dass beim Zugriff auf die URL / das Skript das Skript Dummy-Script.ps1 gestartet wird, das sich im selben Verzeichnis wie ButtonCommander befindet und die eingehenden Variablen text, team_domain, user_name enthält.

Der Dienst empfängt Daten von Skripten und sendet sie an den Kanal, von dem die Anforderung stammt. Wenn die Daten in Form von JSON vorliegen, erfolgt keine Konvertierung in eine einfache Nachricht, und der ursprüngliche JSON wird an Mattermost gesendet. Auf diese Weise werden Schaltflächen erstellt.

Das Skript kann gestoppt oder die Konfigurationsdatei erneut gelesen werden, indem auf eine spezielle URL zugegriffen wird. In anderen Fällen werden die Beschreibung und die Installation direkt im Repository beschrieben, sodass ich sie nicht kopieren und einfügen kann. Das Skript wurde ausgeführt und bereits in der Arbeitsversion angelegt. Es funktioniert seit geraumer Zeit ohne Fehler.

Link zum Repository.

PS: Afftar ist kein Schriftsteller und kein Programmierer, sondern ein Geburtshelfer mit einem breiten Profil, also schreibt er so gut er kann.
PPS: Überall sprechen wir von Team Edition, die (oh Schmerz, Schmerz!) Keine ldap-Berechtigung hat. Ich bin nicht in der Lage, die Anmeldeseite durch meine eigene (nginx + python) zu ersetzen, aber dieses Handwerk ist so monströs, dass es ein Verbrechen ist, es hochzuladen.

Source: https://habr.com/ru/post/de419415/


All Articles