This course is about the stuff you do every day - working with code and Visual Studio, source control, building software, etc - and how knowing just enough PowerShell can make these things easier on you. Each module of the course presents applied and practical uses of PowerShell to the everyday life of a software developer. You will be introduced to PowerShell, shown how to automate things you do in Windows Explorer, and how to leverage all of your .NET knowledge from the interactive PowerShell console. Then you will learn how to effectively use legacy console applications, how to customize the PowerShell environment. You’ll gain knowledge of how to use a multitude of third-party PowerShell modules and how to tame your software builds using the PSake PowerShell Module. You will finish off the course by looking at StudioShell.
Jim has spent over 17 years developing software for aerospace, education, and casinos. Since 2010 he has run Code Owls LLC, a company in Charlotte NC specializing in IT tooling and automation technologies. Jim is a PowerShell MVP and avid speaker.
Cutting Corners in Windows Explorer This module is about using PowerShell to accomplish things you might normally do in Windows Explorer. You're probably asking yourself, why would I want to do that? So let's spend the minute talking about sources of repetitive stress injury for software developers. You can probably think of two sources right off the top of your head. Let me guess, using keyboard, and using the mouse. The third form that you're not thinking of, is when your body has to make the contact shift from using the keyboard to using the mouse. You probably make this contact shift with your body several hundred times a day. And every time you do, you're putting strain on your back, shoulders and neck. One of the goals of this module is to show you ways you can keep your hands on your keyboard, and off of your mouse. Typing is almost always a better choice than clicking. It's far more productive, to explicitly tell the computer what it is you want or need, than it is to hunt and peck for it with the mouse. In addition, typing distributes the stress and work more evenly across both sides of your body. Whereas using the mouse, puts all the strain on one side of your body. So, here are some interesting questions. You should probably keep in mind during this part of the course. First, how can I use PowerShell to automate tasks I would normally do with Windows Explorer? What other scenarios do I encounter each day where PowerShell can enable me to type instead of click? How can I capture and reuse logic in PowerShell? And finally, how can my PowerShell customizations be available between different PowerShell sessions?
Using .NET From PowerShell This module is about using. NET from PowerShell. Since PowerShell is built directly on top of the. NET Framework, it should come as no surprise that you have access to all the goodies that are built under the. NET Framework such as the Base Class Library and the Common Language Runtime. Depending on which version of PowerShell you're running, you'll have access to different versions of the. NET Framework. If you're running PowerShell 2. 0, you'll have access to the. NET Framework 2. 0. However, if you're running PowerShell 3. 0, you'll have access to the. NET Framework 4. 0. If you're wondering what version of PowerShell you're running and what version of the. NET Framework you currently have access to, just check the value of the PSVersionTable variable. This is a built-in variable in PowerShell 2. 0 and 3. 0 that tells you what version of PowerShell you're running and what version of the. NET Framework you currently have loaded. Here are some interesting questions to keep in mind as we go through this module. First, how do I create and use. NET objects in PowerShell? How can I reference. NET types and access static members in PowerShell? How can I load an assembly into my PowerShell session? And how can I capture the logic I create in PowerShell so I can reuse it later?