Originally published on LinkedIn on 2020-01-06.

Hi together, as some of you know I took a new challenge last year and now I work for a big Healthcare Company in the IT department. Over the last years I got a lot of experience how to use automation tools in a homogeneous Linux infrastructure. In my new job things are different.

In the past I never thought to use Powershell, because there are tons of really good tools on Linux to configure and deploy stuff. Like Terraform, chef Ansible and so on…

So now I have a Windows workstation … what a nightmare for me. The last 15 years I didn’t touch any Windows PC. Yes I also just support Linux PC’s at the “family support subscription”. So a Windows PC is really a challenge for me.

So what did I do first. Yeah hack the BIOS and install WSL, which is nice for some Ansible scripting for the rollout of the new Performance monitoring tools inside our department (I really like Prometheus and Grafana) but thats a different story. But its WSL1 and it’s not Windows tooling. So I had the “luck” to get some Powershell training, which is nice. But it’s like with a driving license, you think you are a 18 year old formula1 driver, but in reality I just learned how to drive the car.

The good thing is that I had experience with other automation tools, so I looked around what is out there. And I stumbled above some tools and now I try to build up a development stack for Powershell inside our department. Why? We have some storage systems where some API’s available, but no one was working with it. And there is no native PowershellCLI available from that vendor. And all the automation should be done by Powershell inside the company. So that’s the why.

DevOps Env Link zu Überschrift

So I investigated a bit whats out there and stumbled over those projects.

  • Templates which can be done with Plaster
  • Versioning I prefer to use Gitlab-CE
  • Testing as I figured out Pester is the common tool for that
  • Documentation structure can be created within the git repository with Plaster
  • Some nice UI for my colleagues, which is Visual Studio Code
  • Build automation by psake
  • Deployment ? That’s an open point at the moment. There are options like a Private NuGet server, but I’m not sure yet if this is what I would like to have. On the other side there is Gitlab, which is a very powerful tool when it comes to CI/CD.

Plaster Link zu Überschrift

For me it is really important to get some structure within the modules that are created by our team. It is some effort to use a tool and create templates, but at the end it pays of. Because people get used to use the structures that we define inside the team. And if it is created by templaes the templates get improved over time. Even if new team members join it’s easier to understand whats going on. It is also easier to split up the modules in smaller modules, while having the same structures everywhere. I think the easiest way to understand Plaster is this video in youtube.

Working with Plaster (a PowerShell Scaffolding Module

Perhaps I will find some time to create more articles about that topic. But let’s see. If someone has some hint’s for me, you are welcome to leave a comment.