Powershell DSC Desired State Configuration

Ähnliche Dokumente
Powershell DSC Oliver Ryf

IBM SPSS Collaboration and Deployment Services (C&DS) version 7

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

Version 0.3. Installation von MinGW und Eclipse CDT

MetaQuotes Empfehlungen zum Gebrauch von

Test mit lokaler XAMPP Oxid Installation

Windows 7 Winbuilder USB Stick

Beuth Hochschule JDK und TextPad WS14/15, S. 1

MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 5 auf Mac OS

AristaFlow BPM Suit Installation

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

Lehrveranstaltung Grundlagen von Datenbanken

4D Server v12 64-bit Version BETA VERSION

Anleitung. Integration von Kentix Geräten in den OpManager

Kurzanleitung Installation der Zend Studio Sprachpakete

White Paper - Integration von PRO Tips Recovery Tools in RiZone

Contents. Subversion Einrichten. Vorbereitung Folgende Tools werden benötigt. Ladet diese herunter und befolgt die Installationsanweisungen.

1 Objektfilterung bei der Active Directory- Synchronisierung

Options- und Freitext-Modul Update-Anleitung

Verteilte Administration mit STAF (Software Testing Automation Framework)

PV-S1600 Betriebssystem-Aktualisierungsvorgang. Sie müssen die beiden folgenden Schritte ausführen,

Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler Stephan Bauer, Christoph Schörner, Andreas Kuhtz

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Installation Anleitung für JTheseus und MS SQL Server 2000

Aktualisierungsrichtlinie für die KMnet Admin Versionen 3.x und 2.x

Membrain GmbH. Client Deployment. Installation von Membrain Clients auf PPC Geräten

Installationsanleitung MS SQL Server für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold

ERDAS Software Download und Lizenzierung. 1 Allgemeines

EMF-GMF-Tutorial: Petrinet

1 Kennwortablaufrichtlinie

LAPS Enterprise 7.2.1

Von 0 zur Private Cloud in 1h

Zur Konfiguration wird hierbei die GUI und parallel die Shell verwendet.

Workbooster File Exchanger Command Line Tool

Installation von AmigaOS 3.9 unter WinUAE

telpho10 Hylafax Server

Offlinedateiendienst Synchronisierungs-Center unter Kontrolle bringen

Magento Theming Ein Einstieg Rainer Wollthan

Windows 8.1 Image Engineering. Die Basis für Deployments (DISM, MDT, Tipps für die Praxis)

Update Messerli MySQL auf Linux

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Enigma2 Plugin Entwicklung mit Eclipse

Betriebssysteme verteilen und aktualisieren Werkzeuge und Vorgehensweisen

Tutorial Windows XP SP2 verteilen

Modern Windows OS Deployment

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0

KONFIGURATIONSMANAGEMENT MIT PUPPET TIM SCHMELING. 4b:65:72:73:74:69:6e:2c:20:69:63:68:20:6c:69:65:62:65:20:64:69:63:68:21

Software-Update zum Buch 3D-Spieleprogrammierung mit DirectX 9 und C++

Starten Sie Exponent und klicken Sie auf Hilfe und dann auf ÜberExponent. Notieren Sie sich die folgenden Daten:

Anleitung zur CITRIX-Receiver Installation.

MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS

Installation von CVS mit sicherer Datenübertragung nach dem SSH-Protokoll unter Windows (Version 2.0)

LAURA S. PowerShell - Chocolatey. Inhalt

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Windows 7 - Microsoft Dienste Services

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Kurzanleitung. SpaceController

Installation Messerli MySQL auf MAC OS X

IVE-W530BT. Bluetooth Software Update Manual mit Android Telefonen

T. Csizmadia, DEVWARE GmbH 1.2

Visual Basic Express Debugging

Konfigurieren eines HHR Gerät, um es über eine CBX800 an Profibus anzubinden

System-Update Addendum

Installation Messerli MySQL auf Linux

Installation von Typo3 CMS

Installation eines Orgamax-Servers in Linux mit CentOS 7

Visual Basic Express Kompilieren mit Skripten

Anleitung zur Installation und Konfiguration des MySQL-Datenbanksystems

Kaspersky Labs GmbH Kaspersky Anti-Virus für Windows Datei Server v6.0

Fernwartung mit TeamViewer

HAIKU Testen mit VitualBox

1 Elexis OpenVPN-Client für Analytica

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Hinweise und Konfigurationsbeispiele für Linux ab Kernel 2.6 (OpenSUSE, Debian - WPA/TKIP)

1) JAVA JRE auf der QNAP Box installieren

ExpressShipper Registrations- und Installationsanleitung

EXPOSÉ Software für Immobilienprofis!

SiriusDataCS Installationsanleitung. SiriusDataCS Installation Seite 1 / 12

April SebaKMT MADE in GERMANY

Titel. System Center Configuration Manager 2012 R2 Anleitung zur Installation

Workshop Eventverarbeitung mit NAGIOS

Wie erstelle ich Backups meiner TYPO3 Präsentation?

JBuilderX: Installation und Kurzanleitung (Windows)

1. Vorbereiten das Host, folgende Software Pakete müssen installiert werden: gnome-devel bison flex texinfo libncurses5-dev git codeblocks putty

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Windows Server Dieses Dokument beschreibt einige Details zum Aufsetzen eines Windows Server 2003 (Andres Bohren /

Weather Professional & WS 550 Treiber Installation unter Windows

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

TUSReport Installationsanleitung

Anleitung zur Installation und Konfiguration des MySQL-Datenbanksystems

Konvertierung von Smap3D Norm- und Wiederholteilen für SolidWorks 2015

Laborübung - Erstellen einer Partition unter Windows XP

Installation / Update / Migration Axel Häseli Installation Gallery auf ClarkConnect 1.2

HTW-Aalen. OpenVPN - Anleitung. Eine Installations- und Nutzungsanleitung zu OpenVPN

Dell Server Management Pack Suite Version 5.0 für Microsoft System Center Operations Manager und System Center Essentials Installationsanleitung

CLR-Integration im SQL-Server. Alexander Karl

Quark Publishing Platform Upgrade-Pfade

3. Auflage. O Reillys Taschenbibliothek. Windows PowerShell 3.0. kurz & gut. Lee Holmes. Deutsche Adaption von Rolf Masuch O REILLY

Transkript:

Ab der Powershell Version 4 wird DSC unterstützt. Ich nutze Windows 10 und habe es standardmäßig on Board. Vorbereitung: Download der individuell benötigten Module aus der Powershell Gallery https://www.powershellgallery.com/items Herunterladen und installieren der Module: Save-Module -Name PSDscResources -Path C:\DSC\Module Install-Module -Name PSDscResources Save-Module -Name xpsdesiredstateconfiguration -Path C:\DSC\Module Install-Module -Name xpsdesiredstateconfiguration

Mit dem Befehl Find-DscResource fragen wir online die verfügbaren Module ab. Mit dem Befehl Install-Module Name OctopusDSC Scope AllUsers Force; laden wir das Module herunter und installieren es anschließend.

Nach dem Import finden wir die Module unter C:\Program Files\WindowsPowerShell\Modules Folgende Warnung erscheint, wenn das eingesetzte Modul nicht importiert wird. DSC Module sind keine CMD-Lets und können nur in Script-Blocks eingesetzt werden. Fangen wir damit an zu überprüfen ob eine Datei vorhanden ist.

Nach dem Import des Moduls taucht die Fehlermeldung nicht mehr auf. Das erstelle (kompilierte).mof (Managed Object Format) File hat folgenden Inhalt und wird später dem DSC Agent LCM (Local Configuration Manager) zur Verarbeitung übergeben.

Start-DscConfiguration -wait -verbose -force -Path C:\DSC\NDSEDV Der LCM Agent hat das erstellte.mof File verarbeitet und folgendes Ergebnis ausgegeben: Das Zielobjekt wurde gefunden Sollte eine Fehlermeldung erscheinen ist in der Regel der Windows Remote Management Dienst einzuschalten (WINRM), verzögerter Start. Powershell: configuration ndsedv { param () Import-DscResource ModuleName PSDesiredStateConfiguration ; File WindowsUpdateLog { DestinationPath = 'C:\Windows\WindowsUpdate.log'; Ensure = 'Present'; mkdir -Path C:\DSC\NDSEDV; NDSEDV -OutputPath C:\DSC\NDSEDV; Start-DscConfiguration -wait -verbose -force -Path C:\DSC\NDSEDV

Suche ich nun nach der Datei C:\Windows\WindowsUpdate1.log erhalte ich eine Fehlermeldung. Logisch denn diese existiert nicht. Außerdem fehlt der Wert Contents zur Erstellung einer neuen Datei. Verändere ich den Code und sage aus, das diese Datei existieren muss wird diese neue erstellt und zwar mit dem Inhalt DerWindowsPapst.

Der LCM ist ein integraler Bestandteil der Powershell und kann individuell angepasst werden. Die aktuellen Settings lesen wir mit diesem Befehl aus: Get-DscLocalConfigurationManager

Eine neue LCM Konfiguration könnte so aussehen: [DSCLocalConfigurationManager()] configuration LCMConfig { Node localhost { Settings { RefreshMode = 'Push' # Alternative: 'Pull' ConfigurationMode = 'ApplyAndMonitor' # Alternative: 'ApplyOnly', 'ApplyAndAutoCorrect' ConfigurationModeFrequencyMins = '30' RefreshFrequencyMins = '45' LCMconfig Jetzt muss die neue Konfiguration kompiliert werden. Script-Block ausführen und danach den Befehl LCMConfig starten.

Die meta.mof Datei wurde erstellt.

Damit die neue Konfiguration übernommen wird muss diese auch gesetzt werden. Der Befehl dazu lautet: Set-DscLocalConfigurationManager -Path C:\DSC\NDSEDV\LCMConfig -Force -Verbose Fragen wir die Konfiguration erneut ab müssten die Settings übernommen worden sein.

Nächstes Beispiel: Einen Ordner auf Vorhandensein überprüfen, wenn nicht anlegen lassen. An diesem Beispiel sehen wir die Vorgehensweise etwas detaillierter, welche Blöcke in welcher Reihenfolge ausgeführt werden müssen. Configuration Ordner { Import-DscResource ModuleName PSDesiredStateConfiguration ; Node Worker { File OrdnerDemo { Type = 'Directory' DestinationPath = 'F:\Archiv' Ensure = "Present" Ordner -OutputPath C:\DSC\Ordner; Start-DscConfiguration -wait -verbose -force -Path C:\DSC\Ordner

Eine erneute Überprüfung ob der Ordner vorhanden ist:

Nächstes Beispiel: Eine Datei von Source nach Destination kopieren. Configuration Dateikopieren { Import-DscResource ModuleName PSDesiredStateConfiguration ; Node Worker { File Datei { DestinationPath = 'E:\Archiv\Testdatei_kopiert.txt' SourcePath = "F:\Archiv\Testdatei.txt" Ensure = "Present" Force = $true MatchSource = $true Dateikopieren -OutputPath C:\DSC\Dateikopieren; Start-DscConfiguration -wait -verbose -force -Path C:\DSC\Dateikopieren

Nächstes Beispiel: Dateien kopieren und Dienst wieder starten. Ein Dienst kann nur einmal in einem Skriptblock aufgeführt werden. Entweder zum Starten oder stoppen.

Configuration MeinService { Import-DscResource ModuleName PSDesiredStateConfiguration ; Node "localhost" { File Dateienkopieren { SourcePath = "F:\Archiv" DestinationPath = "E:\Archiv" Recurse = $True Force = $true MatchSource = $true Ensure = "Present" Service StartService { Name = "Spooler" State = "Running" DependsOn = "[File]Dateienkopieren" MeinService -OutputPath C:\DSC\MeinService; Start-DscConfiguration -wait -verbose -force -Path C:\DSC\MeinService Weitere Beispiele folgen in Kürze Get-DscResource Select-Object -Property Name, Properties Get-Command -Module PSDesiredStateConfiguration Select-Object -Property CommandType, Name