I had the privilege of speaking at Converge Detroit this past weekend. It is always a great time to get together with the #misec crew. This was the first year for the Converge Detroit conference. They also had BSides Detroit on Saturday. I presented the talk “Practical PowerShell Programming for Professional People” at Converge Detroit and while I really do not like being the last talk at a conference, this was the best time for this talk. I took up a full 60 minutes and I could have kept going. The great thing is, so could have those who attended my talk. You can view the slides from that talk below.
What I learned from people after that talk is that there is a big interest in PowerShell but there are inhibitors for some people. I’ve heard “I’ve never scripted before and haven’t had the time to sit down and just learn it”, “Our infrastructure is too embedded with VBScripts or other things”, “I didn’t realize how much you could actually do with PowerShell so I didn’t even bother”, and more. Let me encourage you that if you have never tried PowerShell before, once you start to use it you will quickly begin to see its potential.
First, if you have never scripted before this is a FANTASTIC first language. I see python is moving to that position lately, which is great. However, for the System Administrator that didn’t take any scripting or programming, PowerShell is a great first start. During my talk, there were people who had never scripted before and were able to write a full script by the end of those 60 minutes. PowerShell is easy to pick up and can become very powerful in your environment very quickly. So let me encourage you that if that is the reason you haven’t started, disregard that reason and dive in!
Second, PowerShell is so much easier than VBScript. It’s also safer, cleaner, and built on .NET. VBScript had it’s place and time. Now it’s time to put it out to pasture to run free and never interact with our systems again. Yes, you may be able to “whip up some vbscript” quicker than PowerShell right now. However, it will take you far less time to learn PowerShell than it did to learn VBScript. Start porting those scripts over. You will be amazed at how quickly you adapt.
Lastly, because PowerShell is built upon .NET, it can do anything .NET can do! People have written an IRC bot, a SSH module, a VirusTotal module, a post exploit module, a system security module, a system security and VA module, and even the Krakken. You don’t have to reinvent the wheel. People have really adopted PowerShell into their environments and have created some amazing modules and scripts for everyone.
If you need help, feel free to join us in the #pssec channel on irc.freenode.net. You can also get general PowerShell help in the #powershell channel on freenode. I have submitted my Practical PowerShell Programming talk to other conferences. If it is accepted I will let you know if you would like to hear and see this in person. You can follow me on twitter for any future talks that I will be giving. Until then, break out the PowerShell and get scripting!