Presentation is loading. Please wait.

Presentation is loading. Please wait.

CN1266 Network Scripting V1.2 Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+

Similar presentations


Presentation on theme: "CN1266 Network Scripting V1.2 Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+"— Presentation transcript:

1 CN1266 Network Scripting V1.2 Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+

2 Agenda Chapter 4: Shelling Out Commands and Scripts Chapter 5: When Dollars Turn into Variables Chapter 6: A Bit of Logic to Save the Day Flowchart and Pseudo code Chapter 26: The Ten Most Important Cmdlets (1,7) Chapter 27: Ten Common PowerShell Mistakes (5,6,7)

3 CMDLets To see the list of the commands Get-Command Get-Command | More Pipe (|) is used to pass the output of any command to another. See Chapter 7

4 CMDLets (Cont.) Get-Help Get-Help Get-Alias Get-Help Get-Alias –detailed More information Get-Help Get-Alias -full More technical information Try Get-help get-service

5 CMDLets (Cont.) Try these: Get-service –name eventlog, spooler Get-service eventlog, spooler

6 One shell to rule them all Command Shell – dir, md, rd Windows script host VBScript (.vbs) or JavaScript (.js) Use CScript.exe or WScript.exe

7 Variables What is variable? Can contain character(s), symbol(s), and special character(s) $MyVar $A6 ${Var with Space} ${V@r} Camel case notation - $ThisIsAnExample Get-Help Set-Variable

8 Data Types Kinds of values Variants – can take on any data type Primitive values – basic data types such as Boolean Char Date Integer See more on Page 63

9 Working with data types Try these code: $a = 2 $b = 3 $c =$a+$b Write-output $c Try put “2” in stead of 2 $a = “2” $b=“3”

10 Working with data types (2) By adding double quotation mark, it explicitly defines the variable as string or text Plus sign becomes to concatenate the string instead of addition

11 Why should we explicitly define Unexpected values To reduce the chance of type mismatch Clarity Improved performance PSH knows right away without checking the type

12 Why should we explicitly define (2) Try this: [int]$IntOnly = 100 $Sum = 2 + $IntOnly Write-output $sum $IntOnly = “PowerShell Rules!” Write-output $IntOnly +” Yes, it does” $IntOnly.GetType().Name

13 Why should we explicitly define (3) Table 5-1 on Page 67 shows the shortcut of data type for explicitly defined variable Casting – a process or way to convert data type

14 Why should we explicitly define (4) Try these: $MyString = “ Windows PowerShell “ $MyDouble = 2.0 $OutString = $MyString + $MyDouble Write-output $OutString Try these: $OutString = $MyDouble + $MyString

15 Why should we explicitly define (5) Try these: $OutString = [string]$MyDouble + $MyString OR $OutString = ($MyDouble –as [string]) + $MyString

16 Constant and Read-Only Var. You have to use Set-Variable [-Option {None | ReadOnly | Constant | Private | AllScope}] Remove-Variable Try: Set-Variable PI 3.141 –option constant Set-Variable School “Remington” –option Readonly Write-output “Pi’s value is ” + $PI + “ This code is run at “ + $School

17 Automatic Variables What is automatic variables? Pre-assigned by PSH See Table 5-2 on Page 72 - 73

18 Working with Objects Properties? Method? Try code on Page 75 and 76

19 Star Trek Quiz Game See Handout Challenge: Modify the StarTrek Quiz so that it displays the correct answer for any question that the player misses

20 A Logic Primer Automatic variables : $true, $false And Or Exclusive (XOR) Not Try code on page 79

21 Order of Precedence ( ) Negate (Not) And Or XOR

22 Logical Operator See table 6-5 on Page 79 - 80 Try the code on page80

23 IF / Else Remember the flow chart? $Name = “Kemtis” If ($name –eq “Kemtis”){ Write-host “Hello Kemtis!” } else { Write-host “Hello sir” } OR If ($name –eq “Kemtis”){Write-host “Hello Kemtis!” }

24 IF / ElseIf/Else If/Elseif/Else $grade = 60 If ($grade –ge 90){ Write-host “A” }Else{ If ($grade –ge 80) { Write-host “B”} Else{If ($grade -lt 80){Write-host “F”} }}

25 IF / ElseIf/Else (3) If/Elseif/Else #Grade V2.0 $grade = 60 If ($grade –ge 90){ Write-host “A” }ElseIf ($grade –ge 80) { Write-host “B” }ElseIf ($grade -lt 80){Write-host “F”}

26 Switch Statement $size = “M” Switch($size){ “S” {Write-host “Small”} “M” {Write-host “Medium”} “L” {Write-host “Large”} default {Write-host “Unknown”} }

27 Looping For loop ForEach loop While loop Do While loop Do Until loop Infinite loop

28 For Loop For ($i =1; $i –le 5; $i++) { Write-Host $i }

29 ForEach Loop Foreach ($i in Get-Alias) { Write-Host $i.name }

30 While Loop $objRandom = New-Object Random $val = $objRandom.Next(1,10) While ($val –ne 7){ Write-host (“You got a “ + $val + “…”) $val = $objRandom.Next(1,10) } Write-host “Congrat! You got a 7”

31 Do While Loop $objRandom = New-Object Random do { $val = $objRandom.Next(1,10) Write-host (“You got a “ + $val + “…”) } While ($val –ne 7) Write-host “Congrat! You got a 7”

32 Do Until Loop $objRandom = New-Object Random do { $val = $objRandom.Next(1,10) Write-host (“You got a “ + $val + “…”) } Until ($val –eq 7) Write-host “Congrat! You got a 7”

33 Infinite Loop $objRandom = New-Object Random $val = $objRandom.Next(1,10) While ($val –ne 10){ Write-host (“You got a “ + $val + “…”) $val = $objRandom.Next(1,10) } Write-host “Congrat! You got a 11”

34 Guess My Number Game See handout Homework: Make the game more intuitive by adding additional instructions and guidance. (IE. You are getting very close) Modify the game to allow the player to quit at any time, instead of just at the end of the current round of play.


Download ppt "CN1266 Network Scripting V1.2 Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+"

Similar presentations


Ads by Google