Archiv der Kategorie: Allgemein

PowerShell unter Linux unter Windows (Linux-PowerShell ohne Linux VM)

Eine PowerShell unter Linux, die direkt unter Windows läuft? Dank dem relativ neuen Windows Subsystem for Linux ist das grundsätzlich alles kein Problem mehr. Zuerst muss das WSL installiert werden, das mit dem aktuellen Creators Fall Update von Windows 10 offiziell geworden ist (für Windows Server 2016 wird ein Update geben). Danach wird ein Linux aus dem Windows Store installiert, z.B. Ubuntu.

Wie das WSL installiert wird, beschreibe ich in einem anderen Blog-Eintrag: http://winhub.de/?p=154

Danach startet man die Bash und installiert die PowerShell für Linux genauso so wie es auf der GitHub-Projektseite z.B. für Ubuntu 16.04 beschrieben wird:

https://github.com/PowerShell/PowerShell/blob/master/docs/installation/linux.md#ubuntu-1604

Anschließend wird die PowerShell durch Eingabe von „powershell“ gestartet. Windows PowerShell und Linux PowerShell laufen damit parallel in zwei Fenstern. Einen zwingenden Anwendungsfall gibt es dafür natürlich nicht. Wer die beiden PowerShell-Varianten vergleichen oder sich in einer Linux-Umgebung bewegen könnte, kann dies jetzt sehr einfach tun, da keine VM mehr einrichtet werden muss – ressourcenschonender dürfte diese Variante daher auch sein.

PowerShell-Usergroup-Treffen mit PowerShell-Prominenz am 16.9.2017

Am Samstag, den 16.9.2017 findet von 9 (!) bis 18 Uhr in Stuttgart (oder in der näheren Umgebung) erstmals ein PowerShell-Saturday mit einer Reihe interessanter Vorträge statt. Auf der Sprecherliste stehen mit Chrissy LeMaire und Rob Seweel zwei bekannte Köpfe aus der internationalen PowerShell-Community.

Der Ort für die Veranstaltung steht noch nicht fest, da er von der Teilnehmerzahl abhängt. Es wäre daher gut, wenn sich jeder Interessierte möglichst bald (am besten Jetzt) anmelden würde:

https://www.eventbrite.com/e/powershell-saturday-stuttgart-tickets-36601493051

Die Liederhalle muss glaube ich nicht angemietet werden, aber es wäre schön, wenn die Veranstaltung auch tatsächlich im Großraum Stuttgart stattfinden würde.

Neben den angekündigten Vorträgen hat jeder, der kommt, wie immer die Gelegenheit etwas Eigenes (sofern es mit PowerShell zu tun hat) vorzustellen.

Die ersten Schritte mit Wireshark

Wireshark ist „das“ Tool für die Analyse von Netzwerkverbindungen, sprich von Paketen, die im Rahmen einer Netzwerkverbindung übertragen. Es gibt natürlich Alternativen, doch sind diese entweder nicht kostenlos oder nicht so komfortabel. Von Microsoft gab es vor vielen Jahren den Network Monitor, der offenbar mit der Version 3.4 eingestellt wurde. Er ist zwar noch als Download erhältlich, doch empfehle ich ihn nicht, denn Wireshark ist die deutlich flexiblere Alternative.

Ist man lediglich an HTTP/HTTPS-Paketen interessiert, wie sie z.B. bei PowerShell-Remoting anfallen, gibt es mit HttpDebuggerPro (nicht kostenlos) und Fiddler4, alternative Tools, die eventuell etwas einfacher zu bedienen sind.

Wireshark unterstützt sämtliche in Frage kommenden Protokolle, bietet eine komfortable Filtersyntax, ist bestens dokumentiert, es gibt eine große, weltweite Community (und sogar eine eigene Konferenz) und ist trotz unzähliger Einstellungen und angesichts einer Fülle von Details, die eine Paketanalyse zwangsläufig liefert, relativ einfach zu bedienen, u.a. dank einer durchdachten Benutzerführung. Es ist wirklich faszinierend, wie vielschichtig und detailreich die Internet-Protokolle sind. Vor allem angesichts der Tatsache, dass alles bereits in den 70er Jahren entstand und damit bereits über 40 Jahre alt ist.

Die Downloadresse von Wireshark ist: https://www.wireshark.org

Die Installation der Windows-Version ist schnell erledigt.

Für das allerste Kennenlernen empfehle ich den Datenverkehr zur eigenen Homepage zu analysieren. Hier kam man im Allgemeinen davon ausgehen, dass wirklich nur ein paar Seiten per HTTP abgerufen werden und keine Anfragen gegen Dutzende von Werbenetzwerken und Websites zur Datenauswertung gestartet werden, die alle im Detail in der Ausgabe erscheinen.

Tipp: Beim Betrachten einzelner Pakete fiel mir auf, dass nahezu überall der Begriff „Arcadyan_cc“ enthalten ist. Zunächst vermutete ich (natürlich;), dass mein Notebook jede Anfrage auch einen ominösen Rechner im Internet sendet und dieser sogar meinen Computer anpingt, um irgendwelche Schwachstellen zu finden. Eine kurze Internet-Recherche ergab, dass dahinter eine Firma aus Taiwan steckt, die u.a. Router und Modems herstellt. Eines dieser Produkte heißt bei uns Speedport und dürfte Telekom-Kunden bestens bekannt sein.

Das Einrichten eines Filters ist bei Wireshark sehr einfach. Gib in die Filterleiste z.B.

http.host contains „training“

ein, um nur Pakete von Http-Verbindungen zu sehen, die von einem Host stammen, in dessen Name „Training“ vorkommt. Ist der Filter in Ordnung wird er grün eingefärbt, ansonsten rot.

Es versteht sich von selber, dass man mit Wireshark Stunden verbringen kann und natürlich wissen muss, was einem da an Details präsentiert wird.

Noch ein Tipp zum Schluss, der Euch eventuell eine lästige Suche erspart. Werden auf einmal nur noch Pakete mit einem „UNKNOWN“-Protokoll angezeigt, habt ihr es irgendwie geschafft, alle Protokolle zu deaktivieren. Wer [Strg]+[Umschalt]+[E] wird die Protokollliste angezeigt und es können alle Protokolle wieder aktiviert werden.

Also, viel Spaß bei der Paketanalyse.

Immer wieder nett, Paketanalyse mit Wireshark

Die aktuellste PackageManagement Preview – März 2016

Dieser Eintrag ist eher eine „Note to myself“ – in Schulungen suche ich oft eine Weile nach dem aktuellsten Link für die PackageManagement-Preview für die PowerSHell 4.0, so dass PowerShellGet und Install-Module zur Verfügung stehen. Wie ea aussieht, datiert die aktuellste Version vom März letzten Jahres:

https://www.microsoft.com/en-us/download/details.aspx?id=51451

Auf der einen Seite ist es etwas seltsam, dass das PowerShell-Team eine so simple Angelegenheit wie das PackageManagement-Projekt nicht endlich offiziell freigeben kann. Der „wahre“ Grund könnte sein, dass man die Anwnender dazu bringen will stattdessen WMF 5.1 zu installieren, was auch unter Windows 7 und Windows Server 2008 R2 problemlos möglich ist.

Die ersten Schritte mit den AWS-Cmdlets (inkl. Problemlösung)

Amazon stellt für die Nutzung ihrer inzwischen sehr umfangreichen Amazon Webservices (AWS) ein sehr umfangreiches Modul (über 2.500 Cmdlets!) zur Verfügung. Die AWS Tools for Windows PowerShell stehen u.a. über die PowerShell Gallery zur Verfügung.

Eine ausführliche Übersicht gibt es unter der folgenden Adresse: https://aws.amazon.com/de/powershell/. Dort gibt es auch einen Button für den direkten Download einer Msi-Datei, über die das .NET SDK und die Cmdlets installiert werden.

Die Dokumentation ist, typisch für AWS, vorbildlich mit ein paar kleineren Abstrichen.

Das Modul muss direkt per Import-Module geladen werden.

Ein kleiner „Trick“ zählt die Anzahl der Cmdlets, in dem die Verbose-Ausgabe auf den Standardausgabekanal umgeleitet und damit in die Pipeline gelegt wird.

Die Authentifizierung erfolgt über einen Access Key und einen Secret Key, die man zuvor in der AWS-Konsole im Browser anlegen muss. Der Secret Key wird nur einmalig beim Anlegen eines neuen Key angezeigt und kann als Csv-Datei heruntergeladen werden.

Mit den beiden Zutaten wird per Set-AWSCredentials ein Profil angelegt.

Hier kam es bei mir zu einer Fehlermeldung, die besagte, dass der Pfad %userprofile%\.asws\credentials nicht gefunden werden konnte. Dieser Fehler muss wohl mit der Version der AWS-Tools (3.3.45.0) und anderen Faktoren zu tun haben. Der Fehler trat nicht mehr auf, nachdem ich im Benutzerprofil ein Verzeichnis mit dem Namen .aws angelegt hatte.

Interessant ist, dass die Keys aber nicht in diesem Verzeichnis, sondern als Json-Datei RegisteredAccounts.json unter %userprofile%\AppData\Local\AWSToolkit abgelegt werden.

Anschließend wurde das Profil per Get-AWSCredentials -ListStoredCredentials aufgelistet. Per Clear-AWSCredentials kann ein Profil wieder gelöscht werden.

Die weitere Vorgehensweise ist dann sehr einfach. Bei allen Cmdlets wie z.B. Get-S3Bucket erfolgt die Authentizierung über das Profil, das per ProfileName-Parameter angegeben wird.

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

Das Ende meiner Loseblatt-Sammlung, das Ende einer Ära und das fehlende Schlusswort der letzten Aktualisierung

Vor einigen Tagen kam die letzte Aktualisierung der Loseblattsammlung mit dem Titel „Automatisierte Administration mit Scriptsprachen unter Windows NT 4.0/2000, 2003 und 2008“, für die ich über 10 Jahre als Herausgeber beim WEKA Verlag (vormals Interest Verlag) in Augsburg zuständig war.

Loseblatt. Das weckt natürlich Erinnerungen an die späten 80er und frühen 90er Jahre und sicher nicht nur positive. Damals wurden die Loseblatt-Werke zu allen möglichen Themen rund um das Thema Computer in allen Magazinen mit großem Aufwand beworben. Die Angebote klangen auch verlockend – über 1.000 Seiten Praxis-Know how, zusammmengestellt von namhaften Experten, in zwei voluminösen A5-Ringbüchern für nur 59 DM (Preis fiktiv), jederzeit kündbar, Geldzurückgarantie usw. Der Preis war natürlich nur ein Lockangebot für ein Abonnement, das, sobald es zustande kam, nicht mehr ganz so einfach kündbar war. Die meisten Abonnenenten liessen ihr Abo vermutlich mehr aus Bequemlichkeit weiterlaufen und erhielten alle paar Wochen einen Schwung von Blättern im DIN A5-Format, die sie theoretisch selber in den großen Ringordner im A5-Format einsortieren sollten, den sie als Teil des Begrüßungspakets erhalten hatten. Damals, als Internet noch etwas war, das jemand im fernen Kalifornien erfunden hatte, war ein Loseblatt-Abo eine Gewähr dafür an jene Informationen zu kommen, die ansonsten nur mit sehr viel Aufwand erhältlich gewesen wären.

Spätestens vor 5 Jahren hätte das Loseblatt-Werk eigentlich „tot“ sein müssen, da es inzwischen auch jede Menge Angebote im Internet gab, die Informationen so aufbereiteten, dass sie aktuell, informativ und leicht konsumierbar waren. Mein Scripting-Handbuch hielt sich tapfer trotz stetig sinkender Abo-Zahlen – am Ende im unteren zweistelligen Bereich. Jetzt ist Schluss und ich denke, dass es insgesamt gut so ist, da ich es niemanden mehr zumuten möchte Informationen zur PowerShell oder Windows Server alleine aus dem Lesen von A5-Seiten zu beziehen.

Leider wurde in der letzten Aktualisierung vom Dezember diesen Jahres mein Schlusswort im Editorial nicht abgedruckt. Für den unwahrscheinlichen Fall, dass ein ehemaliger Abonnent diesen Blog-Eintrag lesen sollte, hier sind die Sätze, die ich gerne noch an die verbliebenen Leser gerichtet hätte:


Mit dieser Aktualisierung wird das Loseblattwerk Scripting eingestellt. Die erste Aktualisierung erschien im Jahr 2000. Damals waren Themen wie Hyper-V, System Center, Azure und auch PowerShell noch visionäre Themen. Heute, 16 Jahre später, sind sie Alltag für alle, die sich in ihrem beruflichen Umfeld mit Microsoft-Produkten im Server-Umfeld beschäftigen müssen. Konstant geblieben ist über die Jahre die Notwendigkeit sich weiterbilden zu müssen und dabei Spaß am Beschäftigen mit neuen Themen zu haben. Wer sich diese Fähigkeiten erhält, ist für alles was in Zukunft noch kommen mag gut vorbereitet. Und natürlich: Vielen Dank, dass Sie dem Werk so lange die Treue gehalten haben.

eBook zum Thema PowerShell und Azure

Unter GitHub gibt es seit kurzem ein eBook, das den Einsatz der PowerShell im Zusammenspiel mit Azure sehr schön beschreibt:

https://github.com/gitralf/ersteschritte/blob/master/Azure_PowerShell_Erste_Schritte.pdf

Der Autor ist Ralf Wiegand, der bei Microsoft Deutschland für das Thema „Deutsche Cloud“ zuständig ist. Seinen Blog findet ihr unter https://blogs.technet.microsoft.com/ralfwi/.

10 Jahre PowerShell – mein persönliches Fazit

10 Jahre PowerShell bedeuten für mich einen Rückblick auf einen wichtigen Teil der letzten 10 Jahre meiner beruflichen Tätigkeiten. Wie für viele Menschen in der Branche hat auch die PowerShell mir neue Möglichkeiten eröffnet. Auch wenn der Ausblick anlässlich der 10th Anniversary-Party zur Zukunft der PowerShell leider etwas unspezifisch waren (etwa zur künftigen Rolle von SSH), gehe ich davon aus, dass in den nächsten 10 Jahren noch viel passieren wird.

Da 10 Jahre PowerShell auch für mich persönlich ein Grund zur Freude und zum Feiern ist, hat mir meine Frau eine kleine „Pauerschell-Torte“ gebacken. Vielen Dank!

10 Jahre PowerShell sind auch für mich ein Grund für eine kleine Feier

10 Jahre PowerShell sind auch für mich ein Grund für eine kleine Feier

10 Jahre PowerShell – Zwischenbilanz und ein Blick in die Zukunft

Am 14. November 2016 wurde die PowerShell 1.0 offiziell als Download freigegeen – damals noch etwas unfertig mit gerade 139 Cmdlets, ohne (direkte) AD-Unterstützung, ohne Module, ohne PS-Remoting, aber mit einer vollständigen Hilfe. Es hat ein paar Jahre gedauert bis sie von den Administratoren angenommen wurde, heute hat sich sie als ein Allround-Werkzeug etabliert, das in einigen Bereichen (Exchange Server) sogar alternativlos ist. In den Jahren ist die Funktionbalität stark angewachsen – alleine von Microsoft dürften die verschiedenenen Produktteams einige Tausend Cmdlets und Functions entwickelt haben (es ist zudem erstaunlich, wie viele PowerShell-Skripte bereits bei Windows 7 dabei waren und unbemerkt von den meisten Anwendern in den tiefen vom System32-Verzeichnis ihr Schattendasein fristeten).

Natürlich ist Quantität nicht autommatisch gleich Qualität, aber bei der PowerShell stimmt das Verhältnis. Das bei den von Microosft produzierten Cmdlets nur sehr wenig „Füllmaterial“ dabei ist macht der Umstand deutlich, dass Cmdlets für das Ein- und Auspacken von Zip-Dateien erst mit der Version 5.0 dazu kamen.

Mit der PowerShell hat sich der geistige Vater Jeffrey Snover, der bei Microsoft inzwischen nicht nur zum „Distinguished Engineer“ ernannt wurde, sondern seit ein paar Jahren auch die Windows Server-Gruppe leitet, ein Denkmal geschaffen.

Ich erinnere mich noch ganz gut als ich mich sehr früh morgens zu eimem Vortrag aufmachte, der anläßlich des Microsoft IT Forums im November 2006 in Barcelona stattfand, nur um aus erster Hand etwas über die neue PowerShell zu erfahren. Anstelle eines typiscchen jung-dynamischen Microsoft-Sprechers stand da ein etwas älterer Typ mit einer Krawatte (!) in einem Raum, der eher an einem Hörsaal erinnerte, hinter einem Tisch und redete mit eher monotoner Stimme. Die kleine Enttäuschung legte sich jedoch schnell wieder. Seit Jahren sind seine Vorträge, etwa der Klassiker „PowerShell Unplugged“, für mich ein Highlight auf jeder Microsoft-Konferenz, ob TechEd (z.B. jene, die 2009 in Berlin stattand, die PowerShell 2.0 war gerade erschienen, so dass der Vortrag voller Neuerungen war, auf die man lange gewartet hatte), Build oder jetzt Ignite. Alle diese Vorträge gibt es kurz danach auf Channel 9, so dass man längst nicht mehr irgendwo hin reisen oder gar früh aufstehen muss.

Wer sich auf kleine Reise in die Vergangenheit begeben möchte, findet auf Channel 9 sogar noch ein Interview mit Jeffrey Snover aus dem Jahr 2006:

https://channel9.msdn.com/showpost.aspx?postid=256994

Heute am 14. November begeht das PowerShell-Team das Jubiläum mit einer ganztägigen Konferenz, die auf Channel 9 live übertragen wird, und die einige ausgefallene Vortragsthemen umfasst:

https://channel9.msdn.com/Events/PowerShell-Team/PowerShell-10-Year-Anniversary

Neben Mitgliedern des Entwicklerteams werden auch paar PowerShell-Promis wie Ex-Scripting Guy Ed Wilson, Don Jones und Chrissy Le Mare (u.a. bekannt für die SQL Server Dba Tools) mit dabei sein.

Dazu noch ein Buchtipp mit Nostalgie-Faktor: Das Buch „Introducing the MSH Command Shell and Language“ von Andy Oakley war das allererste Buch zur PowerShell. Es ist auch über 12 Jahre später immer noch lesenswert, u.a. beschreibt der Autor wie man es schafft eine Konsolenausgabe in verschiedenen Farben auszugeben. Das Buch gibt es bei Amazon bereits ab 1 Cent – für echte PowerShell-Fans eigentlich ein „Must have“.

Es ist bemerkenswert, dass der 14.11 auch der 300te Todestag des deutschen Philosophen Gottfried Wilhelm Leibniz ist. Was hat ein Philosoph mit der PowerShell zu tun? Als Codenamen für die spätere PowerShell wählte Jeffrey Snover das Wort „Monad“ als Referenz auf die Theorie der Monaden des großen deutschen Denkers. Demnach ist ein Monad das kleinste Element, aus dem alles Leben und alle Materie besteht. Von Leibniz wird auch überliefert, dass er über sich selbst sagte: „Beim Erwachen hatte ich schon so viele Einfälle, dass der Tag nicht ausreichte, um sie niederzuschreiben.“ Wäre da nicht das selbst auferlegte „To ship is to choose“-Mantra des PowerShell-Teams, würde das im übertragenen Sinne auch auf Jeffrey Snover und seine Entwickler zutreffen.