Mattermost y Powershell: gran potencia o pequeña automatización en el hogar

Haré una reserva de inmediato: trabajo para una empresa que no está directamente relacionada con TI, por lo que nuestro presupuesto para TI es pequeño. En consecuencia, muchos programas y servicios relacionados no están disponibles para nosotros, por lo que tenemos que hacer lo que podamos. Y cuando, además del departamento de TI, la compañía tiene varios cientos de usuarios que apenas pueden distinguir el monitor del mouse, el trabajo se convierte en una búsqueda separada.

Por lo tanto, lo que escribí será más probable que sea útil para los administradores de pequeñas empresas .

Muchos (o no muchos) han oído hablar de una herramienta tan buena como Mattermost .
Para aquellos que no han escuchado, este es un Slack, pero solo autohospedado. Dentro de la empresa, el chat en general es lo más útil.

Es elemental, si lo desea, es muy fácil sujetar el bot (por ejemplo, uso Hubot), en el que puede envolver todo tipo de alertas sobre tareas de la mina roja o la supervisión, e incluso automatizar algunos procesos comerciales que pueden incluirse en un script de preguntas y respuestas es costoso .

Todos se sienten cómodos con este chat, pero hay una cosa más. En realidad, no uno, pero la falta de una lista estructurada normal de usuarios simplemente mata. Por supuesto, puede usar Openfire + Miranda, pero la disponibilidad de un cliente de Mattermost para teléfonos con la capacidad de enviar notificaciones supera todas estas desventajas. Dado que el número de usuarios no es una docena, el número de departamentos tampoco es dos, a veces surge la pregunta: ¿quién trabaja hoy en la recepción en la sucursal remota? ¿Cuál de ellos está en línea? Lo hermoso y asequible que es transmitir al usuario promedio esta información en un lugar es otra pregunta. Dibujar un árbol frondoso de opciones de solicitud y respuesta para un chatbot es otro entretenimiento, por lo tanto, presento un artículo sobre mi rodilla especialmente para tal caso.

Servicio para Mattermost, escrito para ejecutar varios scripts de PowerShell desde slash / comandos personalizados. De hecho, puede usarlo para diferentes necesidades, refiriéndose a él por url, pero lo escribí para dibujar botones en el chat. Todos adoran los botones, incluso los gatos y las tías de la contabilidad. Bueno, cualquier administrador de Windows debe poder escribir en PowerShell, ¡tan útil!

Un trabajo aproximado se ve así:



El servicio está diseñado para funcionar en sistemas Windows, con Powershell v3 +. Para ejecutarlo, necesita los derechos para ejecutar scripts de PowerShell y abrir el socket. No hay autenticación en el script, por lo tanto, no recomiendo prescribir nada destructivo en las configuraciones y exponer un botín desnudo en Internet. Por otro lado, puedes prescribir formas más auténticas, pero no es para todos.

El servicio consiste en el script en sí y el archivo de configuración, que indica los scripts que deben ejecutarse y los datos transmitidos a la entrada ( descritos en la documentación, párrafo 8 ).

Entradas de configuración

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

significa que al acceder a la url / script, se iniciará el script Dummy-Script.ps1, ubicado en el mismo directorio que ButtonCommander, con las variables de texto entrantes, team_domain, user_name.

El servicio recibe datos de los scripts y los envía al canal del que proviene la solicitud. Si los datos llegaron en forma de JSON, entonces no se produce la conversión a un mensaje simple, y el JSON original se envía a Mattermost; así es como se hacen los botones.

El script se puede detener o volver a leer el archivo de configuración, también, accediendo a una url especial. Pero en otros asuntos, la descripción y la instalación se describen directamente en el repositorio, por lo que no copiaré y pegaré. El script se ejecutó y ya se presentó en la versión de trabajo. Ha estado funcionando sin fallas durante bastante tiempo.

Enlace al repositorio.

PD: Afftar no es escritor ni programador, sino un obstetra-miembro de un perfil amplio, por lo tanto, escribe lo mejor que puede.
PPS: En todas partes estamos hablando de Team Edition, que (¡oh, dolor, dolor!) No tiene autorización ldap. Estoy fuera de la posición de reemplazar la página de inicio de sesión con la mía (nginx + python,) pero esa nave es tan monstruosa que es un delito cargarla.

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


All Articles