Windows PowerShell { für Administratoren}

Slides:



Advertisements
Ähnliche Präsentationen
E-Solutions mySchoeller.com for Felix Schoeller Imaging
Advertisements

.NET Users Group Karlsruhe Worum gehts? Goodby cmd.exe (ok ok, sie bleibt noch ein bisschen) Die Eingabeaufforderung erhält endlich einen.
Windows Vista Deployment
Windows Vista für Entwickler
Windows Server 2003 Managment Eric Hellmich
Microsoft Academic Program Von WSH zu MSH Dr. Tobias Weltner Student Technology Conference 2005.
Projektübung Klimamodellierung André Paul. Vorbesprechung Projektübung Klimamodellierung ( ) – A. Paul.
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
Status OCS Installation GSI DVEE Palaver 10/2/2004 Michael Dahlinger, DVEE, GSI.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
01 Installation / Support. © beas group 2011 / Page 2 This documentation and training is provided to you by beas group AG. The documents are neither approved.
Gehärtet von Anfang an { Windows 2008: Spezielle Aufgaben }
Eine Welt jenseits von Fenstern und Mausklicks
Windows Essential Business Server 2008
Microsoft Security Tools Christian Thor Systems Engineer Microsoft GmbH.
ETS4 - Was ist neu? - Wie fange ich an? - Noch Fragen?
Eine kurze Einführung von Boris Smeisser
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
Video Streaming mit Silverlight
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
Bitlocker mit Server 2008 in Enterprise Umgebungen
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Seminar Internet Technologien
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Automatisches Testen ohne Frust mit CodedUI
René Leupold IS Developer Comgate Solutions AG Entity Framework Ein Überblick.
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
ASP.NET 3.5 AJAX Live Coding {mit Visual Studio 2008}
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Daniel Melanchthon Security Evangelist Microsoft Deutschland GmbH.
Roger Boesch Developer Technical Specialist Developer and Platform Group.
Scripting mit Windows PowerShell
TechNet Schweiz – Herzlich Willkommen System Center 2012 LIVE - Modernes Systems Management als Kernstück der Microsoft Private Cloud 28. März 2012 Walter.
Swiss TechNet Events Herzlich Willkommen Virtualisierung auf Basis von Windows Server 2012: von "on-premise" in die Cloud und zurück 15. Mai 2013 Michael.
Thomas Claudius Huber Senior Consultant Trivadis AG Silverlight 5 die Neuerungen.
Sven Thimm Senior Presales Consultant Microsoft Deutschland GmbH Oliver Sommer MVP SBS/EBS aka Essential Server Solutions Family TrinityComputer.de.
SQL Azure Administration
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Spricht Ihre Anwendung schon Open XML?
Dirk Primbs Developer Evangelist Microsoft Deutschland GmbH.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH Christian Weyer Solutions Architect thinktecture.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
XML IV: Cocoon 2.
Virtual Earth Visualisierung von Geodaten Daniel Walzenbach, Microsoft Deutschland GmbH
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Cyber-Security und Datenschutz in der Cloud Wie passt das zusammen?
SharePoint FIS HandsOn – out of the Box.
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
Office Business Anwendungen mit SharePoint 2010 Fabian Moritz SharePoint MVP.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
Microsoft Cloud Day Herzlich willkommen!. Microsoft Cloud Day MSDN Veranstaltung Die Cloud Plattform als Erfolgsbaustein – Wie Sie als Softwarefirma von.
Die nächste Generation von Microsoft Office System 2007 Microsoft Office System Gernot Kühn Technologieberater Office System Mittelstandsbetreuung.
Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH
…und nun aber zum heutigen Vortrag Die Herausforderung: Krisen und andere Verwerfungen Die Herangehensweise: Kosten senken & Produktivität erhöhen Das.
Mit IT IS enbex Hand in Hand Zeitgemäße Unternehmen sind auf schnellen und sicheren Datenaustausch angewiesen IT IS AG.
Sprachneuerungen des .NET Frameworks 3.5
Weg mit Fehlern, die kein Entwickler versteht …
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
Arbeiten in einem agilen Team mit VS & TFS 11
Azure Backup, Azure Backup Server und Azure Site Recovery
Azure Active Directory und Azure Active Directory Domain Services
Azure Mobile Services Deep dive into node.js scripting
 Präsentation transkript:

Windows PowerShell { für Administratoren} 3/28/2017 8:11 PM Download der Folien und Skripte: http://www.it-visions.de/v4991.aspx Windows PowerShell { für Administratoren} Dr. Holger Schwichtenberg Softwarearchitekt, Berater, Fachjournalist www.IT-Visions.de Version 1.3b/21.02.08 © 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.

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 10000 .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.

Ü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 www.IT-Visions.de (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 hs@IT-Visions.de Community Website http://www.dotnetframework.de Weblog http://www.dotnet-doktor.de

Bücher zur PowerShell 150 Seiten zur PowerShell 16. März 2007 18. Oktober 2007

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

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

GUI versus CLI GUI CLI CLI GUI Linux/Unix Windows

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), …

Installation in Windows 2008

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

Lösung mit dem WSH/VBScript

Lösung mit der PowerShell

Einflussfaktoren

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.

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

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

PowerShell Pipeline Processor

NEU: PowerShell Plus Kommandozeile mit IntelliSense DEMO Kommandozeile mit IntelliSense Editor mit IntelliSense und Debugger http://www.powershell.com 79 Euro / kostenlos für nicht-kommerziellen Einsatz

Verlosung… Drei Vollversionen der PowerShell Plus Im Wert von 79 Euro an die drei Personen die eine E-Mail mit dem Betreff „PowerShell ist cool!“… im Posteingang von launch08@IT-Visions.de platzieren… als 1., 15. und 50. !

Allgemeine Parameter Viele Commandlets unterstützen: -Whatif -Confirm -Verbose DEMO launch08@IT-Visions.de PowerShell ist cool!

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 = "http://www.windows-scripting.com" $wclient = new-object System.Net.WebClient $html = $wclient.DownloadString($Url)

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%'"

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

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\www.it-visions.de" -name "Inhaber" -value "Dr. Holger Schwichtenberg" -type string Lese Werte Get-ItemProperty

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

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

Beispiel

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

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

{ Anwendungsbeispiele} 3/28/2017 8:11 PM { Anwendungsbeispiele} Demos Download des Codes: http://www.it-visions.de/V4991.aspx 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.

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

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.

Links: Werkzeuge & Erweiterungen PowerShell 1.0 http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx PowerShell Documentation http://www.microsoft.com/downloads/details.aspx?familyid=B4720B00-9A66-430F-BD56-EC48BFCA154F&displaylang=en PowerShell Community Extensions (PSCX) http://www.codeplex.com/PowerShellCX IT-Visions.de PowerShell Extensions http://www.it-visions.de/scripting/powershell/PowerShellCommandletExtensions.aspx PowerShell Gadgets http://www.powergadgets.com/ PowerShellPlus http://www.powershell.com PowerShell WMI Explorer http://thepowershellguy.com/blogs/posh/archive/2007/03/22/powershell-wmi-explorer-part-1.aspx PowerShell Analyzer http://www.karlprosser.com/coder/?page_id=14 PowerShell Help http://www.primalscript.com/freetools/defaultin.asp PowerShell Tab http://www.primalscript.com/freetools/defaultin.asp

Links: Informationen Offizielles Weblog des PowerShell-Teams: http://blogs.msdn.com/PowerShell PowerShell-Community-Website des Sprechers: http://www.powershell-doktor.de Offizielle PowerShell-Website: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx Sammlung von PowerShell-Scripts: http://www.microsoft.com/technet/scriptcenter/scripts/msh/default.mspx?mfr=true Websites mit Scripts: http://powershell.wiki.com/ und http://scripts.readify.net Link-Liste von PowerShell-Ressourcen: http://del.icio.us/powershell Powershell Live User Community: http://powershelllive.com

Mehr zur PowerShell oder .NET? Beratung, Schulungen (öffentlich und In-House), Workshops, Coaching, Entwicklung Nächste PowerShell-Schulungen (Holger Schwichtenberg & Peter Monadjemi): 28.4.-30.4.2008   in Essen 4.-6.6.2008   in Essen 8.-10.10.2008 in Essen Telefon 0201/7490-700 hs@IT-Visions.de

Am Ende... Danke für Ihre Aufmerksamkeit! FRAGEN ? jetzt!!! …oder später unter www.IT-Visions.de/Foren Download der Folien und Skripte: http://www.it-visions.de/v4991.aspx

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.

Windows Server 2008 weitere Ressourcen 3/28/2017 8:11 PM Windows Server 2008 weitere Ressourcen Windows Server 2008 Tech Center http://www.microsoft.com/germany/technet/prodtechnol/windowsserver/2008/default.mspx Windows Server 2008 Webcasts: http://www.microsoft.com/germany/technet/webcasts/windowsserver2008.mspx Windows Server 2008 Produktseite: http://www.microsoft.com/germany/windowsserver2008/default.mspx Microsoft Virtualization: http://www.microsoft.com/virtualization/default.mspx © 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.

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