Archiv der Kategorie: PowerShell

AzureRM.Network 0.9 macht Probleme mit Azure Automation

Solltet Ihr Azure Automation nutzen und das Modul AzureRM.Network in einer der Versionen von 0.9.0 bis min. 0.10.0 nutzen, kann es zu Problemen bei der Ausführung von Azure Automation Runbooks kommen.

Sollten die verwendeten Runbooks insgesamt etwas aufwändiger sein, kann es durch diese Version zu hoher Memory Auslastung kommen. Sollten über 400 MB RAM verwendet werden, endet das Runbook nach drei Versuchen im Status „Suspended“.

The runbook job was attempted 3 times, but it failed each time. Common reasons that runbook jobs fail can be found here:
https://docs.Microsoft.com/en-us/Azure/automation/automation-troubleshooting-automation-errors

Ein Downgrade auf Version 6.8.0 ist erforderlich. Am einfachsten natürlich mit PowerShell.

Ich arbeite als IT Consultant bei Aequitas Integration und habe einen Fokus auf die Microsoft Enterprise Produktpalette.
Jedoch beschäftige ich mich schon lange auch mit Linux und finde auch die unteren OSI Schichten interessant.

PowerShell Modul Entwicklung: Pester Tests

Mittels Pester Tests lässt sich bei der PowerShell Modul Entwicklung ein Grad an Qualität sicherstellen, die man sonst nur sehr aufwändig manuell erreichen würde. Dabei gilt es zwei wichtige Faktoren zu prüfen. Modul- und Funktions-Integrität.

Weiterlesen

Ich arbeite als IT Consultant bei Aequitas Integration und habe einen Fokus auf die Microsoft Enterprise Produktpalette.
Jedoch beschäftige ich mich schon lange auch mit Linux und finde auch die unteren OSI Schichten interessant.

AzureSimpleREST Module

Obwohl Microsoft einen tollen Job mit ihrem AzureRM Modul macht, gibt es immer wieder Gründe diese Cmdlets nicht zu nutzen. In den meisten Fällen weil Sie langsamer sind als direkte Anfragen gegen die Azure REST API sind. In anderen Fällen weil bestimme Funktionalitäten noch nicht implementiert wurden.

In diese Lücke positioniert sich das von mir geschriebene Modul AzureSimpleREST

Weiterlesen

Ich arbeite als IT Consultant bei Aequitas Integration und habe einen Fokus auf die Microsoft Enterprise Produktpalette.
Jedoch beschäftige ich mich schon lange auch mit Linux und finde auch die unteren OSI Schichten interessant.

„Reverse engineering“ der Azure REST API

Die Azure REST API ist grundsätzlich gut dokumentiert und dank des REST API Browsers lässt sich auch auf die schnelle etwas ausprobieren. Jedoch gibt es Momente im Azure Portal die zu verwunderten Gesichtern führen und in diesen Fällen helfen die „Developer tools“ von Chrome um Licht ins Dunkel zu bringen.

Weiterlesen

Ich arbeite als IT Consultant bei Aequitas Integration und habe einen Fokus auf die Microsoft Enterprise Produktpalette.
Jedoch beschäftige ich mich schon lange auch mit Linux und finde auch die unteren OSI Schichten interessant.

PowerShell über SSH in Windows 10 Build 1803

Mit Windows 10 Build 1803 hat Microsoft Ihr Versprechen eingelöst und den OpenSSH Client im Standard aktiviert. Das verringert die Hürde für den geneigten Administrator OpenSSH für PowerShell Remoting zu nutzen.

Außerdem wurde das Wort Beta gestrichen, wodurch Microsoft nun offiziell Support für diese Version des OpenSSH Client und Servers bietet.

Weiterlesen

Ich arbeite als IT Consultant bei Aequitas Integration und habe einen Fokus auf die Microsoft Enterprise Produktpalette.
Jedoch beschäftige ich mich schon lange auch mit Linux und finde auch die unteren OSI Schichten interessant.

Azure Resource Manager API Übersicht

Beim Schreiben von ARM-Templates braucht man häufig verschiedene API-Versionen der Resource Types. Mit dem nachfolgenden Skript werden alle angezeigt, die in der ausgewählten Subscription vorhanden sind.

 

IT Consultant @brightskiesgmbh und PowerShell Enthusiast.

PowerShell Module – Installation and Update

Wer viel mit der PowerShell arbeitet, kommt nicht um Module aus der PS Gallery herum.

Die Module werden von Zeit zur Zeit aktualisiert und das kann dafür sorgen, dass Cmdlets, Funktionen, Aliase, usw. hinzugefügt, bzw. entfernt werden oder so angepasst werden, dass diese anders angesprochen werden müssen.

Mir ist dies vor ein paar Wochen bei dem Module cNtfsAccessControl aufgefallen, nachdem die DSC-Configuration auf einen Fehler hinauslief.

Zum anderen kommt es zu Problemen, wenn mehrere Versionen des gleichen Moduls auf einem Server installiert sind. Es ist zwar von Microsoft unterstützt und das Importieren von Modulen kann auch pro Version geschehen, aber persönlich finde ich diesen Ansatz ehr unsauber, da es in den meisten Fällen zu Verwirrungen führt und z.B. DSC-Configuations Probleme mit verschiedenen Versionen haben.

Weiterlesen

IT Consultant @brightskiesgmbh und PowerShell Enthusiast.

Azure Automation – Erweiterte Parameterverarbeitung

Beim Arbeiten mit Azure Automation kommt man schnell an den Punkt, dass ein Runbook ein zweites Runbook starten soll. Dabei möchte man meistens auch noch den einen oder anderen Parameter übergeben. Das ist alles kein Problem und schnell und einfach realisiert.

Interessant wird es jedoch wenn komplexere Objekte wie Arrays oder Hashtables übermittelt werden sollen.

Weiterlesen

Ich arbeite als IT Consultant bei Aequitas Integration und habe einen Fokus auf die Microsoft Enterprise Produktpalette.
Jedoch beschäftige ich mich schon lange auch mit Linux und finde auch die unteren OSI Schichten interessant.

Die Zukunft von DSC

Mit Desired State Configuration (DSC) hat Microsoft Sysadmins und DevOps Teams ein Tool an die Hand gegeben um Systemkonfigurationen zu beschreiben und nicht Installationen zu skripten.

Dieser deklarative Ansatz unterscheidet sich stark von dem semi-manuellen oder automatisierten Ansatz den viele Firmen heute noch betreiben. Es wird nicht mehr Codezeile für Codezeile ein SQL Server installiert und konfiguriert, sondern es wird definiert wie der SQL Server, wenn er installiert ist, aussehen soll. Den Rest übernehmen die DSC Ressourcen.
Nicht nur wird so eine Dokumentation erstellt, sondern es macht diese Konfiguration reproduzierbar und versionierbar.

Bisher war DSC hauptsächlich für die Windows PowerShell verfügbar.
Durch die Entwicklung von PowerShell Core und die damit einhergehende plattformunabhängige Basis kommen neue Anforderungen auf DSC zu.

Im PowerShell Team Blog hat das Team Ihre Planung für die nächste Zeit vorgestellt.

Weiterlesen

Ich arbeite als IT Consultant bei Aequitas Integration und habe einen Fokus auf die Microsoft Enterprise Produktpalette.
Jedoch beschäftige ich mich schon lange auch mit Linux und finde auch die unteren OSI Schichten interessant.

Azure Webhook – Universelles Runbook zum Aufrufen aller Runbooks

Webhooks in Azure Automation sind ein schneller und einfacher Weg, um die Vorzüge der Microsoft Azure Plattform in bereits bestehende Automations-Mechanismen zu integrieren.

Pro Runbook erstellt man schnell einen Webhook und ruft diesen über eine REST-Methode auf. Sobald allerdings Parameter im Spiel sind, muss man diese entweder schon bei der Erstellung des Webhooks mitgeben oder das Runbook so umschreiben, dass die Parameter durch ein externes Skript weitergegeben werden.

In dem folgenden Blog-Post von Stefan Stranger beschreibt er, wie man ein Runbook über einen Webhook mit externer Parameter-Übergabe aufruft.

Nun stellt sich die Frage, muss ich jedes Runbook umschreiben und mit einem Webhook versehen? Dies ist natürlich möglich, aber sorgt für viel Arbeit und ist nicht wirklich praktikabel, da sich die Ausführung auf einen Webhook beschränkt.

Ein Kollege brachte mich auf die Idee, ein universelles Runbook zu schreiben, welches über einen Webhook aufrufbar ist und bei dessen Aufruf genau das Runbook startet, welches ich eigentlich ausführen möchte. Dies hat den großen Vorteil, dass alle Runbooks einen normalen Aufbau vorweisen (Parameter) und gleichzeitig auf unterschiedliche Arten gestartet werden können.

Weiterlesen

IT Consultant @brightskiesgmbh und PowerShell Enthusiast.