100
What’s PowerShell Varun Varghese +91 9986599326 [email protected] 1 cripting Environment cripting Language indows equivalent of UNIX Shell Script (but even more powerful)

PowerShell Slides

Embed Size (px)

Citation preview

Page 1: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 1

What’s PowerShell• Scripting Environment• Scripting Language• Windows equivalent of UNIX Shell Script (but even more powerful)

Page 2: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 2

Interactive Shell

Page 3: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 3

History

Page 4: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 4

Versions

Page 5: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 5

.Net Framework

Page 6: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 6

Installing the latest versionhttps://www.microsoft.com/en-us/download/details.aspx?id=46889

Page 7: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 7

ISE – The PowerShell IDE

Page 8: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 8

Case InsensitiveGet-serviceget-serviceGet-Service

Page 9: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 9

Installing/Accessing PowerShell

Page 10: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 10

Updating the help in PowerShell

Page 11: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 11

Get help in PowerShellGet-Help

Page 12: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 12

Execution Policy

Page 13: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 13

Get & Set CmdletsGet-<Command>Set-<Command>

Page 14: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 14

Comments

Page 15: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 15

Writing to Console

Page 16: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 16

Clear Screen

Page 17: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 17

Aliases

Page 18: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 18

Variables

Page 19: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 19

Data types

Page 20: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 20

Pipelining

.Net objects passed down the pipeline

Page 21: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 21

Listing directory Contents

Page 22: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 22

Recursive listing

Page 23: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 23

ErrorAction SilentlyContinue

Page 24: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 24

Looping using Foreach-Object

Page 25: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 25

Filtering using Where-Object

Page 26: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 26

Sorting using Sort-Object

Page 27: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 27

PowerShell v/s UNIX Shell

Page 28: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 28

Assignment Operators=+=-=*=/=%=++--

Page 29: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 29

Comparison Operators-eq-ne-gt-ge-lt-le-replace-contains-notcontains-in-notin-match-notmatch-like-notlike

-is-isnot-as

Page 30: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 30

Comparison Operators: -eq, -ne

Page 31: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 31

Comparison Operators: -gt, -ge

Page 32: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 32

Comparison Operators: -lt, -le

Page 33: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 33

Comparison Operators: -replace

Page 34: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 34

Comparison Operators: -contains, -notcontains

Page 35: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 35

Comparison Operators: -in, -notin

Page 36: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 36

Comparison Operators: -match, -notmatch

Page 37: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 37

Comparison Operators: -like, -notlike

Page 38: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 38

Comparison Operators: -is, -isnot

Page 39: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 39

Comparison Operators: -as

Page 40: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 40

Logical Operators

Page 41: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 41

Split, Join, foreach

Page 42: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 42

Casting

Page 43: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 43

Redirection Operators

Page 44: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 44

Handling arrays

Page 45: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 45

Dictionary/hash tables

Page 46: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 46

Object Properties

Page 47: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 47

Object Methods

Page 48: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 48

String manipulation

Page 49: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 49

Sorting Objects

Page 50: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 50

PowerShell automatic variables

Page 51: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 51

Searching filesystem using PS

Page 52: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 52

Getting System processes

Page 53: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 53

Getting list of services

Page 55: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 55

Copying files/directories

Page 56: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 56

Reading from file

Page 57: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 57

Writing to file

Page 58: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 58

Appending to a file

Page 59: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 59

Deleting file/directory

Page 60: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 60

Renaming a file/directory

Page 61: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 61

Reading from Excel

Page 62: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 62

Reading from CSV

Page 63: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 63

Writing to CSV

Page 64: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 64

Writing to Excel

Page 65: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 65

Export-CSV

Page 66: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 66

Reading large files

Page 67: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 67

Exporting as CSV

Page 68: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 68

Importing CSV

Page 69: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 69

Appending to file

Page 70: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 70

User defined Functions

http://windowsitpro.com/windows/create-your-own-powershell-functions

Page 71: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 71

Param in functions

Page 72: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 72

Passing parameters to functions

Page 73: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 73

Parameters from Pipeline

Page 74: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 74

Error Handling

Page 75: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 75

Logging Error

Page 77: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 77

Output formattinghttps://technet.microsoft.com/en-us/library/dd347677.aspx

https://technet.microsoft.com/en-us/magazine/2008.06.windowspowershell.aspx

http://www.computerperformance.co.uk/powershell/powershell_format_table.htm

http://www.computerperformance.co.uk/powershell/powershell_-f_format.htm

http://blogs.technet.com/b/heyscriptingguy/archive/2011/02/23/format-powershell-output-with-an-easy-to-use-table.aspx

http://windowsitpro.com/powershell/powershell-basics-formatting

Page 78: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 78

Advanced formatting

Page 79: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 79

Redirecting formatted output

Page 80: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 80

Modules

Page 81: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 81

Navigating the Registry

Page 82: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 82

Regex

Page 83: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 83

Starting a new Job

Page 84: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 84

WMI• Windows Management Interface• Created by Microsoft• Is Microsoft’s implementation of CIM• CIM is the super class for WMI. Eq Win32_DiskDrive is derived from CIM_DiskDrive• Doesn’t work with the routers, switches or other network devices• Doesn’t support discoverabilty

Page 85: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 85

WMIhttp://blogs.technet.com/b/heyscriptingguy/archive/2009/08/05/hey-scripting-guy-can-windows-powershell-call-wmi-methods.aspx

http://www.computerperformance.co.uk/powershell/powershell_wmi.htm

http://www.darkoperator.com/blog/2013/2/6/introduction-to-wmi-basics-with-powershell-part-2-exploring.html

http://www.lazywinadmin.com/2015/03/standard-and-advanced-powershell.html

WMI Administrative Toolshttp://www.microsoft.com/en-us/download/details.aspx?id=24045

Windows COM (Component Object Model)

Page 86: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 86

WMI ExplorerDownload WMI Explorer from https://wmie.codeplex.com/

Page 87: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 87

WQL (WMI Query Language)

Page 88: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 88

CIM• Common Information Model• Set up by DTMF (Desktop Management Task Force)• http://www.dmtf.org/standards/cim• An open model compared to WMI• Common model for managing systems, switches, routers and other n/w

devices• Enables extension of the API by vendors• The goal is to make PowerShell the platform to manage both windows & non-

windows • Faster than WMI

“CIM provides a common definition of management information for systems, networks, applications and services, and allows for vendor extensions. CIM’s common definitions enable vendors to exchange semantically rich management information between systems throughout the network.”

Page 89: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 89

PS Provider• Its an interface• It makes any storage look like a disk drive

• Could be filesystem, registry• Providers are used to create drives

Page 91: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 91

PS DriveA PowerShell Drive is some sort of a storage adapted to look like a disk drive

Page 92: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 92

PS Drive

Page 93: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 93

New-PSDrive

Page 94: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 94

Administration Automation

Page 95: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 95

Connecting to SQL Server

Page 96: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 96

Creating Database, Tables in SQL

Page 97: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 97

Importing data into SQL Server

Page 98: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 98

Connecting to Remote machines

Page 99: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 99

Importing libraries

Page 100: PowerShell Slides

Varun Varghese +91 9986599326 [email protected] 100

OOP in PowerShellhttps://psclass.codeplex.com/