Understanding Powershell Variables
Overview:
The following section explains variables and how they are utilized within PowerShell
Declaring and Using Variables
What is a Variable?
- A variable is a storage location identified by a name, used to hold data that can be referenced and manipulated in a script. 
Declaring Variables:
- In PowerShell, variables are declared using the - $symbol followed by the variable name.
- Example: - $myVariable = "Hello, World!"
Using Variables:
- Once declared, variables can be used in commands and scripts. 
- Example: - $greeting = "Hello, World!" Write-Output $greeting
Modifying Variables:
- Variables can be updated or modified. 
- Example: - $counter = 10 $counter = $counter + 1 Write-Output $counter
Common Data Types
Strings:
- Text data enclosed in quotes. 
- Example: - $name = "John Doe"
Integers:
- Whole numbers. 
- Example: - $age = 30
Arrays:
- Ordered collections of values. 
- Example: - $colors = @("Red", "Green", "Blue")
Hashtables:
- Collections of key-value pairs. 
- Example: - $person = @{ Name = "John Doe" Age = 30 Occupation = "Developer" }
Booleans:
- True/False values. 
- Example: - powershellCopy code$isAdmin = $true
Examples of Using Different Data Types:
# String
$greeting = "Hello, PowerShell!"
# Integer
$year = 2024
# Array
$fruits = @("Apple", "Banana", "Cherry")
# Hashtable
$book = @{
    Title = "PowerShell Guide"
    Author = "Jane Smith"
    Year = 2024
}
# Boolean
$isComplete = $falseVariable Scopes
Understanding Scope:
- Scope determines the visibility and lifetime of a variable. 
- Common scopes in PowerShell: - Global: Visible in all scripts and scopes. 
- Local: Visible only within the current script or function. 
- Script: Visible in the current script file. 
- Private: Visible only within the current block or function. 
 
Example of Variable Scopes:
# Global Scope
$Global:globalVar = "I am global"
# Script Scope
$Script:scriptVar = "I am script"
# Local Scope (default)
$localVar = "I am local"
# Private Scope
function Test-Scope {
    $Private:privateVar = "I am private"
    Write-Output $privateVar
}
Test-Scope
Write-Output $privateVar  # This will not work outside the functionUsing Scopes Effectively:
- Define variables in the appropriate scope based on their intended use. 
- Be mindful of scope to avoid conflicts and unexpected behaviors. 
Last updated