powershell 3.0
Post on 26-Jun-2015
468 Views
Preview:
DESCRIPTION
TRANSCRIPT
PowerShell 3.0
Was ist neu?
Inhalt der Präsentation
PowerShell Grundlagen
Disconnected Sessions
Module Auto-Loading
Vereinfachte Syntax für Where-Object und ForEach-Object
Workflows
Online-Hilfe
IntelliSense im ISE
Hintergrund Jobs
PowerShell Web Access
Demos
Fragen & Antworten
PowerShell Grundlagen
PowerShell ist eine kommandozeilen-basierte Konsole speziell für die
Administration von Servern und Backoffice-Produkten
PowerShell basiert auf der .NET Infrastruktur und manipuliert .NET
Objekte
Neben den nun 2’300 Cmdlets können Sie komplexe Scripts
entwickeln, die in einer C#-ähnlichen Syntax geschrieben werden
Es steht Ihnen die Entwicklungsumgebung ISE zur Verfügung und
Dritthersteller bieten ebenfalls Entwicklungshilfen an
PowerShell Grundlagen
Im Gegensatz zu anderen Shells manipuliert PowerShell .NET-Objekte
und gibt keine Textresultate, sondern wiederverwendbare Objekte, die
an andere Cmdlets übergeben werden können (piping)
Eine umfangreiche eingebaute Dokumentation kann online aktualisiert
werden
Nach einer Einführung von ca. 30-60 Minuten sind Sie in der Lage
selbstständig Cmdlets zu untersuchen und anzuwenden um so Ihre
Serverlandschaft zu verwalten
PowerShell Grundlagen
Demo
Dauerhafte Sitzungen
Mit PowerShell 3.0 sind so genannte «Persistent Sessions» möglich.
Sie können sich von bestehenden Sessions trennen, ohne dass die
laufenden Kommandos unterbrochen werden.
Sie können sich dann von dem gleichen oder einem anderen Computer
mit der gleichen Sitzung erneut verbinden
Neue Cmdlets stehen für diese speziellen Sitzungen zur Verfügung
Persistent Sessions
Demo
Module Auto-Loading
Mit PowerShell 2.0 wurde das Konzept der Module eingeführt
Hierbei handelt es sich um Erweiterungen, die bei Bedarf geladen
werden können und neue Cmdlets mit sich bringen
Cmdlets aus nicht geladenen Modulen waren nicht sichtbar
Mit PowerShell 3.0 wurde:
Die Anzahl der Module wesentlich erhöht
Cmdlets aus nicht geladenen Modulen stehen zur Verfügung und mit
deren Aufruf werden die entsprechenden Module geladen
Get-Command listet alle Cmdlets aller Module auf
Die Variable $PSModuleAutoLoadPreference steuert dieses
Verhalten
Module Auto-Loading
Demo
Show-Command
Dieses neue Kommando listet alle Cmdlets auf und ermöglicht eine
grafische Interaktivität
Show-Command
Show-Command
Demo
Vereinfachte Syntax
PowerShell 2.0:
Get-Process | Where-Object {$_.handles –gt 1000 }
PowerShell 3.0:
Get-Process | where handles –gt 1000
PowerShell 2.0:
Get-Process | `
Where-Object {$_.handles -gt 1000 -and $_.cpu -gt 90}
PowerShell 3.0:
Get-Process | `
Where-Object {$_.handles -gt 1000 -and $_.cpu -gt 90}
Vergleichsoperatoren können nicht ohne Scriptblock verwendet werden!
Vereinfachte Syntax
PowerShell 2.0:
Get-Process | ForEach-Object {$_.name}
PowerShell 3.0:
Get-Process | foreach name
PowerShell 2.0:
Get-Process | ForEach-Object {$_.kill()}
PowerShell 3.0:
Get-Process | foreach kill
Vereinfachte Syntax
Demo
Workflows
Mit PowerShell 3.0 sind nun Workflows mit der Windows Workflow
Foundation möglich
Workflows können in XAML oder in der PowerShell-Scriptsprache
erstellt werden und werden wie gewöhnliche Cmdlets aufgerufen
Workflows sind sequentielle Multicomputer Aktivitäten, die länger
laufen; sie können wiederholt, parallel laufend, unterbrochen,
angehalten und weitergeführt werden
Workflows sind portabel, sie können im XAML-Format ex- und
importiert werden
Vorteile der Workflows
Automatisierung länger laufender Vorgänge
Entfernte Überwachung länger laufender Vorgänge
Multicomputer-Verwaltung
Eine einzige Task ruft komplexe Vorgänge und Prozesse auf
Ein Workflow kann in einem bestimmten Zustand angehalten und
gespeichert werden und läuft ab diesem Punkt ohne Neustart weiter
Workflows können sich verbinden, trennen und in getrennten Sitzungen
laufen
Workflows können als geplante Task laufen
Workflows als Hintergrundjobs
LongWorkflow –asJob –JobName LongWF
Suspend-Workflow LongWF
Receive-Job LongWF –Keep
Resume-Job LongWF
Und da wäre noch…
Unblock-File
Update-Help
New-PSDrive –Persist
Invoke-WebRequest
Invoke-RestMethod
ConvertFrom-Json
ConvertTo-Json
PowerShell Web Access
PowerShell-Kommandos können nun in einer web-basierenden
Konsole auf Remotecomputer ausgeführt werden
Die Verbindung geschieht über https://
Der Client-Browser muss Java-Script unterstützen und Cookies
akzeptieren
PowerShell Web Access
PowerShell Web Access
Demo
PowerShell ISE
IntelliSense
Snippets
Add-Ons
Restart-Manager & Auto Save
$psise.Options.AutoSaveMinuteInterval)
Konsolenfenster
Zuletzt verwendete Dateien
Kommandozeilenoptionen
Neues Hilfe-Ansichtsfenster
Show-Command
Snippets
Benutzedefinierte Snippets
New-IseSnippet
Get-IseSnippet
Import-IseSnippet
Benutzerdefinierte Snippets
PowerShell ISE
Demo
28
Fragen & Antworten
top related