Archiv der Kategorie: News

Mein neues PowerShell 5.1-Buch ist da!

Ein Buch zu schreiben ist längst kein der großen Herausforderungen mehr, die es vielleicht früher einmal war. Sozusagen Mensch gegen das leere Blatt und am Ende soll ein Stück Weltliteratur herauskommen. Das gilt besonders für ein IT-Fachbuch. In erster Linie braucht ein angehender Autor eines IT-Fachbuches eine Portion Know-how, ein gewisses Mitteilungsbedürfnis, die Fähigkeit sich in ganzen Sätzen halbwegs nachvollziebar ausdrücken zu können, viel Ausdauer, Durchhaltevermögen, Sitzfleiß, einen halbwegs bequemen Stuhl, sehr viel Zeit, die Bereitschaft Wochenende um Wochenende am Schreibtisch zu verbringen und einen Verlag, der bereit ist das Risiko einzugehen. Ich bin daher dem Springer Vieweg Verlag dankbar, dass er auch Themen eine Chance gibt, die nicht in den klassischen IT-Mainstream fallen.

Doch warum geht es eigentlich in diesem Eintrag? Genau, vor kurzem ist mein Buch „PowerShell 5.1 für Administratoren“ beim Springer Vieweg Verlag erschienen. Auf knapp 350 Seiten (das klingt eventuell nach wenig Inhalt, aber es sind wenige Abbildungen, kleine Schrift;) geht es vor allem um die etwas anspruchsvolleren und „modernen“ PowerShell-Themen:

>Umgang mit Typen und Objekten
>Umgang mit Klassen und was damit alles möglich ist
>Functions und Parameter
>Aus Texten Objekte machen

Eine Motivation das Buch zu schreiben war für mich, dass es zwar viele sehr gute Einsteigerbücher zur PowerShell gibt, aber wenige Bücher, die auf diesem Wissen aufsetzen. Wer etwas tiefer in die Thematik einsteigen und auch den Unterbau der PowerShell verstehen möchte und wem es Spaß macht, sich mit für Administratoren etwas abstrakte Themen zu beschäftigen, sollte mit meinem Buch eingies dazu lernen. Aus meinen Schulungen weiß ich, dass in der Hilfe zwar vieles steht und zudem sehr gut beschrieben ist, ein Buch aber immer noch einen höheren Stellenwert hat.

Ein Schwerpunkt des Buches ist das Thema DSC, das auf drei Kapiteln behandelt wird. Ein weiteres Thema ist PowerShell und Azure. Zu den praxisnahmen Themen gehört die AD-Verwaltung und das Absichern von Endpoints mit JEA. Wie immer gibt es auch ein „Spaß mit PowerShell“-Kapitel, in dem es u.a. um Abspielen von Noten, den in Windows eingebauten Zitateserver und eine farbige Konsole geht (wie man Unicode Emojis anzeigt habe ich leider erst vor kurzem herausgefunden).

Wichtig: Was das Buch allerdings nicht ist: Es ist keine Einführung für PowerShell-Neulinge, auch wenn dies der Untertitel des Buches suggerieren könnte. Wer daher die PowerShell noch lernt bzw. sie nur sporadisch verwendet und nur verstehen möchte, wie man Befehle eintippt oder einfache Abläufe automatisiert und damit vollkommen zufrieden ist, sollte zuerst ein anderes Buch lesen, wie z.B. das sehr gute Buch von Tobias Weltner oder „das Werk“ zur PowerShell von Holger Schwichtenberg.

Es gibt noch mehr: Ein weiteres Thema ist natürlich DevOps, das aber nur dezent angedeutet wird. Im Wesentlichen besteht der DevOps-Teil aus dem Aufbau einer sog. „Replease-Pipeline“ mit den üblichen Zutaten (GitHub, AppVeyor, Yaml, Pester, ScriptAnalyzer und Package Manager), über das sich ein in VS Code erstelltes Modul auf Knopfdruck so bereitstellen lässt, dass es sich alle Anwender per Install-Module lokal installieren können, und vor allem, dass es den gesetzten Qualtiätsforderungen entspricht. Ich war selber beeindruckt als mir klar wurde, welche Möglichkeiten PowerShell-PowerUsern heutezutage (in der Regel sogar kostenlos) zur Verfügung stehen.

Die Beispielprogramme zu dem Buch (es sind einige) werde in Kürze an dieser Stelle veröffentlichen. Bei Fragen freue ich wie immer über Feedback. Als Kommentar zu diesem Blog-Eintrag oder direkt per Mail oder telefon.

Mein neues Buch zur PowerShell 5.1

Mein neues Buch zur PowerShell 5.1

Neue Richtung für die PowerShell – alles auf Open Source und Cross-Plattform, die Windows PowerShell als Auslaufmodell

Vor einigen Tagen hat das PowerShell Team bei Microsoft in einem Blog-Eintrag die künftige Richtung skizziert, die die PowerShell (in Zukunft;) nehmen soll:

https://blogs.msdn.microsoft.com/powershell/2017/07/14/powershell-6-0-roadmap-coreclr-backwards-compatibility-and-more/

Die wichtigsten Aussagen sind für mich in Kurzform:

>Die Entwicklung von WMF 5.1 und der Windows PowerShell 5.1 wird praktisch eingestellt. Es sollen lediglich wichtige Bux-Fixes vorgenommen werden. Das bedeutet natürlich nicht, dass WMF und damit die PowerShell bei Windows Server irgendwann (auf absehbare Zeit) nicht mehr von Anfang an dabei sind wird. Es bedeutet, dass es keine neuen Versionen von WMF mehr geben wird und auch ein Windows Server 2018, 2020 usw. das WMF 5.1 enthalten wird, das irgendwann als optionales Feature nachinstalliert werden muss.

>Die künftige Entwicklung der PowerShell fokussiert sich auf die Open Source PowerShell (PowerShell Core), die in der Version 6.0 bereits vor einiger Zeit für „Ende des Jahres“ in Aussicht gestellt wurde. Die neue PowerShell wird es immer für alle wichtigen Plattformen (Linux, Mac OSX und natürlich Windows geben).

Da diese PowerShell auf .NET Core basiert und nicht auf dem .NET Framework, lassen sich einige Merkmale nicht abbilden. Das betrifft vor allem Workflows.

Alles in allem ist das keine dramatische Ankündigung, da es WMF und die PowerShell 5.1 noch viele Jahre geben wird und es für ca. 95% aller Anwender keinen echten Bedarf an neuen Funktionalitäten geben dürfte. Würde Microsoft die Entwicklung der PowerShell komplett einstellen, die meisten Anwender würden es gar nicht mitbekommen (an Cmd.exe wurde vermutlich seit über 20 Jahren nichts Neues mehr hinzugefügt).

Sollte man unbedingt ein Merkmal nutzen wollen, da es nur in der PowerShell Core gibt (in Aussicht gestellt wurde z.B. eine verbesserte Parallelverarbeitung), sollte es kein Problem sein, das Skript mit der neuen PowerShell Core auszuführen, die parallel zur alten PowerShell betrieben werden kann.

Was mich an dem Richtungswechsel etwas stört ist, dass er für mich einmal mehr deutlich macht, dass unter dem „neuen“ CEO Satya Nadella Windows Server nach und nach auf ein Abstellgleis geschoben wird was Innovationen für kommende Version angeht. Ca. 90% aller Windows Administratoren dürften sowohl der Umstand, dass die PowerShell Open Source ist als auch der Umstand, dass sie auf jede Plattform portiert werden kann, so gut wie egal sein, sofern sie das überhaupt mitbekommen. Es wird also eine Produktpolitik weit weg von den Anforderungen und Wünschen der Kunden betrieben.

Neue Rolle für NanoServer – in Zukunft nur noch als Container-Host (?)

Wie es aussieht, hat Microsoft die künftige Rolle von NanoServer komplett neu definiert. Anstelle einer Kombination aus Core OS und diversen Rollen soll NanoServer in Zukunft ausschließlich Anwendungscontainer ausführen. Es soll darüber hinaus keine Unterstützung für Rollen mehr geben:

https://blogs.technet.microsoft.com/hybridcloud/2017/06/15/delivering-continuous-innovation-with-windows-server/?MC=OfficeO365&MC=SecSys&MC=IoT&MC=MSAzure&MC=WinServer

Damit wird auch die Frage hinfällig, ob NanoServer als DC fungieren kann, wenn sich Microsoft entschließen würde, die AD DS-Rolle zur Verfügung zu stellen. Wer einen Server mit Minimalausstattung wünscht, muss dafür in Zukunft wieder Server Core verwenden.

Schade, ich denke, dass diese Entscheidung insofern falsch ist, dass Microsoft damit einen falschen Schwerpunkt setzt und ein weiteres Signal aussendet, dass „On Premise“-Lösungen in der strategischen Plannung keine große Rolle mehr spielen. Und: Ich habe noch niemanden getroffen, der Container einsetzt, daher kann ich diese Fokusierung auf einen Nischenbereich nicht nachvollziehen. Wenn es stimmt, dass in NanoServer 10 Jahre Entwicklungsarbeit stecken, dann ist die Reduzierung auf einen Container-Host als Ergebnis etwas dürftig. Und: Kooperiert Microsoft nicht mit Docker, die das alles bereits im Programm haben dürften?

Natürlich wird es Gründe gegeben haben. Einer dürfte die nach wie vor geringe Nutzung von NanoServer sein.

PS: Das wäre eine weitere Frage, die jemand Jeffrey Snover, der als Leiter der Windows Server-Gruppe auch für NanoServer zuständig ist, auf der letzten PowerShell-Konferenz hätte stellen können.

DSC – geplante Neuerungen

Auf der PoshConf Eu 2017 hat Jeffrey Snover in einer Folie die für DSC geplanten Neuerungen als Teil einer „Cloud Command Console“ zusammengestellt:

  • Ein portabler LCM für Windows und für Linux
  • Mehrere LCM-Instanzen
  • Ein Native Code-LCM (in C) für Umgebungen mit wenig Hardwareressourcen
  • Ein LCM als Bibliothek
  • Der LCM soll als Systemdienst ausführen (?)

Auch wenn diese Neuerungen auf der Folie „Core PowerShell in Azure“ aufgeführt wurden, gehe ich davon aus, dass sie allgemein verfügbar sein werden. Wann? Dieser Punkt ist noch offen.

PoshConf Europe 2017 – ein (relativ) kurzer Bericht

Im Folgenden lest Ihr einen kurzen Bericht von der PoshConf Eu 2017, die Anfang Mai in Hannover stattfand. Wer sich mehr für die Vorträge interessiert, kein Problem, die gibt es inzwischen auf YouTube – in beeindruckender HD-Qualität (ob allerdings bei jedem Vortrag der Sprecher permanent eingeblendet sein muss?)

Den Link findet ihr auf der Konferenzwebseite:

http://www.psconf.eu/

Mein Fazit vorweg: Die drei Tage waren voll gepackt mit Vorträgen, größtenteils auf hohem Niveau. Wenn es einen Kritikpunkt gibt, dann dass es vielleicht schon ein wenig zu viel an „Content“ gab. Ein anderer, dass aufgrund der teilweise langen Wege zwischen den Räumen im Konferenzcenter und dem völligen Verzicht auf eine Beschilderung (man konnte in jeder Regel immer eine der jungen Damen des „Konferenzteams“ fragen) einiges an Zeit verloren ging, die man besser z.B. für Gespräche mit anderen Teilnehmern genutzt hätte.

Positiv war der Umstand, dass das „halbe“ PowerShell-Team aus Redmond (konkret war es ein halbes Dutzend) angereist war:

  • Jeffrey Snover, PowerShell-Erfinder seit ca. 2002 und inzwischen seit einigen Jahren „Lead Architect“ im Windows Server Team bei Microsoft und damit sowohl für Windows Server als auch System Center zuständig
  • Bruce Payette, das „Brain“ hinter der PowerShell-Skriptsprache
  • Kenneth Hansen, der Chef des PowerShell-Teams
  • Angel Calvo, der im PowerShell-Team für die „Visionen“, also für die strategische Planung zuständig ist
  • Joey Aiello, der für das PowerShell Open Source-Projekt als „Chef-Maintainer“ zuständig ist
  • David Wilson, der als Entwickler im PowerShell-Team u.a. für die PowerShell Extension für VS Code und für das relativ neue Phosphor-Modul zuständig ist
  • Mark Gray konnte leider nicht kommen. Er ist im PowerShell-Team für DSC zuständig.

Auf einem der Fotos, die ich am Ende des Beitrags zusammengefasst habe, ist das PowerShell-Team komplett zu sehen, da sie in der letzten Session („Ask Microsoft Anything“) am Freitagnachmittag alle anwesend waren.

Statt langatmiger Prosa gehe ich im Folgenden nur die Vorträge durch, an denen ich persönlich teilgenommen hatte (eine „Auszeit“ für ein Sightseeing in Hannover habe ich mir nicht genommen, was u.a. daran lag, dass ich die Stadt in den letzten 30 Jahren bereits gefühlt 100 Mal zu einer Cebit besucht hatte).

Vortrag: Die Keynote von Jeffrey Snover

Wenn Jeffrey Snover einen Votrag hält, lohnt es sich immer ihn sich anzuhören. Auch nachträglich. Er schafft es jedes Mal, einen neuen Blickwinkel auf ein Thema zu präsentieren, das gefühlt schon „1000 Mal“ behandelt wurde. Dieses Mal ging es um die Notwendigkeit den eigenen „Mindset“ (also die grundsätzliche Herangehensweise an die Umsetzung von Anforderungen) zu ändern und an jene Veränderungen anzupassen, die in der IT-Welt bedingt durch die Umstellung auf eine „DevOps-Kultur bereits im vollen Gange sind. Manche können es sicher mehr hören, aber diese Veränderungen werden viele Bereich der IT betreffen. „DevOps“ ist für mich keines dieser Hype-Wörter, die alle paar Jahre die Runde machen, sondern steht für konkrete Veränderungen beim Bereitstellen von IT-Dienstleistungen. Jeffrey wies daher auch darauf hin, dass einige Admins zurückbleiben werden. Er meinte jene, die solche Veränderungen nicht wollen, die lieber mehr Zeit mit ihrer Familie verbringen, was natürlich alles schön und gut ist (wie dieser Vergleich zu einer vermeintlichen „Verweigerungshaltung“ passen soll habe ich allerdings nicht verstanden – offen für „DevOps“ zu sein und trotzdem sein Privatleben nicht allem unterordnen zu wollen ist für mich kein Widerspruch). Neben diesem eher allgemeinen Aspekt ging es natürlich auch um die künftige Richtung, die PowerShell in einer „DevOps-Welt“ nehmen soll. Dabei ging es weniger um konkrete Features (zur nächsten Version 6.0 ist gerade erst die erste Beta erschienen, das Entwicklerteam geht aber davon aus, sie noch in diesem Jahr offiziell freigegeben zu können).

Ein wenig kurios sind für mich jene Fragen, die immer wieder gestellt werden, und deren Antwort eigentlich schon vorher klar sein sollten. Es dürfte z. B. relativ klar sein, dass Microsoft die ISE nicht einstellen wird, sie wird aber auch nicht mehr grundlegend weiterentwickelt, da sie nicht portabel ist. Auch wenn bedingt durch den aktuellen Fokus auf die PowerShell Extension für VS Code die ISE in den Hintergrund gerückt ist, wird es sie immer geben.

Was mir dagegen immer noch nicht ganz klar ist ist der Umstand, wie in Zukunft die portable Core Edition und die Windows spezifische Desktop Edition der PowerShell weiterentwickelt werden. Erstere basiert auf .NET Core, Letzere auf dem „Full .Net Framework“. Joey Aiello sagte in der kleinen Q&A am Ende des ersten Tages, dass aktuell ein Feature zuerst in die Core Edition eingebaut und dann überlegt wird, ob es auch in die Desktop Edition passt. Dann werden sich beide Editionen (Core und Desktop) nur durch Module unterscheiden und denselben „Kern“ in Gestalt einiger portabler Assemblies (vor allem natürlich System.Management.Automation.dll) verwenden.

Vortrag: Automatisiertes DC Deployment mit DSC mit Jan-Hendrik Peters und Raimund Andree

In diesem Vortrag ging es um ein Projekt, das bei der BMW AG in München zur Zeit umgesetzt wird. Im Wesentlichen geht es um Deployment von Domänenkontrollern per DSC bzw. die Umsetzung eines „Self Service Portals“. Wenn ich es richtig verstanden habe, fällt das Zwischenfazit etwas durchwachsen aus, was u.a. an den kleineren Unzulänglichkeiten der aktuellen DSC-Implementierung liegt. Ein zentraler Punkt in der Keynote von Jeffrey Snover waren daher auch die geplanten Verbesserung bei DSC, u.a. die Implementierung als Systemdienst, mehrere Instanzen und eine Umstellung auf Open Source. Unter Azure soll DSC in Zuukunft eine zentrale Rolle spielen. Es war außerdem nett, Raimund Andreé einmal persönlich kennenzulernen, dessen LocalAccounts-Modul ich schon gefühlt 100 Mal bei diversen Anlässen (in erster Linie Schulungen) heruntergeladen hatte.

Vortrag: The Release Pipeline in Practice mit Matt Hitchcock

Interessanter Vortrag, vor allem, dass PowerShell eher ein Randthema war. In erster Linie ging es um das Aufsetzen einer Release Pipeline für ein Open Source-Projekt mit Circle CI, einem Webportal, vergleichbar mit AppYeyor, das allerdings auf .NET-Projekte beschränkt ist, und natürlich Visual Studio Online.

Vortrag: PowerShell sicher im Unternehmen einsetzen mit David das Neves

Ein allgemeiner Vortrag zum Thema Sicherheit unter Windows mit Bezug auf die PowerShell. Interessant ist, dass David bei Microsoft in München angestellt ist und damit offenbar der einzige Mitarbeiter bei Microsoft in Deutschland ist, in dessen Jobbeschreibung das Wort PowerShell vorkommt.

Vortrag: Azure 101 – PowerShell in der Cloud mit Jan-Hendrik Peters und Raimund Andreé

Dieser Vortrag begann am zweiten Tag bereits um 8 Uhr 30! Ich war pünktlich dort, hätte mir aber noch etwas mehr Zeit lassen können, denn der relativ kleine Raum war nur halbvoll und es ging ohnehin nur um einen Rundumüberblick über ein Thema, das für die meisten immer noch „Neuland“ sein dürfte.

Vortrag: Scoping in Depth mit Bruce Payette

Wenn der Entwickler der PowerShell-Skriptsprache eine Audienz hält ist der Raum natürlich voll. Dabei ging es um ein eher langweiliges Thema, den Gültigkeitsbereich von Variablen und Details wie den Umstand, dass das Ausführen eines Scriptblocks & einen neuen Context mit Session State anlegt, während beim Ausführen mit dem Punkt der aktuelle Session State mit seinen Variablen und anderen Inhalten übernommen wird. Eine weitere Erkennnis war, dass dynamische Module doch ihre Daseinsberechtigung besitzen. Ich bin mir relativ sicher, dass es am Ende auch um „Closures“ ging (also das Kopieren eines Scriptblocks, in dem der Scope des „Eltern-Scriptblocks“ übernommen wird), aber zu diesem Zeitpunkt war ich nur noch bedingt aufnahmefähig. Insgesamt definitiv ein interessanter Vortrag, der einige Zusammenhänge, die bei der Ausführung von Skripten eine Rolle spielen, deutlicher gemacht hat. Ein Detail am Rande: Die lange erwartete Überarbeitung von „PowerShell in Action“ (3. Auflage) ist offenbar fertig und soll im August (2017) kommen.

Vortrag: Advanced PowerShell Module Development with Visual Studio Code mit David Wilson

Sehr guter Vortrag vom Projektkoordinator der PowerShell Extensions für VS Code auch wenn ich leider etwas zu spät kam (u.a. da der Raum ein wenig „versteckt“ war). Der relativ große Raum war zudem komplett voll (ich hatte allerdings Glück, einen der wenigen noch freien Sitzplätze zu finden, ansonsten hätte ich den Rest des Vortrags am Eingang stehend verbringen müssen). Visual Studio Code ist ein genialer Editor, vor allem dank der ebenfalls genialen PowerShell-Erweiterung. Beide werden laufend weiterentwickelt. Es ist allerdings noch nicht alles „out of the box“ verfügbar, wer z.B. Pester-Tests direkt starten möchte, muss aktuell noch etwas an den Konfigurationsdateien basteln.

Vortrag: PowerShell Uncensored mit Jaap Brasser und Jason Yoder

Der Anschlusvortrag zu „Advanced PowerShell Module Development“ im selben Raum. Er begann unterhaltsam, doch gegen Ende war ein wenig die Luft raus und die gezeigten Beispiele (u.a. zu den Kennwortrichtlinien bei Windows Server und das Abfragen von Wetterdaten und Aktienkursen per Webservice-Aufruf) hatten nur noch indirekt etwas mit PowerShell zu tun. Faszinierend waren die Beispiele zum „Projekt Oxford“, auch wenn es hier ebenfalls nur indirekt um PowerShell ging. Auf den Punkt gebracht geht es bei dem Projekt darum, wie sich auf der Grundlage der von Microsoft als Teil des Azure Portals die „Emotion API“ (Stichwort: Machine Learning“ ) einbinden lassen Damit lassen sich z.B. Emotionen in Fotos, aber auch emotionale Stimmungen in Texten, etwa in Twitter Feeds, auswerten. Faszinierend und auch ein wenig beängstigend zugleich, denn ein „Emotionales Profiling“ wird damit zumindestens technisch sehr einfach möglich. Es ist naheliegend, die REST-API-Aufrufe in PowerShell-Functions zu kapseln, so dass sich die Auswertungen interaktiv durchführen lassen. Ein Dank an die beiden Sprecher, dass sie die Teilnehmer des Workshops bzw. die PowerShell Community auf diesen Bereich der IT aufmerksam gemacht haben. Mehr dazu unter https://blogs.msdn.microsoft.com/martinkearn/2016/03/07/using-the-project-oxford-emotion-api-in-c-and-javascript/.

Vortrag: Ghosts of DSC past, present and Yet-to-come

Diesen Vortrag hätte eigentlich Mark Gray aus dem PowerShell-Team halten sollen. Da dieser kurzfristig absagen musste, sprang Bruce Payette. Eigentlich kein schlechter Ersatz, denn Bruce ist einer der „Erfinder“ von DSC. Dennoch war der Vortrag für meinen Geschmack etwas zu allgemein gehalten und zwangsläufig etwas zu theoretisch. Bruce ging im Wesentlichen die Folien seines Kollegen durch und würzte die Inhalte mit eigenen Kommentaren. Für jemand, der DSC bereits in der Praxis einsetzt, war der Informationsgehalt daher gering. DSC ist ein Thema, das von der Praxis lebt.

Vortrag: Using Desired State Configuration in Azure mit Will Anderson

Der Vortrag fand zeigleich zu „PowerShell Past Present and Future“ statt und war bereits eventuell deswegen nur spärlich besucht (trotzdem lief die Klimanlage an dem nicht allzu warmen Tag in dem Raum auf Hochtouren). Ein anderer Grund könnte das Thema selber gewesen sein. Wenn DSC bei uns bislang kaum eingesetzt wird, dann sicher erst recht nicht unter Azure. Der Vortrag war aber trotzdem informativ und gab einen guten Überblick über ein Thema, das in Zukunft nach den Plänen von Microsoft eine größere Rolle spielen soll. Will Anderson ist PowerShell MVP aus den USA und hat bereits „jede Menge“ Artikel über DSC für die „Hey, Scripting Guy“-Kolumne geschrieben. Sein Blog ist http://lastwordinnerd.com.

Vortrag: Test your Powershell code with AppVeyor for ITPros mit André Kamman

Vortrag: PowerShell Present and Future mit Angel Calvo und Kenneth Hansen

Zu diesem Vortrag kam ich nur noch zum Schluss, da ich den parallel laufenden Vortrag zum Thema Azure und DSC vorgezogen hatte. Der kleine Raum war packend voll was bei dem Thema zu erwarten gewesen war. Für mich blieb noch eine kleine Stellfläche unmittelbar an der Tür, die dadurch nicht mehr hätte geöffnet werden können, ohne mich beiseite schieben zu müssen. Allzu viel bekam ich auch nicht mehr mit, außer, dass das PowerShell Team sehr am Feedback seiner Anwender interessiert ist (keine Neuigkeit). Ich denke, dass es bei kommenden Versionen nicht darum gehen kann „jede Menge“ weitere Features einzubauen (was auch nicht geplant zu sein scheint). Sehr viel wichtiger ist es, die Erlernbarkeit der PowerShell zu verbessern bzw. den Umstand zu adressieren, dass die PowerShell für den typischen Admin immer noch zu technisch und damit zu kompliziert ist und damit nicht ihren Zweck erfüllt. Der Umstand, dass ein kleiner Raum auf einer mit knapp 300 Teilnehmern insgesamt eher kleinen Konferenz voll war, ist für mich kein Beleg, dass sich am Umfang der Nutzung der PowerShell bei den Administratoren in den letzten Jahren grundlegend etwas geändert hat. Ich schätze, das der Anteil der PowerShell-Anwender unter den Administratoren immer noch kleiner als 10% ist. Auch wenn der Einstz von PowerShell-Skripten selbstverständlich geworden ist, ist er immer noch die Ausnahme und nicht die Regel.

Vortrag: Ask Microsoft anything mit Angel Calvo, Bruce Payette, David Wilson, Jeffrey Snover, Joey Aiello und Kenneth Hansen

Beim Abbschlussvortrag am letzten Tag gab es noch einmal die Gelegenheit, das PowerShell Team und damit Microsoft alles Mögliche zu fragen (wenngleich es nicht auf jede Frage eine Antwort gab). Diese Gelegenheit wurde von den Anwesenden auch ausgiebig genutzt, so dass die Session ca. 20 Minuten länger ging als geplant (ich habe meinen Zug um 17 Uhr 07 nach Stuttgart aber trotzdem gerade so noch erwischt). Meine Frage, wann es denn endlich auch eine deutschsprachige PowerShell-Hilfe geben würde ergab, dass dies so schnell nicht passieren wird. Schade.

Wer bis hier alles gelesen hat, alle Achtung;) Und dabei waren es nur gerade mal 12 der ingesamt knapp 80 Vorträge, die auf der Konferenz gehalten wurden.

Weitere Stichworte in loser Reihenfolge:

>Für ScriptBlock-Logging wäre ein Auswertungstools praktisch.
>AppLocker kann die Ausführung von Ps1-Skripten verhindern, nur wer verwendet AppLocker?
>WMF 5.1 sollte der Standard sein
>GlusterFS – Einrichten eines verteilten Dateisystems (läuft aktuell aber nur unter Linux)
>Aufruf eines Scriptblocks mit . und & – einmal mit neuem ExecutionContext, einmal wird der vorhandene ExecutionContext übernommen
>Mehr Sicherheit durch systemweite Transcripts?
>Es gibt offenbar eine Variable, durch die sich das implizite Laden von Modulen deaktivieren lässt – in einer DSC-Konfiguration werden Module nicht implizit geladen – den Namen habe ich aber nicht behalten;)
>Phosphor in ein interessantes PowerShell-Modul für das automatische Erstellen einer auf HTML und JavaScript und damit plattformunabhängigen Benutzeroberfläche für PowerShell-Skripte

PowerShell VIPs zum Anfassen


Wie unterscheidet sich die PoshConf von einer StarTrek-Konvention? Ganz einfach, die Autogrammkarten sind kostenlos bzw. es gibt natürlich keine. Wer sich mit Jeffrey, Bruce, Joey oder einem anderen „PowerShell VIP“ fotografieren lassen wollte, hatte dazu jede Menge Gelegenheit. Entweder bei der offiziellen „Foto Box“, die am Dienstagabend auch im Yukon Bay-Restaurant aufgestellt war, oder natürlich per Selfie. Auch Autogramme gab es theoretisch jederzeit auf alle beschreibaren Materialien.

Daneben gab es auch viel PowerShell-Prominenz aus dem Aus- und Inland, u.a. Luc Dekens (Power CLI), Matthew Graeber (u.a PowerSploit), Bartosz Bielawski (u.a. Linux), Ian Brighton (PScribo) und natürlich Chrissy Le Maire (u.a. DBaTools). Beim Schreiben der Namen fällt mir auf, dass ich eigentlich mit keinem der Experten persönlich gesprochen habe und Ian Brighton, dessen PScribo-Modul ich öfter verwende, noch nicht einmal gesehen habe (eventuell war er auch gar nicht dabei, da ein Sprecher kurzfristig absagen musste, ein anderer erhielt offenbar kein Visum für die Einreise). Es waren zwar „alle“ da und theoretisch gab es auch jede Menge Gelegenheiten für ein kurzes Gespräch, per Zufall ergab sich aber relativ wenig (was auch an der Lokalität des Kongresszentrums in Hannover mit seinen langen Wegen, verschlungenen Gängen und den teilweise kleinen Räumen gelegen hat), man musste selber aktiv werden falls man mit einem PowerShell-Guru, den man bislang nur vom Namen her kannte, ins Gespräch kommen wollte.

Fazit


Für PowerShell Pros hat die Teilnahme an der Konferenz mit Sicherheit sehr viel an neuem Know-how, Anregungen und Kontakte gebracht. Dafür sorgten die in der Regel praxisnahen Konferenzthemen und die Anwesenheit zahlreicher PowerShell-Experten aus Europa und natürlich dem PowreShell-Team selber. Auch der Umstand, einmal auf direkte „Tuchfühlung“ mit den Verantwortlichen bei Microsoft gehen zu können, trug dazu bei, dass man das Gefühl haben konnte drei Tage Know-how für die nächsten Monate und eventuell auch Jahre „aufsaugen“ zu können. Vor der Beginn der Konferenz gab es wie üblich noch einen Workshop-Tag, in dem es u.a. um eine Einführung in DSC, PS-Remoting oder „neumodische“ Themen wie Nanoserver und Container ging. Schön war auch, dass es eine europäisch ausgerichtete Konferenz war. Die Teilnahme kostete 1.000€ zzgl. Mwst, durch Anreise und Hotel kamen noch einmal im Durschnitt 400€ hinzu. Das Gesamtpaket PowerShell-Konferenz kostet daher ca. 1.500€. Deutlich weniger als eine klassische Schulung in diesem Bereich.

Das Microsoft PowerShell-Team kommt nach Deutschland (und viele andere PowerShell-Experten auch)

Wer einmal den Erfinder der PowerShell, Jeffrey Snover, persönlich kennenlernen möchte, hat dazu Anfang Mai in Hannover die Gelegenheit. Zusammen mit vielen anderen „PowerShell-Promis“ kommt der Vater der PowerShell zur PowerShell Conf Europe, die vom 3. bis 5. Mai in Hannover stattfindet.

Auf der Konferenz werden 3 Tage PowerShell-Know how von den bekanntesten Experten der weltweiten PowerShell-Community geboten. Mehr Know-how an einem Ort geht fast nicht mehr.

Weitere Infos zur Teilnahme gibt es unter psconf.eu.

Endlich – PoshGUI.com, ein GUI-Designer für PowerShell-Skripte im Browser

Darauf habe ich lange gewartet, auf eine simple Möglichkeit einfache GUIs für ein PowerShell-Skript zusammenklicken zu können, ohne ein Tool installieren zu müssen mit Registrierung, Aktivierung (und dem Bezahlen ganz zu schweigen;). Es muss nicht immer alles kostenlos sein, aber ich muss auch keine Schrankwand kaufen, wenn ich ein paar Gegenstände in einem Karton unterbringen möchte.

Mit POSHGui wird eine Fensteroberfläche im Browser zusammengeklickt. Anschließend kann der generierte Code in ein Skript eingefügt werden. Dann müssen nur noch die Befehle in die dafür vorgesehenen Scriptblöcke eingetragen werden. Einfach und effektiv.

Die Adresse ist http://poshgui.com

Mit PoshGUi stellt man sich ein Fenster im Browser zusammen

Zweites Treffen der PowerShell User Group Stuttgart am 23.02.17

Am 23.02.17 fand das zweite Treffen der PowerShell User Group Stuttgart statt. Der Gastgeber war dieses Mal die Firma Reddoxx (aka Die Netzwerker) in Kirchheim unter Tek (es ist interesssant, dass es von Esslingen aus mit 32km fast genauso weit nach Kirchheim Tek ist wie nach Stuttgart Vaihingen, nur die Fahrzeit kann „ein wenig“ varriieren, wenn auf der A8 Richtung München mal wieder Stau ist).

Es war wieder ein netter und abwechslungsreicher Abend angefüllt mit vielen kleinen und größeren Details rund um die PowerShell. Das Motto des Abends war „Script Review“ oder „Bring your own Script“ (BYOS). Die Idee war, dass jeder seine PowerShell-Skripte hätte mitbringen können, die dann unter fachkundiger Begutachtung aller Anwesenden auf Schwachstellen und mögliche Verbesserungen hätten abgeklopft werden sollen.

Das Fazit des Abends war, dass jeder der Annwesenden wieder einiges über die PowerShell dazu gelernt hat, mich eingeschlossen. So muss ich zugeben, dass ich bislang nicht wusste, dass sich auch Functions „dot sourced“ aufrufen lassen. In diesem Fall werden die lokalen Variablen der Functions in die Ebene des Aufrufers übernommen und stehen dort nach Beendigung der Function noch zur Verfügung. Mit anderen Worten, die lokalen Variablen einer Function werden durch den dotsoured-Aufruf zu Skriptvariablen. Mir fällt zwar nach wie vor kein Anwendungsfall dafür ein, interessant ist diese Technik aber in jedem Fall.

Der Termin für das dritte Treffen steht bereits fest: Am 15. März 2017, dieses Mal wieder in den Räumen von Microsoft in Stuttgart Vaihingen. Alle Infos gibt es hier:

https://www.meetup.com/de-DE/German-PowerShell-Usergroup/events/237720913/

Eine Anmeldung über Meetup ist erforderlich. Das setzt eine Registrierung bei Meetup voraus, ist aber in 2-3 Minuten erledigt.

Beim Script-Review herrschte absolute Hochspannung

Script-Review in Action

Ein weiteres Stimmungsbild vom zweiten Treffen der PowwerShell User Group Stuttgart in Kircheim Tek

WMF 5.1 offiziell verfügbar

Seit Mitte Januar 2017 gibt es offiziell die Version 5.1 der Powershell und des Windows Management Framework (WMF) für alle windows-versionen ab Windows Server 2008 R2 und Windows 7.

Die Download-Adresse ist:

http://www.microsoft.com/en-us/download/details.aspx?id=54616

Viele Neuerungen sind es natürlich nicht, aber es gibt Neuerungen. Eine davon sind signierte Module. Eine andere ein Satz an Cmdlets für die Verwaltung lokaler Benutzer und Gruppen.

Die immer lesenswerten Release-Notes gibt es hier:

https://msdn.microsoft.com/en-us/powershell/wmf/5.1/release-notes