SlideShare ist ein Scribd-Unternehmen logo
Windows Powershell

                                        Kurze Einführung in
                                        Windows Powershell



Software: Planen. Entwickeln. Testen.
Was ist Windows Powershell?

Eine von Microsoft entwickelte Alternative
zum Kommandozeilenprogramm «cmd» und
Windows Host Script

Sehr mächtig (powerful)




Software: Planen. Entwickeln. Testen.
                                        2
Eigenschaften
• Ist Objekt basierend (nicht Text basierend)
• Basiert auf .net
• Hat vollen Zugriff auf .net Framework
• Ab Windows 7 vorinstalliert
• Kommt mit «Entwicklungsumgebung» inkl.
  Debugger.
• Ist «Sicherheitsbewusst» (Skripte lassen sich
  nicht ohne weiteres ausführen, Skripts
  müssen signiert sein, etc.)

Software: Planen. Entwickeln. Testen.
                                                        3
Eigenschaften
• Cmdlets («Command-lets» ) als kleinste
  Funktionseinheit
• Benennungsschema: Verb-Substantiv
         – Get-help
         – Get-process
• Case insensitiv
• Hat viele Alias
         – «dir» für «get-childItem»
         – «cd» für «set-location»
• Alias können selber erzeugt werden
• Variable beginnen mit «$»

Software: Planen. Entwickeln. Testen.
                                                        4
«Piping»

• «Piping» («|») ist wichtig
        Get-process | sort-object –property id | more


• “$_”: Als Platzhalter für das aktuelle Objekt.
  Offizielle Definition für “$_.” das aktuelle
  Piplineobjekt
        Get-Service | where {$_.status -eq "Running" }




Software: Planen. Entwickeln. Testen.
                                                         5
Definierte Variable
     Variable Name         Description
                           The current pipeline object; used in script blocks, filters, the process clause of functions, where-object, foreach-object and
     $_                    switch
     $^                    contains the first token of the last line input into the shell
     $$                    contains the last token of last line input into the shell
     $?                    Contains the success/fail status of the last statement
     $Args                 Used in creating functions that require parameters
     $Env:Path             Environmental Path to files.
     $Error                If an error occurred, the object is saved in the $error PowerShell variable
     $foreach              Refers to the enumerator in a foreach loop.
     $HOME                 The user's home directory; set to %HOMEDRIVE%%HOMEPATH%
     $Input                Input piped to a function or code block
     $Match                A hash table consisting of items found by the -match operator.
     $MyInvocation         Information about the currently script or command-line
     $Host                 Information about the currently executing host
     $LastExitCode         The exit code of the last native application to run
     $true                 Boolean TRUE
     $false                Boolean FALSE
     $null                 A null object
     $OFS                  Output Field Separator, used when converting an array to a string. By default, this is set to the space character
                           The identifier for the shell. This value is used by the shell to determine the ExecutionPolicy and what profiles are run at
     $ShellID              startup.
     $StackTrace           contains detailed stack trace information about the last error


Software: Planen. Entwickeln. Testen.
                                                                                                                            6
Get-Help

•      Get-help
•      Get-help set-location
•      Get-help set-location –full
•      Get-help set-location –example




Software: Planen. Entwickeln. Testen.
                                                   7
Get-Command

• Get-command
• Get-command | more
•      Get-command | where-object {$_.CommandType -eq «Alias»}
       (get-alias macht dasselbe)




Software: Planen. Entwickeln. Testen.
                                                             8
Weitere Befehle

• Variable Zuweisung: $a = get-command
• Get-member (get-command | get-member)
• Get-random




Software: Planen. Entwickeln. Testen.
                                                          9
Aufpassen

• Set-ExecutePolicy remoteSigned
• Programm Start wenn es Leerzeichen im
  Pfad hat: «&» voranstellen
                &«Pfad mit BlankProg.exe»
• Es braucht immer einen Pfadnamen:
                Myprogram inputfile.txt 
                Myprogram .inputfile.txt 
• Vergleiche: eq, ne, gt, etc. (NICHT =!, >=,
  etc)

Software: Planen. Entwickeln. Testen.
                                                    10
Kleine Anwendung

• 100 Zufallszahlen zwischen 0 und 50
  erzeugen:
                         for ($i=0; $i –le 99; $i++){get-random –maximum 50}

• In Variable schreiben
                         $a = for ($i=0; $i –le 99; $i++){get-random –maximum 50}

• Ausgabe auf Datei:
                         $a | Out-file –filepath «c:workrandom.txt»




Software: Planen. Entwickeln. Testen.
                                                                        11
Powershell IDE

•      Script erzeugen
•      Script debuggen (break points etc)
•      Befehle manuell eingeben
•      Powershell Fenster starten




Software: Planen. Entwickeln. Testen.
                                                         12
«dot Source» a Script

Statt Scriptaufruf
        «c:pfadscript.ps1»
Diesen Aufruf:
        «. c:pfadscript.ps1» (Beachte Punkt und Blank)
 Die Variablen, die innerhalb des Scirpts
definiert sind, stehen nach Ablauf des
Scripts zur Verfügung. (sie sind global
geworden)

Software: Planen. Entwickeln. Testen.
                                                      13
Webseiten
•      http://de.wikipedia.org/wiki/Windows_PowerShell
•      http://technet.microsoft.com/en-us/scriptcenter/dd742419
•      http://technet.microsoft.com/en-us/library/ee177003.aspx
•      http://www.computerperformance.co.uk/powershell/index.htm

•      Quick Referenz:
         –     http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7097


•      http://www.powershellpro.com/




Software: Planen. Entwickeln. Testen.
                                                                                   14

Weitere ähnliche Inhalte

PPTX
Creasoft - Software QS Review
PDF
Creasoft c-Day 2011 - Exploratives Testen
PPTX
Creasoft - Software QS
PPTX
Creasoft Akademie - Windows 8 aus Entwicklersicht
PDF
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen Projekten
PDF
Der Agile Qualitätsbaukasten - PHP Unconference 2014
PDF
JavaScript und trotzdem Softwerker
PPTX
Creasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft - Software QS Review
Creasoft c-Day 2011 - Exploratives Testen
Creasoft - Software QS
Creasoft Akademie - Windows 8 aus Entwicklersicht
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen Projekten
Der Agile Qualitätsbaukasten - PHP Unconference 2014
JavaScript und trotzdem Softwerker
Creasoft Akademie - Deep Dive into ASP.NET MVC

Was ist angesagt? (13)

PPT
Whitebox testing-phpughh
PPT
Agiles Testen
PDF
Testen mit, durch und in Scrum
PDF
Continous Deployment - Schneller entwickeln
PDF
Hightway to Hell - Responsive Webdesign Testen
PDF
Software-Tests in PHP-Anwendungen
PPT
Kontinuierliche Integration
PDF
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
PDF
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
PPT
objectiF extrem
PDF
Webanwendungen testen
PPT
2005 - NRW Conf: Design, Entwicklung und Tests
Whitebox testing-phpughh
Agiles Testen
Testen mit, durch und in Scrum
Continous Deployment - Schneller entwickeln
Hightway to Hell - Responsive Webdesign Testen
Software-Tests in PHP-Anwendungen
Kontinuierliche Integration
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
objectiF extrem
Webanwendungen testen
2005 - NRW Conf: Design, Entwicklung und Tests
Anzeige

Creasoft - Windows powershell

  • 1. Windows Powershell Kurze Einführung in Windows Powershell Software: Planen. Entwickeln. Testen.
  • 2. Was ist Windows Powershell? Eine von Microsoft entwickelte Alternative zum Kommandozeilenprogramm «cmd» und Windows Host Script Sehr mächtig (powerful) Software: Planen. Entwickeln. Testen. 2
  • 3. Eigenschaften • Ist Objekt basierend (nicht Text basierend) • Basiert auf .net • Hat vollen Zugriff auf .net Framework • Ab Windows 7 vorinstalliert • Kommt mit «Entwicklungsumgebung» inkl. Debugger. • Ist «Sicherheitsbewusst» (Skripte lassen sich nicht ohne weiteres ausführen, Skripts müssen signiert sein, etc.) Software: Planen. Entwickeln. Testen. 3
  • 4. Eigenschaften • Cmdlets («Command-lets» ) als kleinste Funktionseinheit • Benennungsschema: Verb-Substantiv – Get-help – Get-process • Case insensitiv • Hat viele Alias – «dir» für «get-childItem» – «cd» für «set-location» • Alias können selber erzeugt werden • Variable beginnen mit «$» Software: Planen. Entwickeln. Testen. 4
  • 5. «Piping» • «Piping» («|») ist wichtig Get-process | sort-object –property id | more • “$_”: Als Platzhalter für das aktuelle Objekt. Offizielle Definition für “$_.” das aktuelle Piplineobjekt Get-Service | where {$_.status -eq "Running" } Software: Planen. Entwickeln. Testen. 5
  • 6. Definierte Variable Variable Name Description The current pipeline object; used in script blocks, filters, the process clause of functions, where-object, foreach-object and $_ switch $^ contains the first token of the last line input into the shell $$ contains the last token of last line input into the shell $? Contains the success/fail status of the last statement $Args Used in creating functions that require parameters $Env:Path Environmental Path to files. $Error If an error occurred, the object is saved in the $error PowerShell variable $foreach Refers to the enumerator in a foreach loop. $HOME The user's home directory; set to %HOMEDRIVE%%HOMEPATH% $Input Input piped to a function or code block $Match A hash table consisting of items found by the -match operator. $MyInvocation Information about the currently script or command-line $Host Information about the currently executing host $LastExitCode The exit code of the last native application to run $true Boolean TRUE $false Boolean FALSE $null A null object $OFS Output Field Separator, used when converting an array to a string. By default, this is set to the space character The identifier for the shell. This value is used by the shell to determine the ExecutionPolicy and what profiles are run at $ShellID startup. $StackTrace contains detailed stack trace information about the last error Software: Planen. Entwickeln. Testen. 6
  • 7. Get-Help • Get-help • Get-help set-location • Get-help set-location –full • Get-help set-location –example Software: Planen. Entwickeln. Testen. 7
  • 8. Get-Command • Get-command • Get-command | more • Get-command | where-object {$_.CommandType -eq «Alias»} (get-alias macht dasselbe) Software: Planen. Entwickeln. Testen. 8
  • 9. Weitere Befehle • Variable Zuweisung: $a = get-command • Get-member (get-command | get-member) • Get-random Software: Planen. Entwickeln. Testen. 9
  • 10. Aufpassen • Set-ExecutePolicy remoteSigned • Programm Start wenn es Leerzeichen im Pfad hat: «&» voranstellen &«Pfad mit BlankProg.exe» • Es braucht immer einen Pfadnamen: Myprogram inputfile.txt  Myprogram .inputfile.txt  • Vergleiche: eq, ne, gt, etc. (NICHT =!, >=, etc) Software: Planen. Entwickeln. Testen. 10
  • 11. Kleine Anwendung • 100 Zufallszahlen zwischen 0 und 50 erzeugen: for ($i=0; $i –le 99; $i++){get-random –maximum 50} • In Variable schreiben $a = for ($i=0; $i –le 99; $i++){get-random –maximum 50} • Ausgabe auf Datei: $a | Out-file –filepath «c:workrandom.txt» Software: Planen. Entwickeln. Testen. 11
  • 12. Powershell IDE • Script erzeugen • Script debuggen (break points etc) • Befehle manuell eingeben • Powershell Fenster starten Software: Planen. Entwickeln. Testen. 12
  • 13. «dot Source» a Script Statt Scriptaufruf «c:pfadscript.ps1» Diesen Aufruf: «. c:pfadscript.ps1» (Beachte Punkt und Blank)  Die Variablen, die innerhalb des Scirpts definiert sind, stehen nach Ablauf des Scripts zur Verfügung. (sie sind global geworden) Software: Planen. Entwickeln. Testen. 13
  • 14. Webseiten • http://de.wikipedia.org/wiki/Windows_PowerShell • http://technet.microsoft.com/en-us/scriptcenter/dd742419 • http://technet.microsoft.com/en-us/library/ee177003.aspx • http://www.computerperformance.co.uk/powershell/index.htm • Quick Referenz: – http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7097 • http://www.powershellpro.com/ Software: Planen. Entwickeln. Testen. 14