PowerShell Troubleshooting Guide
上QQ阅读APP看书,第一时间看更新

Variables

PowerShell variables, similar to variables in other programming languages, are names for data stored in memory. PowerShell variable references begin with a dollar sign and are created by assigning a value with the assignment operator (the equals sign). Unlike many programming languages, you do not need to define variables before using them or even specify what type of information the variable is going to point to. For instance, the following statements are all valid:

$var = 5
$anothervar = "Hello"
$files = dir c:\

Note that while the first two assignments were simple (integer and string constants), the third involved executing a pipeline (with a single statement) and storing the results of that pipeline in a variable. The command in the third line returns a collection of more than one kind of object (it has files and folders). Note that there is no special notation required to store a collection of objects.

Several common parameters in PowerShell take the name of a variable in order to store results of some kind in that variable. The –ErrorVariable, –WarningVariable, –OutVariable parameters, and (new in Version 4.0) –PipelineVariable parameter all follow this pattern. Also, all of the *–Variable cmdlets have a –Name parameter. These parameters are expecting the name of the variable rather than the contents of the variable. The name of the variable does not include the dollar sign. In the following screenshot, you can see that the –outvariable parameter was passed the file value, which caused a copy of the output to be stored in the variable called file:

In short, referencing the content of the variable involves the dollar sign, but referencing the variable name does not.