MCP Cloud Automation mit PowerShell

PowerShell erfreut sich großer Beliebtheit. Fast jeder Admin hatte in den letzten Jahren Berührungspunkte mit dieser Scriptingsprache. Kein Wunder, man kann damit wunderbar automatisieren.

Auch unsere Cloud-Services lassen sich damit administrieren. Aktuell schreibe ich ein kleines Script für das automatische Rollout von Backup-Agents.

Das bringt mich zu diesem Blog-Post, denn ich möchte nur kurz demonstrieren wie schnell man tägliche Tasks mit unseren PowerShell-Modulen automatisieren kann.

Log geht’s.

MCP Cloud Automation mit PowerShell weiterlesen

MCP Usage Reports automatisch erstellen

Weil wir gerade so eine Anfrage haben, möchte ich kurz darüber schreiben.

Man kann in der Dimension Data Cloud einen Usage Report über die Admin-UI erstellen. Dabei wird ein CSV-File generiert, welches dann weiter verarbeitet werden kann.

MCP Usage Reports automatisch erstellen weiterlesen

ESXCLI Commands mit PowerCLI ausführen

Hallo,

aktuell ist die Hölle los, weshalb hier auch weniger neue Beiträge landen.

Das hier fande ich jetzt aber so lässig, dass ich mich trotzdem kurz hinhocken musste um etwas darüber zu schreiben.

Konkret geht es darum, ESXCLI Befehle via PowerCLI (also PowerShell) auf ESX-Hosts auszuführen. Wie geht das? Genau so:

$esxcli = Get-EsxCli -VMHost 1.1.1.1

$esxcli

====================
EsxCli: 1.1.1.1

   Elements:
   ---------
   esxcli
   fcoe
   hardware
   iscsi
   network
   software
   storage
   system
   vm

Wie kann man das verwenden?

$esxcli.network.nic.list()

Description : Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
Driver      : e1000
Duplex      : Full
Link        : Up
MACAddress  : 00:0c:29:80:f9:a0
MTU         : 1500
Name        : vmnic0
PCIDevice   : 0000:002:01.0
Speed       : 1000

Nachdem man mit ESXCLI ja bekanntlich nicht nur Abfragen starten kann, sondern auch Konfigurationen verändern kann.

Hier nur ein Beispiel. Zunächst holen wir mal die Config:

$esxcli.system.syslog.config.get()


DefaultNetworkRetryTimeout : 180
DefaultRotationSize        : 1024
DefaultRotations           : 8
LogOutput                  : /scratch/log
LogToUniqueSubdirectory    : false
RemoteHost                 : <none>

 

$esxcli.system.coredump.network.set

TypeNameOfValue     : VMware.VimAutomation.ViCore.Util10Ps.EsxCliExtensionMethod
OverloadDefinitions : {boolean set(boolean enable, string interfacename, string serveripv4, long serverport)}
MemberType          : CodeMethod
Value               : boolean set(boolean enable, string interfacename, string serveripv4, long serverport)
Name                : set
IsInstance          : True

Genau in dieser Reihenfolge können wir jetzt das „SET“ starten:

$esxcli.system.syslog.config.set(8,1024,180,"/scratch/log",$false,"1.1.1.2")
true

Kontrolle mit GET:

$esxcli.system.syslog.config.get()

DefaultNetworkRetryTimeout : 180
DefaultRotationSize        : 1024
DefaultRotations           : 8
LogOutput                  : /scratch/log
LogToUniqueSubdirectory    : false
RemoteHost                 : 1.1.1.2

Hier gibt es eine Übersicht über alle möglichen ESXCLI-Commands:

How to list all the PowerCLI ESXCLI commands

Durchaus nützlich in meinen Augen. Was meint ihr?

 

Bis demnächst.

 

Liebe Grüße

Falk