Archiv der Kategorie: News

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

Bericht vom 1. Treffen der PowerShell User Group Stuttgart – und ein paar Tipps zum Umgang mit Hashtables

Am 12.1.2017 fand das erste Treffen der PowerShell User Group Stuttgart statt. Gastgeber waren die Firma Microsoft, die uns einen Raum in ihren schönen Firmenbüro in Vaihingen bei Stuttgart zur Verfügung stellte. Wenn ich mich nicht verzählt habe, waren wir insgesamt zu neunt, so dass die magische Grenze von 10 knapp verfehlt wurde. Aber für das erste Treffen, dessen Termin zudem so kurzfristig angesetzt wurde, war das bereits ein guter Anfang.

Nachdem Friedrich anhand eines von ihm entwickelten „Frameworks“ für die Rechnerkonfiguration, das er in seiner Firma einsetzt, einige recht spezielle Techniken vorgestellt hatte, unter anderem eine auf eigenen Attributen basierende Parametertyp-Konvertierung, gab ich einen Überblick über das Thema Hashtable, das in meinen Schulungen in der Regel eine gewisse Verständnishürde darstellt – inzwischen war es bereits 21 Uhr 20, so dass das ganze Treffen etwas länger ging als geplant. Kurz nach 22 Uhr war dann Schluss.

Noch ein Nachtrag zu einem meiner Beispiele, in der ich eine Hashtable mit einigen Tausend Datensätzen so ansprechen wollte, dass der Datensatz über eine Zahl ausgewählt wird, die die Rolle der Id des Datensatzes spielt.

Der folgende Befehl hat leider nicht funktioniert:

8000 ist der Wert eines Schlüssels. Der Befehl gab, sooft ich es auch probierte, einfach nichts zurück. Da es bereits etwas später war (und die Raumtemperatur für meinen Geschmack deutlich zu hoch eingestellt war) gab ich es dann auf. Die naheliegende Lösung $Liste[8000].Nachname war mir etwas zu trivial, da es auch anders gehen sollte.

Heute habe ich mich noch einmal auf die Suche nach einer Lösung gemacht und bin hier fündig geworden: http://blog.danskingdom.com/accessing-powershell-variables-with-periods-in-their-name.

Die Lösung besteht darin, den Index in runde Klammern zu setzen:

Und da wir gerade dabei sind: Einträge zu eine Hashtable per += hinzufügen ist deutlich langsamer als per Add-Methode.

Das erste Treffen der neuen PowerShell User Group Stuttgart fand in den Räumen von Microsoft in Vaihingen statt

Frohe Weihnachten…

Ich wünsche allen Lesern dieses Blogs frohe, sorgenfreie und gesegnete Weihachten und einen guten Start in das neue Jahr 2017.

Speziell was das Thema PowerShell angeht wird es wie fast in jedem Jahr auch 2017 abwechslungsreich bleiben. Mit SSH und einer „PowerShell 6.0“ auf allen Plattformen kommt ein neues Thema dazu, andere Themen wie Testen von Skripten, DSC-Ressourcen und allgemein Einstellungen mit dem Pester-Modul oder generell die Bedeutung einer „Release-Pipeline“ für Skripte und DSC-Ressourcen werden an Bedeutung zunehmen. Interessant wird es sein zu beobachten inwieweit Cloud-Angeboote wie Microsoft OMS (Operations Management Suite), mit der sich Windows Server überwachen lassen, auch in Deutschland angenommen werden.

Mein neues zur Buch zur PowerShell 5.0 wird auch hoffentlich im ersten Quartal erscheinen, so dass mir schon alleine aus diesem Grund die Arbeit nicht ausgehen wird.

Vielleicht sehen wir uns 2017 auf einer PowerShell-Schulung oder auf einem Treffen der PowerShell User Group, z.B. am 12.1.2017 in Stuttgart.

Ihr
Peter Monadjemi