Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Windows PowerShell { für Administratoren}

Ähnliche Präsentationen


Präsentation zum Thema: "Windows PowerShell { für Administratoren}"—  Präsentation transkript:

1 Windows PowerShell { für Administratoren}
3/28/2017 8:11 PM Download der Folien und Skripte: Windows PowerShell { für Administratoren} Dr. Holger Schwichtenberg Softwarearchitekt, Berater, Fachjournalist Version 1.3b/ © 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.

2 Abstract 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 Über den Sprecher : Dr. Holger Schwichtenberg
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 Bücher zur PowerShell 150 Seiten zur PowerShell 16. März 2007
18. Oktober 2007

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

6 Inhalt 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 GUI versus CLI GUI CLI CLI GUI Linux/Unix Windows

8 Die wichtigsten Fakten zur PowerShell
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 Motivation: Softwareinventar
Erstelle eine Inventardatei (CSV) Alle installierten Anwendungen Filter auf Hersteller Von mehreren Computerm In eine CSV-Datei Eingabedatei: Computernamen.txt Ausgabedatei: Softwareinventar.csv

11 Lösung mit dem WSH/VBScript

12 Lösung mit der PowerShell

13 Einflussfaktoren

14 Commandlets & andere Befehle
DEMO 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.

15 Objektorientiertes Pipelining
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 Pipelining-Commandlets
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 PowerShell Pipeline Processor

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

19 Verlosung… 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 platzieren… als 1., 15. und 50. !

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

21 Arbeit mit Objekten Instanziieren, Methoden, Attribute, (Abfragen)
DEMO 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 = " $wclient = new-object System.Net.WebClient $html = $wclient.DownloadString($Url)

22 WMI-Beispiele 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 PowerShell Provider 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 Registry-Beispiel DEMO 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\ -name "Inhaber" -value "Dr. Holger Schwichtenberg" -type string Lese Werte Get-ItemProperty

25 Skripte - Kontrollstrukturen
$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 Skriptdateien 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 Beispiel

28 Execution Policies Restricted: keine Skripte (STANDARDEINSTELLUNG!)
DEMO 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

29 Skripte signieren 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}
3/28/2017 8:11 PM { Anwendungsbeispiele} Demos Download des Codes: 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 © 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.

31 Fazit 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 Ausblick: PowerShell 2.0 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 Links: Werkzeuge & Erweiterungen
PowerShell 1.0 PowerShell Documentation PowerShell Community Extensions (PSCX) IT-Visions.de PowerShell Extensions PowerShell Gadgets PowerShellPlus PowerShell WMI Explorer PowerShell Analyzer PowerShell Help PowerShell Tab

34 Links: Informationen 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 Mehr zur PowerShell oder .NET?
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 Am Ende... Danke für Ihre Aufmerksamkeit! FRAGEN ?
jetzt!!! …oder später unter Download der Folien und Skripte:

37 3/28/2017 8:11 PM © 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. © 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 weitere Ressourcen
3/28/2017 8:11 PM Windows Server 2008 weitere Ressourcen Windows Server 2008 Tech Center Windows Server 2008 Webcasts: Windows Server 2008 Produktseite: Microsoft Virtualization: © 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.

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


Herunterladen ppt "Windows PowerShell { für Administratoren}"

Ähnliche Präsentationen


Google-Anzeigen