When I started my first real job in IT (almost 15 years ago) it felt a bit odd. At that time I was spending most of my time on Linux, yet my work required mainly Windows skills. My work colleague knew my background so I got task that supposed to be “gateway drug” to get me back on Windows side: updating backup script that was written in batch. Pure batch: I was not allowed to install any of the *nix tool’s ports to aid me in this project. And there were few significant requirements, and new one arrived every now and than.
One thing is certain: it felt like Houdini’s work: doing things with hands tied behind my back. I don’t think there was anything I could do in this pre-PowerShell environment that I missed (I chose to avoid VBScript). Some of that is reflected here on this blog, in the series about Scripting Games assignments done using nothing but cmd and build-in tools.
My career was going nowhere when I first used PowerShell for work-related task. Even though I’ve heard about PowerShell before, initially I just ignored it. Mainly because having some background in objective C I couldn’t really understand how pipeline can be applicable for objects. Silly me.
One day when I needed something that can help me fan-out and fix small problem on number of computers I started to look around and found two scripts: one in VBScript, one in PowerShell. I tried both, but the fact that PowerShell came with REPL made my decision easier: PowerShell it was. You can probably guess what happened next…?
History, however, likes to repeat itself. Today I often use PowerShell as an excuse to play with Linux, same as I did in the past. Don’t get me wrong: I’m doing most of my day-job projects in Windows environment and I love it (now that I have PowerShell). But when I’m back home, in my spare time, I like to combine the two. That’s how my series about OMI came to be. That’s why I presented on OMI several time in the past. That’s why my series about Linux DSC is going ‘live’ this week in PowerShell Magazine.
In this series I share my struggles with Linux DSC. I could walk around most of the identified issues easily using PowerShell. Consistency is not invoked? I have a PowerShell script for that. Scripts are not “baked” with proper shebang? I have a PowerShell script for that too. I’m not able to configure the firewall using firewall-cmd within the configuration? Surely, I could write a script for that as well. But even though I’m PowerShel MVP I decided to fix the problems on Linux rather than walk around them on Windows. Frankly, I’m glad it wasn’t all fine and dandy. More time spent on Linux? You won’t hear me complaining…
Of course I do not plan to stop there. I’m hoping that final version of Linux DSC will be ready sooner rather than later. I’m looking forward for updates to the core technology behind DSC for Linux: OMI. I can’t wait for future releases of Pash. I must say that I hope that PowerShell team will join this effort, especially considering recent news about .NET. Having PowerShell on Linux would be awesome!
Waiting is not all I plan to do. This spring I will present on OMI in Essen: plan to include the core OMI, NetworkSwitch module and introduce Linux DSC. I won’t cover too much ground on DSC side though: Thorsten Butz who will present immediately after me will expand on it in his session. I will probably understand only parts of it (code is international, and my German is close to non-existent), but I’m looking forward to it anyway. I encourage others to join too: there is plenty of good content planned. And with speakers like Bruce Payette, Aleksandar Nikolić, Dr. Tobias Weltner, Jeff Wouters (just to name these I’ve seen presenting before) this conference is doomed to success. And guess where will I spent plenty of time during my preparations for that session…?