-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ⚡ PowerShell Commands -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 🆕 Get-Command Get all available commands Get-Command 📖 Get-Help Display help information for a command Get-Help Get-Process 📁 Get-ChildItem List files and directories Get-ChildItem C:\Users 📍 Get-Location Show current directory Get-Location 📂 Set-Location Change current directory Set-Location C:\Temp 📃 Get-Content Read content from a file Get-Content .\file.txt 📝 Set-Content Overwrite content or create a file Set-Content .\file.txt "Hello world" 📄 Add-Content Append content to a file Add-Content .\file.txt "Appended text" ✂️ Remove-Item Delete files or folders Remove-Item .\file.txt 📋 Copy-Item Copy files or folders Copy-Item .\file.txt .\copy.txt 🏃‍♂️ Move-Item Move or rename files/folders Move-Item .\copy.txt .\newcopy.txt 📦 New-Item Create new file/folder New-Item -Path .\newfile.txt -ItemType File 🔍 Get-Process List processes Get-Process chrome ⚙️ Start-Process Start a new process Start-Process notepad.exe 🛑 Stop-Process Stop running process Stop-Process -Name notepad ⚙️ Get-Service Get Windows services Get-Service wuauserv 🆕 Start-Service Start a Windows service Start-Service wuauserv 🛑 Stop-Service Stop a Windows service Stop-Service wuauserv 🕵️ Get-EventLog Read event logs Get-EventLog -LogName System -Newest 10 📊 Measure-Object Measure properties (count, sum, average, etc.) Get-ChildItem | Measure-Object 🧩 Select-Object Select specific properties or objects Get-Process | Select-Object -Property ProcessName, Id 🔄 Sort-Object Sort objects Get-Process | Sort-Object CPU -Descending 📜 Format-Table Format output as a table Get-Process | Format-Table -Property Id,ProcessName 📜 Format-List Format output as a list Get-Service | Format-List ✒️ Write-Output Display output on console Write-Output "Hello, PowerShell" 🧹 Clear-Host Clear console screen Clear-Host 🕰️ Get-Date Show current date/time Get-Date 📅 Set-Date Set system date/time Set-Date "August 25, 2025 10:00:00 AM" 👁️ Test-Path Check if file or path exists Test-Path .\file.txt 🧪 Invoke-WebRequest Fetch content from web URL Invoke-WebRequest https://example.com 💾 Export-Csv Export data to CSV file Get-Process | Export-Csv processes.csv 📥 Import-Csv Import data from CSV file Import-Csv processes.csv ⚙️ Get-Member Get properties and methods of an object Get-Process | Get-Member ⌛ Start-Job Run background job Start-Job -ScriptBlock { Get-Process } ⌛ Get-Job List running jobs Get-Job ⌛ Receive-Job Get output from background jobs Receive-Job -Id 1 ⌛ Stop-Job Stop background job Stop-Job -Id 1 💡 ForEach-Object Loop through items Get-Process | ForEach-Object { $_.Id } 🕵️ Where-Object Filter objects Get-Process | Where-Object { $_.CPU -gt 100 } 🗂️ Import-Module Load PowerShell module Import-Module Az 💾 Export-ModuleMember Export functions or variables from module Export-ModuleMember -Function Get-MyCmdlet 🛠️ New-Alias Create a shortcut alias New-Alias ll Get-ChildItem 🔄 Clear-Variable Clear variable and its value Clear-Variable -Name myVar 🧱 Get-Variable Get variables in current environment Get-Variable -Name myVar ♻️ Set-Variable Set or create variable Set-Variable -Name myVar -Value 42 🔍 Get-Content Read content of a file Get-Content .\log.txt 💣 Try/Catch/Finally Exception handling block try { Get-Item nosuchfile } catch { Write-Host "Error" } 📦 Register-ScheduledTask Register a scheduled task Register-ScheduledTask -TaskName "Backup" -Trigger $trigger -Action $action ⚙️ Invoke-Command Run command on remote computers Invoke-Command -ComputerName server1 -ScriptBlock { Get-Process } 🌐 Get-Help Get cmdlet help and examples Get-Help Get-Process ⚙️ Set-ExecutionPolicy Change script execution policy Set-ExecutionPolicy RemoteSigned 🚦 Test-Connection Ping a remote host Test-Connection google.com -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ⚡ PowerShell Commands + Networking -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 🆕 Get-Command Get all available commands Get-Command 📖 Get-Help Display help information for a command Get-Help Get-Process 📁 Get-ChildItem List files and directories Get-ChildItem C:\Users 📍 Get-Location Show current directory Get-Location 📂 Set-Location Change current directory Set-Location C:\Temp 📃 Get-Content Read content from a file Get-Content .\file.txt 📝 Set-Content Overwrite content or create a file Set-Content .\file.txt "Hello world" 📄 Add-Content Append content to a file Add-Content .\file.txt "Appended text" ✂️ Remove-Item Delete files or folders Remove-Item .\file.txt 📋 Copy-Item Copy files or folders Copy-Item .\file.txt .\copy.txt 🏃‍♂️ Move-Item Move or rename files/folders Move-Item .\copy.txt .\newcopy.txt 📦 New-Item Create new file/folder New-Item -Path .\newfile.txt -ItemType File 🔍 Get-Process List running processes Get-Process chrome ⚙️ Start-Process Start a new process Start-Process notepad.exe 🛑 Stop-Process Stop running process Stop-Process -Name notepad ⚙️ Get-Service Get Windows services Get-Service wuauserv 🆕 Start-Service Start Windows service Start-Service wuauserv 🛑 Stop-Service Stop Windows service Stop-Service wuauserv 🕵️ Get-EventLog Read event logs Get-EventLog -LogName System -Newest 10 📊 Measure-Object Measure object properties (count, sum, average) Get-ChildItem | Measure-Object 🧩 Select-Object Select specific properties or objects Get-Process | Select-Object -Property ProcessName,Id 🔄 Sort-Object Sort objects Get-Process | Sort-Object CPU -Descending 📜 Format-Table Format output as a table Get-Process | Format-Table -Property Id,ProcessName 📜 Format-List Format output as a list Get-Service | Format-List ✒️ Write-Output Display output on console Write-Output "Hello, PowerShell" 🧹 Clear-Host Clear the console screen Clear-Host 🕰️ Get-Date Get date and time Get-Date 📅 Set-Date Set system date/time Set-Date "August 25, 2025 10:00:00 AM" 👁️ Test-Path Check if item exists Test-Path .\file.txt 🧪 Invoke-WebRequest Perform HTTP web request Invoke-WebRequest https://example.com 💾 Export-Csv Export objects to CSV Get-Process | Export-Csv processes.csv 📥 Import-Csv Import CSV data into objects Import-Csv processes.csv ⚙️ Get-Member Get members (properties, methods) of objects Get-Process | Get-Member ⌛ Start-Job Start a background job Start-Job -ScriptBlock { Get-Process } ⌛ Get-Job List background jobs Get-Job ⌛ Receive-Job Receive job output Receive-Job -Id 1 ⌛ Stop-Job Stop a background job Stop-Job -Id 1 💡 ForEach-Object Process each item in pipeline Get-Process | ForEach-Object { $_.Id } 🕵️ Where-Object Filter objects Get-Process | Where-Object { $_.CPU -gt 100 } 🗂️ Import-Module Import PowerShell module Import-Module Az 💾 Export-ModuleMember Export functions or variables from a module Export-ModuleMember -Function Get-MyCmdlet 🛠️ New-Alias Create alias New-Alias ll Get-ChildItem 🔄 Clear-Variable Clear variable value Clear-Variable -Name myVar 🧱 Get-Variable Get variable details Get-Variable -Name myVar ♻️ Set-Variable Set variable value Set-Variable -Name myVar -Value 42 ⚡ Test-Connection Send ICMP echo request (ping) Test-Connection -ComputerName google.com 🕵️ Test-NetConnection Extended network diagnostics Test-NetConnection -ComputerName google.com -Port 443 🔍 Resolve-DnsName Perform DNS query Resolve-DnsName -Name powershell.com -Type A 🌐 Get-NetIPAddress Display IP address configuration Get-NetIPAddress 🌐 Get-NetIPInterface Get IP interface details Get-NetIPInterface 🌐 Get-NetAdapter Get network adapters and their status Get-NetAdapter 🌐 Restart-NetAdapter Restart network adapter Restart-NetAdapter -Name "Ethernet" 🌐 Enable-NetAdapter Enable network adapter Enable-NetAdapter -Name "Wi-Fi" 🌐 Disable-NetAdapter Disable network adapter Disable-NetAdapter -Name "Wi-Fi" 🌐 Get-NetRoute Display routing table Get-NetRoute 🌐 New-NetRoute Add new route New-NetRoute –DestinationPrefix "10.0.0.0/24" –InterfaceAlias "Ethernet" –NextHop "192.168.1.1" 🌐 Remove-NetRoute Remove specific route Remove-NetRoute –DestinationPrefix "10.0.0.0/24" –Confirm:$false 🌐 Get-NetTCPConnection Display active TCP connections Get-NetTCPConnection -State Established 🌐 Get-NetUDPEndpoint Display active UDP endpoints Get-NetUDPEndpoint 🌐 Get-DnsClientCache View DNS client cache Get-DnsClientCache 🌐 Clear-DnsClientCache Clear DNS cache Clear-DnsClientCache 🌐 Get-DnsClientServerAddress Get DNS server IP addresses Get-DnsClientServerAddress 🌐 Set-DnsClientServerAddress Set DNS server IP addresses Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8","8.8.4.4") 🌐 Register-DnsClient Register DNS client Register-DnsClient -InterfaceAlias "Ethernet" 🌐 Set-DnsClientGlobalSetting Set DNS client settings Set-DnsClientGlobalSetting -UseSuffixWhenRegistering $true 🧰 Invoke-Command Execute commands on local or remote computers Invoke-Command -ComputerName Server01 -ScriptBlock { Get-Process } ⛵ Enter-PSSession Start interactive remote PowerShell session Enter-PSSession -ComputerName Server01 🏃‍♂️ Exit-PSSession Exit remote PowerShell session Exit-PSSession ⚙️ Get-WmiObject Retrieve WMI objects Get-WmiObject -Class Win32_Processor -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 🪓 Active Directory PowerShell Commands -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 🔎 Get-ADDomain Get Active Directory domain details Get-ADDomain 📋 Get-ADDomainController List domain controllers and their properties Get-ADDomainController -Filter * 🔐 Get-ADDefaultDomainPasswordPolicy View domain default password policy Get-ADDefaultDomainPasswordPolicy 🔎 Get-ADFineGrainedPasswordPolicy List fine-grained password policies Get-ADFineGrainedPasswordPolicy -Filter * 👥 Get-ADUser Get user or users from Active Directory Get-ADUser -Identity jsmith 👥 Get-ADUser -Filter Get users filtered by criteria Get-ADUser -Filter {Name -like "*Smith*"} 👥 Get-ADUser -Properties Retrieve user properties Get-ADUser -Identity jsmith -Properties mail,department 📦 New-ADUser Create a new Active Directory user New-ADUser -Name "Jane Doe" -SamAccountName jdoe -AccountPassword (Read-Host -AsSecureString "Password") -Enabled $true 🛠️ Set-ADUser Modify properties of an AD user Set-ADUser -Identity jdoe -Department "IT" 👥 Remove-ADUser Delete an Active Directory user Remove-ADUser -Identity jdoe 🔑 Unlock-ADAccount Unlock a locked user account Unlock-ADAccount -Identity jsmith 🛑 Disable-ADAccount Disable an AD user account Disable-ADAccount -Identity jsmith ✅ Enable-ADAccount Enable an AD user account Enable-ADAccount -Identity jsmith 🕵️ Search-ADAccount Search for accounts with specific criteria Search-ADAccount -AccountDisabled 🔒 Set-ADAccountPassword Reset user password Set-ADAccountPassword -Identity jdoe -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "P@ssw0rd!" -Force) 🔐 Set-ADUser -ChangePasswordAtLogon Set user to change password at next logon Set-ADUser -Identity jdoe -ChangePasswordAtLogon $true 🗂️ Get-ADGroup Get Active Directory group Get-ADGroup -Identity "Domain Users" 🧑‍🤝‍🧑 Add-ADGroupMember Add member(s) to an AD group Add-ADGroupMember -Identity "Domain Admins" -Members jdoe ➖ Remove-ADGroupMember Remove member(s) from group Remove-ADGroupMember -Identity "Domain Admins" -Members jdoe 🏗️ New-ADGroup Create a new AD group New-ADGroup -Name "HR Group" -GroupScope Global -GroupCategory Security -Path "OU=Groups,DC=domain,DC=com" 🚪 Get-ADOrganizationalUnit List organizational units Get-ADOrganizationalUnit -Filter * 🏗️ New-ADOrganizationalUnit Create an OU New-ADOrganizationalUnit -Name "HR" -Path "DC=domain,DC=com" 🧭 Move-ADObject Move AD object (user, group, OU, etc) Move-ADObject -Identity "CN=John Smith,OU=Users,DC=domain,DC=com" -TargetPath "OU=HR,DC=domain,DC=com" 🏢 Get-ADComputer Get computer accounts Get-ADComputer -Filter * 🏗️ New-ADComputer Create computer object New-ADComputer -Name "COMP01" -Path "OU=Computers,DC=domain,DC=com" 🛑 Remove-ADComputer Delete a computer account Remove-ADComputer -Identity "COMP01" 🔍 Get-ADReplicationFailure Check for replication failures Get-ADReplicationFailure -Scope Site -Target "Default-First-Site-Name" 🔍 Get-ADDomainControllerPasswordReplicationPolicy Get password replication policy for DC Get-ADDomainControllerPasswordReplicationPolicy -Identity "DC01" 📅 Get-ADUserPasswordExpirationDate Get password expiration date for users Get-ADUser -Identity jsmith -Properties "msDS-UserPasswordExpiryTimeComputed" Select-Object Name,@{Name="PasswordExpiry"; ⇢⇢ ⇢⇢ Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} 🔐 Get-ADServiceAccount Get managed service accounts Get-ADServiceAccount -Filter * --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------