8

I've created a number of scripts in PowerShell that require a number of parameters to be manually entered.

Unfortunately, until we have our Jenkins server setup to support these additional tasks I need to pass these scripts to other technicians.

Ideally I would like an application that could accept the parameters via predetermined fields and dropdown menus then run the appropriate script.

Is there anything already available that would fulfill that need or will I need to knock something up myself?

2 Answers 2

7

I think the time and effort it will take to set up another tool that performs this type of work will be about the same as it would be to setup Jenkins. If you are looking into a different tool though, I would checkout Rundeck. It is a great tool for creating scripts and allowing other privileged users to execute them. I'm not sure if it will meet your needs for predetermined fields/dropdowns, but there are plugins available that may help.

2
  • 1
    That's a very fair point you make there. I'm more limited by resources than time, but rundeck seems like a great bit of kit.
    – KJQ
    Nov 3, 2017 at 14:01
  • @KEW Setting it up will depend on how "locked down" your infrastructure is. It's a great tool to use and get running out of the box.
    – Preston Martin
    Nov 6, 2017 at 19:36
1

If you don't care about web UI, you can distribute your powershell scripts as console tasks using Sparrow, you basically just save your Powershell scripts as tasks to a git repository so that users can use it.

Say, you have task, task2, task3 and so on Powershell scripts ( aka tasks ) scattered across different projects ( aka groups ):

on your machine

# 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

on target machine

# 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.