Thomas Rayner is a Senior Security Service Engineer at Microsoft with many years of experience in IT. He is a master technologist, specializing in DevOps, systems and process automation, public, private and hybrid cloud, security and .NET coding. Thomas is a former 4x Microsoft MVP, Honorary Scripting Guy, an international speaker, best-selling author, and instructor covering a vast array of IT topics.
PSScriptAnalyzer is great. You use it to check all your code to make sure it follows PowerShell best practices, right? In this session, I’ll show you how to take your PSScriptAnalyzer skills to the next level by showing you how to write your own custom rules, and make PSSA check your code for them.
A lot of people use the term “risk adverse” as an excuse to never take any risks, ever, just because it’s disruptive. Let me tell you why being “risk adverse” is actually exposing you to more problems, give you tools, and help you communicate to your stakeholders when it’s time to take a smart risk.
I took a smart risk and ended up being literally clawed in the face by a wolf. I don’t regret taking the risk though, because it resulted in one of the coolest experiences of my life. There’s a bit more to the story than that, but I don’t want to spoil it. The concepts here apply very clearly to IT and to organizations that call themselves “risk adverse”. I’ll walk attendees of this session through measuring risk, identifying worthwhile risks, and communicating with their stakeholders when it’s time to take one.
So many people say things like “well our org is pretty risk adverse so I don’t think I could get my boss on board with that” regarding ideas that are nearly risk free. They just know their bosses shoot down ideas that are disruptive. These folks will stand a much better chance at getting their changes accepted after this session.
Odds are, you know what DevOps is, may be trying to implement it where you work, and are maybe even doing a good job. Well, I tried and failed a bunch before getting it right. Come learn from my mistakes!
PowerShell is on Linux now, but can you think of any reasons to care? Have you seen nothing but weak lists of contrived examples of using PowerShell on Linux? Don’t worry, there are some real, solid use cases for using PowerShell on Linux, that aren’t stupid, and I want to share them with you.
Linux has had a billion different shells forever now. Why did Microsoft go and throw their own on the pile? Linux has been getting along just fine without PowerShell this whole time. What changed and made PowerShell useful on Linux? I’ll show you some great examples.
Regular expressions are sequences of characters that define a search pattern, mainly for use in pattern matching with strings, not as some people would have you believe, devil code written by witchcraft practitioners. If you don’t know basic regex, you’re missing out. Get some knowledge in you!
If you have ever had to comb through a log or unformatted user input, you know why regex is an important skill. You can try splitting and replacing and joining and trimming strings to try to get stuff out of them, but more often than not, a nice clean regular expression is the tool that’s best for the job. Folks need to quit avoiding regex like it’s an alien that’s here to eat your brain, and embrace the unmatched power that it brings to string manipulation.
You’re not a regex noob. You know about quantifiers like ?, *, and +. You also know about tokens like \w, \s, and \d. It’s time, now, to take your regex skills to the next level with some advanced concepts like grouping, capturing, and lookbehinds. Get ready to stand above your peers in a big way.
Regex intimidates people, and rightfully so. It’s complicated and isn’t always very readable for humans. It really takes some work to get your head around and truly understand regular expressions. This session is for people who know basic regex concepts and want to take their learning to the next level. Regex is like chess in that it’s easy to learn, but very hard to master. I’ll be teaching attendees some advanced moves to help them accelerate their learning and start doing some really cool things with regex. Anybody can write $number -match '\d', but not everyone can isolate the third octet out of an IP address.
Maybe you’re not “a dev”. You don’t really know C#. Why would you want to write a compiled PowerShell cmdlet? Well, compiled cmdlets are necessary to play with other C# libraries/systems, and they’re usually faster, and end users can’t mess with them. It’s easier than you think to get going.
PowerShell is great because it abstracts a lot of the “developery” stuff away from the person writing PowerShell code, and lets them focus on writing scripts and modules. That’s great! That is, until you have to want to do something that PowerShell won’t let you do, or you want to put a PowerShell front end on some C# code your devs developed, or your end users keep modifying parts of the scripts you’re deploying since they can just open them in notepad and edit them.
Writing compiled PowerShell cmdlets is easier than a lot of people think, and a seasoned PowerShell Pro will pick it up quickly.
I’m one of those people who spends waaay too much time customizing my PowerShell prompt. It’s a heck of a rabbit hole. Let me show you the cool stuff I’ve done to mine that people ask about every time they see it. It’s not just nice to look at, but functional too.