Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dr. Holger Schwichtenberg Softwarearchitekt, Berater, Fachjournalist Version 1.3b/21.02.08 Download der Folien und Skripte:

Ähnliche Präsentationen


Präsentation zum Thema: "Dr. Holger Schwichtenberg Softwarearchitekt, Berater, Fachjournalist Version 1.3b/21.02.08 Download der Folien und Skripte:"—  Präsentation transkript:

1 Dr. Holger Schwichtenberg Softwarearchitekt, Berater, Fachjournalist Version 1.3b/ Download der Folien und Skripte:

2 Das DOS-Kommandozeilenfenster war nicht mächtig genug, der Windows Script Host (WSH) war oft zu kompliziert. Mit der Microsoft PowerShell steht für Windows XP, Windows Server 2003, Windows Vista und Windows Server 2008 eine neue Kommandozeilenshell zur Verfügung, die auf intuitive Weise sowohl interaktive Systemadministration als auch Scripting erlaubt. In Windows Server 2008 ist die PowerShell zum ersten Mal von Anfang an installiert. Die PowerShell ist objektorientiert und basiert auf dem.NET Framework. Viele Details von.NET werden aber durch eine einfache Syntax auf Basis von Commandlets und Pipelines vor dem Administrator verborgen. Dennoch kann er die ganze Macht der Windows Management Instrumentation (WMI) aus der PowerShell heraus nutzen. Bei Bedarf kann der Administrator auch tiefer einsteigen und dann neben rund NET-Klassen auch die unzähligen COM-Klassen (die er schon vom WSH kennt) direkt nutzen. Dieser Vortrag gibt an vielen praktischen Beispielen zur Administration von Windows Server 2008 einen fundierten Überblick über die Macht der PowerShell.

3 Dr. rer. pol. Diplom-Wirtschaftsinformatiker MVP,.NET Code Wise Member, MCSD seit 1996 Softwareentwicklung mit Windows COM/.NET Heute: Firma (Sitz: Essen) 50%: Architektur, Design, Entwicklung 50%: Beratung, Schulungen, Coaching, Fachartikel, Fachbücher, Konferenzvorträge Fachjournalist iX, DOTNETpro, Computer Zeitung, Windows IT Pro, PC Magazin, ObjektSpectrum, MSDN Online, u.a. Buchautor Addison-Wesley, Microsoft Press, WEKA Media Vortragender nationale und internationale Fachkonferenzen (TechEd, OOP, ADC, BASTA, IT Forum, STC, WI, Net.Object Days, etc.) Kontakt Community Website Weblog

4 16. März Seiten zur PowerShell 18. Oktober 2007

5 Windows Administratoren (oder Entwickler) Erfahrung mit Batch, WSH, ADSI, WMI Keine Grundkenntnisse in PowerShell (dies ist ein Einführungsvortrag Level 200 !)

6 Die wichtigsten Fakten zur PowerShell Motivation: WSH versus PowerShell Grundkonzepte der PowerShell Commandlets Objektorientiertes Pipelining Anbindung an.NET, COM und WMI Einheitliches Navigationsparadigma PowerShell Skript Language PowerShell-Skripte Anwendungsbeispiele Prozesse, Dienste, Dateisystem, Ereignisprotokolle Registry ACLs Active Directory IIS 7.0 Datenbankzugriff Ausblick

7 Linux/UnixWindows CLI GUI CLI

8 Interaktive Systemadministration + Scripting Nachfolger von DOS-Fenster und WSH Basis:.NET 2.0 (läuft aber auch mit.NET 3.x!) Option in W08, kostenfreies Add-On für XP, 2003, Vista Zugriff auf.NET, COM, WMI, ADSI, XML, u.v.m. Einzelbefehle: Commandlets (.NET-Klassen) Befehlskombination: Objekt-Pipelining Skripte: PowerShell Skript Language (PSL) Mengen: Navigation Provider Eigene Commandlets (Skript oder.NET) Hosting der PowerShell in eigenen.NET-Anwendungen PowerShell-fähige Produkte: Exchange 2007, System Center Virtual Machine Manager (SCVMM), …

9 Installation in Windows 2008

10 Erstelle eine Inventardatei (CSV) Alle installierten Anwendungen Filter auf Hersteller Von mehreren Computerm In eine CSV-Datei Eingabedatei: Computernamen.txt Ausgabedatei: Softwareinventar.csv

11

12

13

14 Commandlets (Cmdlets) Allgemeine Syntax: Verb-Substantiv [-Parameterliste] Beispiele: get-process, get-service, get-location get-childitem c:\daten, set-location c:\windows, remove-item, u.a. get-command, get-help Mathe: 10* (8 + 6) DOS-/Windows-EXEs: c:\Windows\Notepad.exe WSH-Skriptdateien:.vbs,.js,.vbe,.wsf, etc. Windows-Dokumente:.pdf,.doc,.xls, etc. DEMO

15 Keine unstrukturierten Daten == Zeichenketten (kein grep, kein sed) sondern.NET-Objekte (strukturiert!) PowerShell Pipeline Processor reicht Objekt von Upstream- zu Downstream-Objekt weiter "compositional model of administration" Get-Process | Where-Object { $_.name -eq "iexplore" } | Format-Table ProcessName, WorkingSet get-childitem c:\daten -filter *.dll | where-object {$_.Length -gt 40000} | sort-object Length | format-list

16 Ausgaben: Format-Table, Format-List, Format- Wide Filtern: where-object, select-object –first / -last "Kastrieren": select-object (Abschneiden von Attributen der Objekte) Sortieren: sort-object Gruppieren: group-object Sequentielle Verarbeitung: foreach-object Pipeline analysieren: get-member Berechnungen: measure-object Variablen in Pipelines: $x = get-process … $x | … Zusammenfassung: $( get-process ; get-service ) DEMO

17

18 Kommandozeile mit IntelliSense Editor mit IntelliSense und Debugger 79 Euro / kostenlos für nicht-kommerziellen Einsatz DEMO

19 Drei Vollversionen der PowerShell Plus Im Wert von 79 Euro an die drei Personen die eine mit dem Betreff PowerShell ist cool!… im Posteingang von Visions.de platzieren… als 1., 15. und 50. !

20 Viele Commandlets unterstützen: -Whatif -Confirm -Verbose DEMO PowerShell ist cool!

21 Instanziieren, Methoden, Attribute, (Abfragen).NET $d= new-object System.DateTime(2004, 12,1 [System.Environment]::ComputerName COM $wsh = new-object – com "WScript.Shell" WMI get-wmiobject win32_useraccount Beispiel (.NET): $Url = "http://www.windows-scripting.com" $wclient = new-object System.Net.WebClient $html = $wclient.DownloadString($Url) DEMO

22 Name und freie Bytes auf allen Laufwerken Get-Wmiobject Win32_logicaldisk | Select-Object deviceid,freespace Name und Domain der Benutzerkonten, deren Kennwort niemals verfällt Get-Wmiobject Win32_account | Where-Object {$_.Kennwortexpires -eq 0 } | Select-Object Name,Domain Alle Netzwerkadapter mit TCP/IP (Filter) Get-Wmiobject Win32_NetworkAdapterConfiguration - Filter "IPEnabled=true" | select Description,IPAddress Ausgewählte Protokolleinträge (WQL) Get-WmiObject -query "SELECT RecordNumber, Message FROM Win32_NTLogEvent where Logfile='Application' and TimeWritten > '14/02/2008' and message like '%exchange%'"

23 Unterschiedliche Datenmengen: hierarchisch/flach Gleiche Verben: get, set, new, remove, etc. Get-PSDrive Menge der Provider und Menge der Laufwerke ist erweiterbar Verfügbare Mengen Registry Umgebungsvariablen Aliase Zertifikate Variablen Active Directory/LDAP PSCX Demnächst: SQL Server

24 Navigation zu HKEY_LOCAL_MACHINE/Software cd hklm:\software Kurzform für: Set-Location hklm:\software Auflisten der Unterschlüssel des aktuellen Schlüssels Dir Kurzform für: Get-Childitem Erzeugen eines Unterschlüssels mit Namen IT-Visions md IT-Visions Erzeugen eines Unterschlüssels mit einem Standardwert New-Item -Name "Inhaber" -Value "Dr. Holger Schwichtenberg" -type String Erzeuge Wert New-Itemproperty -path "hklm:\software\www.it-visions.de" -name "Inhaber" -value "Dr. Holger Schwichtenberg" -type string Lese Werte Get-ItemProperty DEMO

25 $Variable if (Bedingung) {…} else {…} switch ($var) { Wert: {…} } while(Bedingung) { … } do { … } while (Bedingung) do { … } until (Bedingung) foreach ($var in $menge) {…} function name {…} return trap Fehlerklasse { … } else { … } throw "Fehlertext" throw Fehlerklasse Exit # Kommentar

26 Textdateien Dateierweiterung.ps1. Die Zahl 1 steht dabei für die Version 1.0 der PowerShell. Microsoft hat in Hinblick auf die Langlebigkeit vieler Scripts vorgesehen, dass verschiedene Versionen der PowerShell auf einem System koexistieren können. Start innerhalb der PowerShell: Skriptname oder Skriptname.ps1 oder &Skriptname.ps1 oder Invoke-Expression Skriptname.ps1 Außerhalb der PowerShell: PowerShell Skriptname.PowerShell PowerShell –command Skriptname.PowerShell

27

28 Restricted: keine Skripte (STANDARDEINSTELLUNG!) AllSigned: nur signierte Skripte, signierte Skripte von nicht-vertrauten Quellen auf Nachfrage RemoteSigned: Signatur nur für Skripte aus dem Internet (via Browser, Outlook, Messenger) Unrestricted: alle Skripte laufen DEMO

29 makecert.exe dir cert: ## sign-file.PowerShell ## Sign a file param([string] $file=$(throw "Please specify a filename.")) $cert cert:\CurrentUser\My - codesigning)[0] set-authenticodeSignature $file $cert

30 { Anwendungsbeispiele} - Dateisystem: Ordnergrößen ermitteln (rekursiv) - Dateisystem: ACL verändern - Active Directory: Benutzer anlegen (zwei Varianten) - Eine Datenbank auslesen (und Benutzer anlegen) - IIS: Eine Menge von IIS-Websites anlegen Download des Codes:

31 Intuition Prägnanz Typsicherheit Noch ist die PowerShell nicht weit verbreitet (Noch verkaufen wir mehr Bücher zum WSH als zur PowerShell) Windows Server 2008 wird einen Schub bringen

32 Es gibt bereits eine CTP-Version! Graphical PowerShell (Editor) Fernaufruf mit WS-MGMT Asynchrone Befehlsausführung (Jobs) Konsolenbasiertes Script Debugging Eingeschränkte Shells, die nur bestimmte Befehle/Skripte zulassen ("Restricted Runspaces") Ereignissystem, das über Änderungen in beliebigen Objekten informiert Verpacken von Skripten und zugehörigen Datendateien Verbesserung bei WMI, ADSI, u.v.m.

33 PowerShell 1.0 PowerShell Documentation BD56-EC48BFCA154F&displaylang=en PowerShell Community Extensions (PSCX) IT-Visions.de PowerShell Extensions PowerShell Gadgets PowerShellPlus PowerShell WMI Explorer part-1.aspx PowerShell Analyzer PowerShell Help PowerShell Tab

34 Offizielles Weblog des PowerShell-Teams: PowerShell-Community-Website des Sprechers: Offizielle PowerShell-Website: Sammlung von PowerShell-Scripts: Websites mit Scripts: und Link-Liste von PowerShell-Ressourcen: Powershell Live User Community:

35 Beratung, Schulungen (öffentlich und In- House), Workshops, Coaching, Entwicklung Nächste PowerShell-Schulungen (Holger Schwichtenberg & Peter Monadjemi): in Essen in Essen in Essen Telefon 0201/

36 Danke für Ihre Aufmerksamkeit! FRAGEN ? jetzt!!! …oder später unter Download der Folien und Skripte:

37 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

38 Windows Server 2008 Tech Center fault.mspx fault.mspx Windows Server 2008 Webcasts: Windows Server 2008 Produktseite: Microsoft Virtualization:

39 Wir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.


Herunterladen ppt "Dr. Holger Schwichtenberg Softwarearchitekt, Berater, Fachjournalist Version 1.3b/21.02.08 Download der Folien und Skripte:"

Ähnliche Präsentationen


Google-Anzeigen