SlideShare a Scribd company logo
WELCOME TO THE POWERSHELL
DEVELOPMENT WORKSHOP
SESSION 2
Bryan Cafferky
Business Intelligence Consultant
BPC Global Solutions LLC
bryan256@msn.com
www.sql-fy.com
http://www.meetup.com/The-RI-Microsoft-BIUG/
WORKSHOP FORMAT
PowerShell Development Workshop 2
• Series of presentations and exercises that build on each other.
• Start at the very basics and work up.
• Webinar for all sessions.
• GoTo Meeting Messages to ask questions.
GOALS OF THIS LESSON
PowerShell Development Workshop 3
• Discuss cmdlets, pronounced command-lets.
• Introduce some useful cmdlets.
• Introduce PowerShell variables.
• Discuss Aliases.
• Discuss PowerShell Providers.
• Learn about PowerShell Drives.
WORKSHOP LESSON 2: CMDLET REVIEW
PowerShell Development Workshop 4
Is a single-feature command that manipulates objects in
Windows PowerShell.
You can recognize cmdlets by their name format -- a verb
and noun separated by a dash (-), such as Get-Help, Get-
Process, and Start-Service
Are designed to be used in combination with other cmdlets
"get" cmdlets only retrieve data,
"set" cmdlets only establish or change data,
"format" cmdlets only format data,
"out" cmdlets only direct the output to a specified destination..
Each cmdlet has a help file that you can access by typing:
get-help <cmdlet-name> -detailed
Example: get-help write-host
WORKSHOP LESSON 2: CMDLET REVIEW:
PARAMETERS
PowerShell Development Workshop 5
Write-Host -Object "Good day!" -ForegroundColor DarkGreen -BackgroundColor Yellow
Values passed to a cmdlet to control what it does.
Parameter Name
Parameter Values
WORKSHOP LESSON 2: CMDLET REVIEW:
PARAMETERS - EXAMPLE
PowerShell Development Workshop 6
Passing Parameters by Position
Write-Host "Good day!“
Write-Host [-Object] [-NoNewline] [-Separator] [-ForegroundColor] [BackgroundColor]
[<CommonParameters>]
Passing Parameters by Name
Write-Host -Object "Good day!"
Parameter Name
No Parameter Name
WORKSHOP LESSON 2: CMDLET REVIEW:
COMMON PARAMETERS
PowerShell Development Workshop 7
Parameters that are supported by all cmdlets.
-Debug (db)
-ErrorAction (ea)
-ErrorVariable (ev)
-OutVariable (ov)
-OutBuffer (ob)
-PipelineVariable (pv)
-Verbose (vb)
-WarningAction (wa)
-WarningVariable (wv)
* Aliases are in parentheses.
WORKSHOP LESSON 2: CMDLET REVIEW
USEFUL CMDLETS
PowerShell Development Workshop 8
Get-Help Get Help on a cmdlet.
Read-Host Get user input.
Write-Host Write to the console.
Get-Member Display methods and properties of an object.
Set-Location Set the current location for a provider.
Get-ChildItem List the items within a collection.
Export-Csv Write out a CSV file.
Import-CSV Load a CSV file.
Invoke-Item Loads the file using the application associated with the file's extension.
Examples: scr_useful_cmdlets
WORKSHOP LESSON 2: VARIABLES
PowerShell Development Workshop 9
• Types of Variables
• Creating and Using Variables
WORKSHOP LESSON 2: VARIABLES
PowerShell Development Workshop 10
User Created – These variables are created in the shell and in scripts and only
persist for the session. We can create variables in scripts with global, script, or
local scope.
Automatic – These variables keep the state of the PowerShell session and can
not be modified directly. The values of this variables change as we execute and
use the PowerShell session.
Preference – These variables store user preferences for PowerShell. These
variables are created by PowerShell when a session is started and are populated
with default values. We can change the values of these variables.
Environment – These variables are the variables set by the system for Command
and PowerShell environments.
WORKSHOP LESSON 2:
USER CREATED VARIABLES
PowerShell Development Workshop 11
User Created – These variables are created in the shell and in scripts and only
persist for the session. We can create variables in scripts with global, script, or
local scope.
Examples:
$name = “Bryan” # Declares and assigns a value to an untyped variable.
[int]$amount = 200 # Declares an integer type variable and assigns a value.
WORKSHOP LESSON 2:
USER CREATED VARIABLES
PowerShell Development Workshop 12
[string] Fixed-length string of Unicode characters
[char] A Unicode 16-bit character
[byte] An 8-bit unsigned character
[int] 32-bit signed integer
[long] 64-bit signed integer
[bool] Boolean True/False value
[decimal] A 128-bit decimal value
[single] Single-precision 32-bit floating point number
[double] Double-precision 64-bit floating point number
[DateTime] Date and Time
[xml] Xml object
[array] An array of values
[hashtable] Hashtable object
[object] Default type when no type specified.
Taken from http://ss64.com/ps/syntax-datatypes.html
• Blue indicates most
frequently used types.
Examples: scr_variables and scr_declare_variables
WORKSHOP LESSON 2: CREATING VARIABLES
PowerShell Development Workshop 13
• Create untyped and assign a value in one statement.
$var1 = “some value”
• Create typed variable and assign value.
[string]$var1 = “some value”
• Create variable with cmdlet. Gives you greater control over properties.
New-Variable -Name var1 -Value "some value" -Scope private
• Assign value with cmdlet.
Set-Variable –Name var1 –Value “some value”
• Remove a variable with cmdlet.
Remove-Variable –Name var1
WORKSHOP LESSON 2: ALIASES
PowerShell Development Workshop 14
• An alternate name for a cmdlet, function, or program.
• Used to create shortcuts and easier to remember names for commands.
• PowerShell has a number of predefined aliases.
• Some emulate DOS or Linux commands.
• We can create and maintain our own aliases with the following cmdlets.
• New-Alias – creates a new alias.
• Set-Alias – changes or creates a new alias.
• Get-Alias – gets information about aliases.
• Export-Alias – Saves aliases to csv file.
• Import-Alias – Loads aliases from a csv file. Example: scr_alias.ps1
WORKSHOP LESSON 2: PROVIDERS
PowerShell Development Workshop 15
• Allow us to interact with a resource as if it were a physical network drive.
• Built-in providers include:
• Alias
• Variables
• Registry
• FileSystem
• Function
• Certificate
• WSMan
• To see a list of installed providers use the Get-PSProvider cmdlet.
Example: scr_provider_demo.ps1
WORKSHOP LESSON 2: POWERSHELL DRIVES
PowerShell Development Workshop 16
• Simulates a network drive mapping but can be to any PowerShell provider.
• Is not limited to drive letters. Can be any name you want.
• Do not persist beyond the PowerShell session unless you use the –Persist parameter.
• Related cmdlets:
• New-PSDrive
• Get-PSDrive
• Remove-PSDrive
Example: scr_psdrives.ps1
REVIEW
PowerShell Development Workshop 17
• What cmdlets are.
• Parameters and some useful cmdlets
• Creating and using PowerShell variables.
• What Aliases are and how to use them.
• What PowerShell Providers are.
• What PowerShell Drives are and how to use them.
QUESTIONS?
PowerShell Development Workshop 18

More Related Content

PPTX
Professional Help for PowerShell Modules
PPTX
PowerShell-1
PPTX
Introduction to Powershell Version 5
PPTX
Powershell alias
PPTX
Introduction To Windows Power Shell
PPTX
Powershell Demo Presentation
PDF
Introduction to PowerShell
Professional Help for PowerShell Modules
PowerShell-1
Introduction to Powershell Version 5
Powershell alias
Introduction To Windows Power Shell
Powershell Demo Presentation
Introduction to PowerShell

What's hot (20)

PDF
Effective CMake
PDF
Introducing DeploYii 0.5
PDF
CMake Tutorial
PDF
CMake - Introduction and best practices
PPTX
PowerShell - Be A Cool Blue Kid
PPTX
short_intro_to_CMake_(inria_REVES_team)
PPTX
G rpc lection1
ODP
PDF
Mastering power shell - Windows
PDF
Puppet DSL gotchas, and understandiing Roles & Profiles pattern
PPTX
SHELL PROGRAMMING
PDF
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
PPTX
Sql killedserver
PPTX
Power shell training
PPTX
Shell scripting
PDF
119764860 dx-auth
PDF
Complete Guide for Linux shell programming
PPT
Shell programming
PPTX
Windows PowerShell
PDF
Unix shell scripting tutorial
Effective CMake
Introducing DeploYii 0.5
CMake Tutorial
CMake - Introduction and best practices
PowerShell - Be A Cool Blue Kid
short_intro_to_CMake_(inria_REVES_team)
G rpc lection1
Mastering power shell - Windows
Puppet DSL gotchas, and understandiing Roles & Profiles pattern
SHELL PROGRAMMING
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Sql killedserver
Power shell training
Shell scripting
119764860 dx-auth
Complete Guide for Linux shell programming
Shell programming
Windows PowerShell
Unix shell scripting tutorial
Ad

Similar to PowerShell Workshop Series: Session 2 (20)

PPTX
PowerShell 101
PPTX
Getting Started With PowerShell Scripting
PPTX
Holy PowerShell, BATman! - dogfood edition
PPT
PowerShell Core Skills (TechMentor Fall 2011)
PPTX
PowerShellForDBDevelopers
PPTX
ITPROceed 2016 - The Art of PowerShell Toolmaking
PPTX
PowerShell 101
PPT
No-script PowerShell v2
PPTX
Taking Advantage of Microsoft PowerShell
PPTX
PowerShell for Penetration Testers
PPTX
Introduction to powershell
PPT
NIIT ISAS Q5 Report - Windows PowerShell
PDF
PowerShell_LangRef_v3 (1).pdf
PPTX
Everything you need to know about PowerShell
PDF
Powershell notes
PPTX
SVCC 5 introduction to powershell
PDF
Sql Server & PowerShell
PPTX
Introduction-to-PowerShell-azure-Syntax.pptx
PPT
Powershell Seminar @ ITWorx CuttingEdge Club
PPT
Introduction to PowerShell
PowerShell 101
Getting Started With PowerShell Scripting
Holy PowerShell, BATman! - dogfood edition
PowerShell Core Skills (TechMentor Fall 2011)
PowerShellForDBDevelopers
ITPROceed 2016 - The Art of PowerShell Toolmaking
PowerShell 101
No-script PowerShell v2
Taking Advantage of Microsoft PowerShell
PowerShell for Penetration Testers
Introduction to powershell
NIIT ISAS Q5 Report - Windows PowerShell
PowerShell_LangRef_v3 (1).pdf
Everything you need to know about PowerShell
Powershell notes
SVCC 5 introduction to powershell
Sql Server & PowerShell
Introduction-to-PowerShell-azure-Syntax.pptx
Powershell Seminar @ ITWorx CuttingEdge Club
Introduction to PowerShell
Ad

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Empathic Computing: Creating Shared Understanding
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Big Data Technologies - Introduction.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
20250228 LYD VKU AI Blended-Learning.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Network Security Unit 5.pdf for BCA BBA.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Unlocking AI with Model Context Protocol (MCP)
Big Data Technologies - Introduction.pptx
Building Integrated photovoltaic BIPV_UPV.pdf

PowerShell Workshop Series: Session 2

  • 1. WELCOME TO THE POWERSHELL DEVELOPMENT WORKSHOP SESSION 2 Bryan Cafferky Business Intelligence Consultant BPC Global Solutions LLC bryan256@msn.com www.sql-fy.com http://www.meetup.com/The-RI-Microsoft-BIUG/
  • 2. WORKSHOP FORMAT PowerShell Development Workshop 2 • Series of presentations and exercises that build on each other. • Start at the very basics and work up. • Webinar for all sessions. • GoTo Meeting Messages to ask questions.
  • 3. GOALS OF THIS LESSON PowerShell Development Workshop 3 • Discuss cmdlets, pronounced command-lets. • Introduce some useful cmdlets. • Introduce PowerShell variables. • Discuss Aliases. • Discuss PowerShell Providers. • Learn about PowerShell Drives.
  • 4. WORKSHOP LESSON 2: CMDLET REVIEW PowerShell Development Workshop 4 Is a single-feature command that manipulates objects in Windows PowerShell. You can recognize cmdlets by their name format -- a verb and noun separated by a dash (-), such as Get-Help, Get- Process, and Start-Service Are designed to be used in combination with other cmdlets "get" cmdlets only retrieve data, "set" cmdlets only establish or change data, "format" cmdlets only format data, "out" cmdlets only direct the output to a specified destination.. Each cmdlet has a help file that you can access by typing: get-help <cmdlet-name> -detailed Example: get-help write-host
  • 5. WORKSHOP LESSON 2: CMDLET REVIEW: PARAMETERS PowerShell Development Workshop 5 Write-Host -Object "Good day!" -ForegroundColor DarkGreen -BackgroundColor Yellow Values passed to a cmdlet to control what it does. Parameter Name Parameter Values
  • 6. WORKSHOP LESSON 2: CMDLET REVIEW: PARAMETERS - EXAMPLE PowerShell Development Workshop 6 Passing Parameters by Position Write-Host "Good day!“ Write-Host [-Object] [-NoNewline] [-Separator] [-ForegroundColor] [BackgroundColor] [<CommonParameters>] Passing Parameters by Name Write-Host -Object "Good day!" Parameter Name No Parameter Name
  • 7. WORKSHOP LESSON 2: CMDLET REVIEW: COMMON PARAMETERS PowerShell Development Workshop 7 Parameters that are supported by all cmdlets. -Debug (db) -ErrorAction (ea) -ErrorVariable (ev) -OutVariable (ov) -OutBuffer (ob) -PipelineVariable (pv) -Verbose (vb) -WarningAction (wa) -WarningVariable (wv) * Aliases are in parentheses.
  • 8. WORKSHOP LESSON 2: CMDLET REVIEW USEFUL CMDLETS PowerShell Development Workshop 8 Get-Help Get Help on a cmdlet. Read-Host Get user input. Write-Host Write to the console. Get-Member Display methods and properties of an object. Set-Location Set the current location for a provider. Get-ChildItem List the items within a collection. Export-Csv Write out a CSV file. Import-CSV Load a CSV file. Invoke-Item Loads the file using the application associated with the file's extension. Examples: scr_useful_cmdlets
  • 9. WORKSHOP LESSON 2: VARIABLES PowerShell Development Workshop 9 • Types of Variables • Creating and Using Variables
  • 10. WORKSHOP LESSON 2: VARIABLES PowerShell Development Workshop 10 User Created – These variables are created in the shell and in scripts and only persist for the session. We can create variables in scripts with global, script, or local scope. Automatic – These variables keep the state of the PowerShell session and can not be modified directly. The values of this variables change as we execute and use the PowerShell session. Preference – These variables store user preferences for PowerShell. These variables are created by PowerShell when a session is started and are populated with default values. We can change the values of these variables. Environment – These variables are the variables set by the system for Command and PowerShell environments.
  • 11. WORKSHOP LESSON 2: USER CREATED VARIABLES PowerShell Development Workshop 11 User Created – These variables are created in the shell and in scripts and only persist for the session. We can create variables in scripts with global, script, or local scope. Examples: $name = “Bryan” # Declares and assigns a value to an untyped variable. [int]$amount = 200 # Declares an integer type variable and assigns a value.
  • 12. WORKSHOP LESSON 2: USER CREATED VARIABLES PowerShell Development Workshop 12 [string] Fixed-length string of Unicode characters [char] A Unicode 16-bit character [byte] An 8-bit unsigned character [int] 32-bit signed integer [long] 64-bit signed integer [bool] Boolean True/False value [decimal] A 128-bit decimal value [single] Single-precision 32-bit floating point number [double] Double-precision 64-bit floating point number [DateTime] Date and Time [xml] Xml object [array] An array of values [hashtable] Hashtable object [object] Default type when no type specified. Taken from http://ss64.com/ps/syntax-datatypes.html • Blue indicates most frequently used types. Examples: scr_variables and scr_declare_variables
  • 13. WORKSHOP LESSON 2: CREATING VARIABLES PowerShell Development Workshop 13 • Create untyped and assign a value in one statement. $var1 = “some value” • Create typed variable and assign value. [string]$var1 = “some value” • Create variable with cmdlet. Gives you greater control over properties. New-Variable -Name var1 -Value "some value" -Scope private • Assign value with cmdlet. Set-Variable –Name var1 –Value “some value” • Remove a variable with cmdlet. Remove-Variable –Name var1
  • 14. WORKSHOP LESSON 2: ALIASES PowerShell Development Workshop 14 • An alternate name for a cmdlet, function, or program. • Used to create shortcuts and easier to remember names for commands. • PowerShell has a number of predefined aliases. • Some emulate DOS or Linux commands. • We can create and maintain our own aliases with the following cmdlets. • New-Alias – creates a new alias. • Set-Alias – changes or creates a new alias. • Get-Alias – gets information about aliases. • Export-Alias – Saves aliases to csv file. • Import-Alias – Loads aliases from a csv file. Example: scr_alias.ps1
  • 15. WORKSHOP LESSON 2: PROVIDERS PowerShell Development Workshop 15 • Allow us to interact with a resource as if it were a physical network drive. • Built-in providers include: • Alias • Variables • Registry • FileSystem • Function • Certificate • WSMan • To see a list of installed providers use the Get-PSProvider cmdlet. Example: scr_provider_demo.ps1
  • 16. WORKSHOP LESSON 2: POWERSHELL DRIVES PowerShell Development Workshop 16 • Simulates a network drive mapping but can be to any PowerShell provider. • Is not limited to drive letters. Can be any name you want. • Do not persist beyond the PowerShell session unless you use the –Persist parameter. • Related cmdlets: • New-PSDrive • Get-PSDrive • Remove-PSDrive Example: scr_psdrives.ps1
  • 17. REVIEW PowerShell Development Workshop 17 • What cmdlets are. • Parameters and some useful cmdlets • Creating and using PowerShell variables. • What Aliases are and how to use them. • What PowerShell Providers are. • What PowerShell Drives are and how to use them.

Editor's Notes

  • #2: This template can be used as a starter file for presenting training materials in a group setting. Sections Right-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors. Notes Use the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation. Keep in mind the font size (important for accessibility, visibility, videotaping, and online production) Coordinated colors Pay particular attention to the graphs, charts, and text boxes. Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale. Graphics, tables, and graphs Keep it simple: If possible, use consistent, non-distracting styles and colors. Label all graphs and tables.
  • #19: Microsoft Confidential