seminar internet technologien mario richter. inhalt motivation entwicklung kern: cmdlets powershell...
Post on 06-Apr-2015
112 Views
Preview:
TRANSCRIPT
Windows PowerShellSeminar Internet Technologien
Mario Richter
InhaltMotivationEntwicklungKern: CmdletsPowerShellErweiterbarkeitBeispielePowerShell Scripting Language (PLS)Ausblick
2Mario Richter: Windows PowerShell
MotivationEntwicklung einer Alternative zur cmd.exe
und Windows Script HostBeherrscht nun wie von Unix-Shells bekannte
Pipes und FilterErmöglicht Ausführung und Verknüpfung
einfacher Befehle an der Konsole sowie Entwicklung komplexer Skript-Programme
mit eigener PowerShell Scripting Language
3Mario Richter: Windows PowerShell
EntwicklungEntwickelt von Microsoft: Codename Monad
und Microsoft Command Shell (MSH)Basiert auf .NET Framework 2.0 (22.01.2006)Aktuelle Version 1.0 (14.11.2006)
Erhältlich für (kostenlos) Windows XP Windows Server 2003 Windows Vista Windows Server 2008
4Mario Richter: Windows PowerShell
CmdletsCmdlets sind kleine Funktionseinheiten
z.B. Copy-Item (Alias: cp, copy), Get-Help (Alias: man, help), Get-Location (Alias: gl, pwd)
Benennungsschema Verb-Substantiv, nicht case-sensitiv, Autovervollständigung
Implementiert als .NET-KlassenVerfügen über Parameter und Objekte als
EingabeUnd geben Objekte wieder zurück
5Mario Richter: Windows PowerShell
CmdletsBeispiel für Eingabe-Parameter, -Objekte
und Rückgabe Objekt
Mario Richter: Windows PowerShell 6
Windows PowerShell(Cmdlet)
Windows PowerShell(Alias)
cmd.exe (MS-DOS, Windows)
Shell(Unix, Linux)
Beschreibung
Get-Location gl, pwd cd pwd Ausgabe des aktuellen
Verzeichnisses
Set-Location
sl, cd, chdir cd, chdir cd Wechseln des aktuellen
Verzeichnisses
Clear-Host cls, clear cls clear Löschen des Bildschirms
Copy-Itemcpi, copy, cp copy cp
Kopieren einer oder mehrerer Dateien / eines ganzen Verzeichnisbaums
Get-Help help, man help man Hilfe zu Befehlen
Remove-Item
ri, del, rmdir, rd, rm
del, rmdir, rd
rm, rmdir
Löschen einer Datei / eines Verzeichnisses
Rename-Item rni, ren ren mv Umbenennen einer Datei / eines
Verzeichnisses
Move-Itemmi, move, mv move mv Verschieben einer Datei / eines
Verzeichnisses
Get-ChildItem gci, dir, ls dir ls Liste aller Dateien / Verzeichnisse
im (aktuellen) Verzeichnis
Mario Richter: Windows PowerShell 7
PowerShell
Erlaubt Zugriff auf das gesamte .NET Framework (Sammlung von Klassenbibliotheken (APIs))
Erlaubt Zugriff auf WMI-Klassen (Windows Management Instrumentation, Zugriff auf Einstellungen des Windows-Rechners, lokal und über Netzwerk, wichtig für Fernwartung und Administration)
Mario Richter: Windows PowerShell 8
PowerShell
Erlaubt Zugriff auf COM-Objekte (Component Object Model, Interprozesskommunikation und dynamische Objekterzeugung)
Mario Richter: Windows PowerShell 9
Erweiterbarkeit
Import von sog. Snap-Ins möglich
Snap-Ins enthalten (Sätze von) Cmdlets
10Mario Richter: Windows PowerShell
BeispieleBeende alle Prozesse, deren Namen mit dem
Buchstaben „p“ beginnen:get-process p* | stop-process
Warte, bis ein bestimmter Prozess (notepad) beendet wurde:$processToWatch = get-process notepad$processToWatch.WaitForExit()
11Mario Richter: Windows PowerShell
BeispieleÄndere eine Zeichenkette von
Kleinbuchstaben in Großbuchstaben:"hallo welt!".ToUpper()
Füge die Zeichenfolge „ABC“ nach dem ersten Buchstaben des Wortes „string“ ein:"string".Insert(1, "ABC")
12Mario Richter: Windows PowerShell
Screenshot
13Mario Richter: Windows PowerShell
PowerShell Scripting LanguageEigene Scriptsprache für PowerShellNeuentwicklung, basiert nicht auf eine
bestehenden ScriptspracheInspiriert von UNIX-Shell-Sprachen, Perl,
PHP, Python und C#Kennt nicht nur Variablen, sondern auch
Schleifen und Bedingungen
Mario Richter: Windows PowerShell 14
PowerShell Scripting Language
Variablen$v = „Beispiel“ <= String, automatisch[int]$i = 5 <= Integer, explizit angegebenZahlen: [int], [long], [double], [decimal], [float],
[single], [byte] Zeichen: [string], [char]
Mario Richter: Windows PowerShell 15
PowerShell Scripting Language
Sichtbarkeit von Variablenglobal: sichtbar in allen Bereichen script: sichtbar in allen Bereichen der Script-
Datei local: sichtbar nur im aktuellen Bereich und
darin eingebetteter Bereich (z.B. Funktionen) private: sichtbar nur im aktuellen Bereich (z.B.
innerhalb einer Funktion)
Mario Richter: Windows PowerShell 16
PowerShell Scripting LanguageBedingungen
if(Bedingung) {…}elseif(Bedingung) {…}else {…}
switch(Bedingung) {wert1 {…}wert2 {…}default {…}}
Mario Richter: Windows PowerShell 17
PowerShell Scripting LanguageSchleifen
while(Bedingung) {… }
for([Initialisierung]; [Bedingung]; [Iteration]) {…} Bsp: for($i = 1; $i -le 10; $i += 1)
foreach(identifier in collection) {…}
Mario Richter: Windows PowerShell 18
PowerShell Scripting LanguageFunktionen
function name {param($parameter1, $parameter2, …)}
Filterfilter name {
param($parameter1, $parameter2, …)}
Funktionen und Filter unterscheiden sich bei der Pipeline-Verarbeitung
Mario Richter: Windows PowerShell 19
Ausblick
Zurzeit ist PowerShell V2 CTP3 verfügbar (22.12.2008)
PowerShell V2 besitzt eine grafische Oberfläche (ISE: Integrated Scripting Environment)
PS V2 wird mit Windows 7 ausgeliefert (geplant)
20Mario Richter: Windows PowerShell
21Mario Richter: Windows PowerShell
Quellen
http://de.wikipedia.org/wiki/Windows_PowerShell
http://www.microsoft.com/germany/technet/scriptcenter/hubs/msh.mspx
http://www.searchnetworking.de/powershell/http://www.it-visions.de/glossar/alle/4480/
Powershell%20Language.aspx
22Mario Richter: Windows PowerShell
Ende
Vielen Dank für Ihre Aufmerksamkeit
Fragen?
23Mario Richter: Windows PowerShell
top related