0% found this document useful (0 votes)
230 views2 pages

Powershell Cheat Sheet: Setting Security Policy

This document provides a cheat sheet on using PowerShell to set security policies, execute scripts, work with variables, arrays, objects, loops, conditional statements, and reading from and writing to files. It outlines how to view and set the PowerShell execution policy, execute scripts, define variables and arrays, create objects, write to the console, capture user input, pass command line arguments, use comments, loops, if/else and switch statements, and read from and write to text, HTML, and CSV files in PowerShell.

Uploaded by

bf10l2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
230 views2 pages

Powershell Cheat Sheet: Setting Security Policy

This document provides a cheat sheet on using PowerShell to set security policies, execute scripts, work with variables, arrays, objects, loops, conditional statements, and reading from and writing to files. It outlines how to view and set the PowerShell execution policy, execute scripts, define variables and arrays, create objects, write to the console, capture user input, pass command line arguments, use comments, loops, if/else and switch statements, and read from and write to text, HTML, and CSV files in PowerShell.

Uploaded by

bf10l2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

PowerShell Cheat Sheet

Setting Security Policy


View and change execution policy with GetExecution and Set-Execution policy
Get-Executionpolicy
Set-Executionpolicy remotesigned

To Execute Script

powershell.exe noexit &c:\myscript.ps1

Functions
Variables

Arrays

Must start with $


$a = 32
Can be typed
[int]$a = 32

To initialise
$a = 1,2,4,8
To query
$b = $a[3]

Parameters separate by space. Return is


optional.
function sum ([int]$a,[int]$b)
{
return $a + $b
}
sum 4 5

Constants
Created without $
Set-Variable name b value 3.142 option constant
Referenced with $
$b

Creating Objects
To create an instance of a com object
New-Object -comobject <ProgID>
$a = New-Object comobject "wscript.network"
$a.username
To create an instance of a .Net Framework object. Parameters can be passed if required
New-Object type <.Net Object>
$d = New-Object -Type System.DateTime 2006,12,25
$d.get_DayOfWeek()

Writing to Console

Capture User Input

Variable Name
$a
or
Write-Host $a foregroundcolor green

Use Read-Host to get user input


$a = Read-Host Enter your name
Write-Host "Hello" $a

Miscellaneous
Passing Command Line Arguments
Passed to script with spaces
myscript.ps1 server1 benp
Accessed in script by $args array
$servername = $args[0]
$username = $args[1]

Line Break `
Get-Process | Select-Object `
name, ID
Comments #
# code here not executed
Merging lines ;
$a=1;$b=3;$c=9
Pipe the output to another command |
Get-Service | Get-Member

Do While Loop

Do Until Loop

Can repeat a set of commands while a condition is met


$a=1
Do {$a; $a++}
While ($a lt 10)
1

Can repeat a set of commands until a condition is met


$a=1
Do {$a; $a++}
Until ($a gt 10)

For Loop

ForEach - Loop Through Collection of Objects

Repeat the same steps a specific number of times


For ($a=1; $a le 10; $a++)
{$a}

Loop through a collection of objects


Foreach ($i in Get-Childitem c:\windows)
{$i.name; $i.creationtime}

If Statement
Run a specific set of code given specific conditions
$a = "white"
if ($a -eq "red")
{"The colour is red"}
elseif ($a -eq "white")
{"The colour is white"}
else
{"Another colour"}

Switch Statement
Another method to run a specific set of code given
specific conditions
$a = "red"
switch ($a)
{
"red" {"The colour is red"}
"white"{"The colour is white"}
default{"Another colour"}
}

Reading From a File

Writing to a Simple File

Use Get-Content to create an array of lines. Then loop


through array
$a = Get-Content "c:\servers.txt"
foreach ($i in $a)
{$i}

Use Out-File or > for a simple text file


$a = "Hello world"
$a | out-file test.txt
Or use > to output script results to file
.\test.ps1 > test.txt

Writing to an Html File


Use ConvertTo-Html and >
$a = Get-Process
$a | Convertto-Html -property Name,Path,Company > test.htm

Writing to a CSV File


Use Export-Csv and Select-Object to filter output
$a = Get-Process
$a| Select-Object Name,Path,Company | Export-Csv -path test.csv

You might also like