This course, targeted at intermediate SCCM administrators, will show you a lot of examples of useful PowerShell scripting methods in order to manage software on your clients. This course will go through numerous, typical examples of challenges that you might run into when deploying software to clients that need a little scripting help.
Course Introduction Hi, this is Adam Bertram, and in this is the introduction to my course on Client-Side PowerShell Scripting for Reliable SCCM Deployments. In this course you will learn all the steps necessary to begin to write PowerShell scripts, primarily around SCCM software installs, if you're new to using PowerShell for software installs, or if your already writing some PowerShell I intend to show you, based on my four years of experience writing scripts, some things to watch out for, and some best practices to follow to ensure scripting, helps to enforce reliable SCCM software deployments. By knowing when to use PowerShell scripts and how to properly write them, I guaranteed that you'll be able to account for a lot more of those anomalies between various software products, which will ultimately lead to more reliable software deployments. This course is primarily aimed at IT professionals with at least one year of experience with configure manager, and perhaps a year or so of general PowerShell scripting experience, you'll get the most benefit from this course if you've got a lot of different ConfigMgr packages, or applications out there that aren't so cut and dry, I'm talking about that software where you have to fiddle the services, or _____ files, whatever. Generally any kind of software deployment that you have to do more than just a simple msiexec-I and then the MSI name. Previous general PowerShell experience will help out greatly in this course, as this is not intended to be a PowerShell how to.
When to Use a Script as an Installer Hi, this is Adam Bertram, and in this module I'll be showing you that sometimes getting software installed and configured correctly on your ConfigMgr clients is pretty straight forward. Perhaps the software vendor actually did their job at packaging up the application correctly, rare, but it happens, in this case it's beneficial to know when you can just feed a silent switch to the software installer and take the default verses just coding out of script. In this module I'll briefly be going over a few different scenarios that will give you some examples of what kind of behavior to watch out for when deciding whether to build a script or not.
Managing PowerShell on Client Systems Hi, this is Adam Bertram and in this module I'll be showing you how to get PowerShell installed and securely configured on your client systems. We'll start off by how ConfigMgr handle PowerShells execution policy, how to reliably deploy PowerShell to your clients, and finally how to write you scripts to ensure they will execute properly on all your systems regardless of the version.
Common Scripting Scenarios for Software Upgrades Hi, this is Adam Bertram and in this module we're going to discuss some situations you might find yourself in when trying to script a software upgrade. This module will go over three key topics, finding the application that you'd like to upgrade, uninstalling the old application, and finally some common things left behind by the old application, and how to clean them up.
Logging With PowerShell Hi this is Adam Bertram, and in this module we're going to discuss how to record your PowerShell installer script's behavior by text and logging. This module will explain how to rank certain events in your script by severity through logging levels, we'll also discuss how the popular cm trays ConfigMgr log viewer works, and finally an introduction to the PowerShell module I've created for you. This module isn't intended to go in depth with things like air handling, debugging and the like, most of the scripts you'll be writing will not be a thousand line long masterpieces, but we just need a reliable way to record the activities of scripts that are typically less than 100 lines long.
Scripting Around User Profile Settings Hi this is Adam Bertram, and in this module we're going to discuss some scripting techniques around managing user profile settings. User profile settings have been inherently difficult to manage because sometimes you just need to make changes across every user profile on the system. It's not just as easy as doing a simple set commandlet and be done, we'll first go over the common task of finding and changing shortcuts to applications, this is very common after a software upgrade, we'll then dive into making registry setting changes for all users, I'll first show you how to get access to all users registry hives, and finally we'll go over a couple different ways in which you can make registry changes for each user.
Scripting Solutions for Installer Pitfalls Hi, this is Adam Bertram and in this module we're going to discuss scripting solutions for installer pitfalls. This module is sort of a fun module set aside for those times when you find yourself banging your head against the wall trying to get a piece of software to install right. I'll go over a few examples and how I overcame them.
Writing Scripts for Detection Methods Hi this is Adam Bertram and in this module we're going to discuss writing scripts to be used for detection methods. I intend to show you not only can PowerShell scripts help you install software, but they can also help you detect the software afterward as well. We'll go over a few different topics, we'll start with when to use a script for a detection method, because a script isn't necessary in all scenarios. In the second video I'll show you how to write your PowerShell script so you can communicate an install or non install status to ConfigMgr, and finally I'll go over some real world instances of where I needed a script as a detection method.