This course is targeted for IT Pros and is intended to provide the viewer all the information they need to know to get started with PowerShell Remoting and how it can make their jobs easier. The goal is to provide coverage of fundamental PowerShell remoting concepts and practices that the majority of IT Pros are likely to use in their day to day work including topics like TrustedHosts, SSL connections, and Disconnected Sessions. The course is designed to follow a typical Windows administrator, Stephanie, who wants to learn how to use PowerShell remoting to do her job more efficiently. You will shadow her progress as she learns how to set up and use PowerShell remoting. Live demonstrations will depict her learning experiences, including likely mistakes. The goal is for you to put yourself into Stephanie's place and learn as she does. This course assumes the user has some basic PowerShell skills and experience and is looking to take advantage of PowerShell remoting in their day to day work.
Jeffery Hicks is a Microsoft MVP in Windows PowerShell and an IT veteran with many years of experience, much of it spent as an IT consultant specializing in Microsoft server technologies with an emphasis in automation and efficiency.
Course Introduction Hi everyone, my name is Jeff Hicks, and welcome to my course PowerShell Remoting Fundamentals. I'm a multi-year PowerShell MVP working today as an independent IT pro creating content such as articles, books, and courses like this to help you do your job better and more efficiently. Now, for many IT pros, PowerShell is becoming the management tool for managing just about everything in your network. To really take advantage of PowerShell, this means learning to effectively manage hundreds or even thousands of servers at once with PowerShell remoting. This course is designed to follow a typical Windows administrator, Stephanie, who wants to learn how to use PowerShell remoting to do her job, like you, more efficiently. You'll shadow her progress as she learns how to set up and use PowerShell remoting. You'll learn, again as Stephanie goes along, about PowerShell remoting features such as trusted hosts, setting up an SSL remoting connection, implicit remoting, and disconnected sessions. By the end of the course, you should know how to set up and test PowerShell remoting, you should know how to use remoting to manage a single computer in an interactive session, or run a series of commands on multiple computers at the same time. And throughout it all, you'll learn how to do it safely and securely. I designed the course assuming you have some basic PowerShell skills and experience. You don't need to be a script writer, but I'm assuming you know what cmdlets and variables are and how to use the PowerShell console. Of course, the more PowerShell skills you know, the better. I hope you'll join me on this journey to learn more and discover how it can make your job better with my PowerShell Remoting Fundamentals course at Pluralsight.
Introduction and Lab Setup Hello, and welcome. My name is Jeff Hicks, and you're going to watch my course for Pluralsight called PowerShell Remoting Fundamentals. This is the module where we'll intro the content and talk about what you'll need if you want to follow along throughout the labs and exercises. First off, let me give you a little background about myself for those of you who don't know who I am. I am a grizzled IT pro veteran. I've been in IT for well over 20-something years, often working in Microsoft infrastructure. I've worked as a consultant for a number of Gold Partners. I've done a lot of different things, probably a lot of things that you do in your job. I am a multi-year PowerShell MVP. I have been working with PowerShell since it was in beta, and I have been a PowerShell MVP for almost just as long. I'm an author. I write books, I write articles, I do a lot of content creation primarily around PowerShell, but around other IT pro content as well. I blog quite a bit, lots of places where you can go and find information that I have written. I'm also a trainer. I do not only the courses for Pluralsight, but I also speak at conferences. I do private training for companies as well. I always look for opportunities where I can train and help educate people in how to use PowerShell to get their jobs done better, faster, and smarter. And then lastly, I also worked as a consultant and mentor. I have worked with a number of clients who say hey, we have a projects that's involving PowerShell, just we need a little sanity check. Will you look and see what we're working on, and are we doing things the right way? So I'm happy to engage with people in that way.
Configuring PowerShell Remoting with SSL Hello once again, I'm glad you're still with me learning about Windows PowerShell remoting. This is the lesson where we will look at configuring PowerShell remoting to use SSL. Now, there are a number of reasons why you might want to use SSL over remoting in your environment. The traffic that you have within your PSSession, it's already encrypted with WS-Man. For most people, that is sufficient, but some organizations have a stricter requirement. You can specify that you use an SSL connection over TCP port 5986. This is just like using SSL in a webserver which means that there is an additional layer of encryption. Now, I do want to point out, beware of some older documentation in the help files. You may see references to the web port 443, that is incorrect. It is now 5986 if you're using SSL and PowerShell remoting. With SSL, again like the webserver, you get that additional layer of encryption and security. You can verify that the machine that you are talking to is the machine that you are expecting, because you trust the certificate that is on that machine. In a DMZ scenario, this could be especially useful, because you may not have a way of really trusting that that machine is who it says it is, certificates can help with that. In another lesson we'll look at some additional ways that you might be able to handle that scenario.
Troubleshooting PowerShell Remoting Welcome back one more time to my course on Windows PowerShell Remoting Fundamentals. In this lesson, we're going to look at some different ways that you might troubleshoot PowerShell remoting. As you work with PowerShell remoting, be aware that there are a few, let's call them known limitations. By default, PowerShell remoting requires private secure networks. Your network connection needs to be set for private or domain. There are ways where in newer versions of Windows where you can configure and set up PowerShell remoting on public or Wi-Fi networks, but for the most part, and everything I've been demonstrating in this course, I'm assuming you are doing this in a domain environment. Be careful when you are making your connections to remote servers, especially if using SSL, you may need to connect by a fully qualified name instead of the computername. You could specify an IP address. You may have to take into account whether you're using trusted hosts, but the name or the means that you connect to the remote machine may also be something to be aware of, and then one more thing to keep in mind, if you are using Group Policy to configure PowerShell remoting, firewall rules, control the service, anything with remoting, trusted host, that sort of thing; those Group Policy settings will override anything that might be set in WS-Man. So you have to know where are your remoting settings coming from that might determine how you troubleshoot a problem.
PowerShell Remoting: Next Steps Welcome back one more time to my course on Windows PowerShell Remoting Fundamentals. In this lesson we're going to look at the next steps that you might take with PowerShell remoting. A very important concept to keep in mind with PowerShell remoting: it is everywhere, or it certainly will be as we continue to upgrade servers, so as Server 2003 finally goes away and you bring in newer operating systems, PowerShell remoting will be turned on and you will just have it there ready for you to use. The nice thing, remember about PowerShell remoting, this not based on proprietary standards from Microsoft. This uses industry standards such as WS-Man, and the CIM protocols and the CIM classes. What I hopefully have drilled into your head throughout this course is that if you can do something for 1 server, you can do it for 10 or 100. You need to start thinking about working with PowerShell at scale. Begin to think, okay I'm going to look at EventLogs not on 1 server, I'm going to look at them on 10 servers. I don't want to just configure the service on 1 machine, I'm going to configure it on 10 machines. PowerShell remoting takes this idea of managing at scale and really makes it possible. We've been spending time throughout this course on how to use PowerShell as it exists now, and certainly just some of the fundamental concepts, but there is much more to PowerShell remoting than what we had time and opportunity to discover in this course. So going forward, here are some things that you should be thinking about and researching and trying out.