Archiv der Kategorie: PowerShell

Report des Log Analytics Workspace für alle Azure VMs

Manchmal möchte man nur wissen, an welchen Log Analytics Workspace (OMS für die älteren Leute da draußen) eine VM ihre Log Daten sendet. Oder sogar alle von euren Azure VMs auf einmal?

Mit dem folgenden Skript ist diese Aufgabe kinderleicht. Und dank RamblingCookieMonster und seinem PSExcel Modul kannst du das Ergebnis direkt an alle Excelliebhaber versenden.

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.

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

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

„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

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

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.

 

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

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

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