Aplicación para ejecutar scripts de PowerShell

7

He creado varios scripts en PowerShell que requieren que se ingresen manualmente varios parámetros.

Desafortunadamente, hasta que tengamos nuestra configuración del servidor Jenkins para admitir estas tareas adicionales, necesito pasar estos scripts a otros técnicos.

Idealmente, me gustaría una aplicación que pudiera aceptar los parámetros a través de campos predeterminados y menús desplegables y luego ejecutar el script apropiado.

¿Hay algo ya disponible que satisfaga esa necesidad o tendré que destruir algo yo mismo?

KEW
fuente

Respuestas:

5

Creo que el tiempo y el esfuerzo necesarios para configurar otra herramienta que realice este tipo de trabajo serán casi los mismos que para configurar Jenkins. Sin embargo, si está buscando una herramienta diferente, verificaría Rundeck . Es una gran herramienta para crear scripts y permitir que otros usuarios privilegiados los ejecuten. No estoy seguro de si satisfará sus necesidades de campos / menús desplegables predeterminados, pero hay complementos disponibles que pueden ayudarlo.

PrestonM
fuente
1
Ese es un punto muy justo que haces allí. Estoy más limitado por los recursos que el tiempo, pero rundeck parece un gran kit.
KEW
@KEW La configuración dependerá de cuán "bloqueada" esté su infraestructura. Es una gran herramienta para usar y salir corriendo de la caja.
PrestonM
0

Si no le importa la interfaz de usuario web, puede distribuir sus scripts de PowerShell como tareas de consola usando Sparrow , básicamente solo guarda sus scripts de Powershell como tareas en un repositorio git para que los usuarios puedan usarlo.

Digamos que tiene una tarea, una tarea2, una tarea3 y así sucesivamente.

en tu máquina

# 1. convert powershell scripts into sparrow plugins
# and place them to local git repository 
# /path/local/repo/plugins directory

# 2. create configurations for your plugins
# as sparrow tasks

sparrow task $project/$task ini 

# 3. save tasks to a local git repository
# /path/local/repo/

sparrow task save /path/local/repo/
cd  /path/local/repo/ && git commit -a -m "my tasks" && git push

en la máquina de destino

# load tasks from a git repository

git clone $repo/powershell-tasks.git powershell-tasks

# install plugins to a local system:

cd powershell-tasks && sparrow plg install $PWD/plugins --recursive --local

# install tasks into a local system:

cd powershell-tasks
sparrow task restore $PWD

# setup and run tasks

sparrow task ini project1/task1 # override default settings

 foo: 1
 bar: 2

sparrow task run project1/task1 # run script as a task

sparrow task ini project2/task2 # override default settings

 foo: 11
 bar: 22

sparrow task run project2/task2 # run script as a task
Alexey Melezhik
fuente