We’ve already mentioned that PowerShell contains a scripting language, and in a few more chapters, we’ll start to play with it. But once you start scripting, you may want to store your objects as variables for later use, so we’ll get those out of the way in this chapter. You can use variables in many places other than long, complex scripts, so we’ll also use this chapter to show you some practical ways to use them.
A simple way to think of a variable is as a box in the computer’s memory that has a name. You can put whatever you want into the box: a single computer name, a collection of services, an XML document, and so on. You access the box by using its name, and when accessing it, you can put things in it or retrieve things from it. Those things stay in the box, allowing you to retrieve them over and over.
PowerShell doesn’t place a lot of formality around variables. For example, you don’t have to explicitly announce or declare your intention to use a variable before you do so. You can also change the types or objects of the contents of a variable: one moment you might have a single process in it, and the next moment you can store an array of computer names in it. A variable can even contain multiple different things, such as a collection of services and a collection of processes (although we admit that, in those cases, using the variable’s contents can be tricky).