Powershell DSC Desired State Configuration

Ähnliche Dokumente
Powershell DSC Oliver Ryf

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

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

Version 0.3. Installation von MinGW und Eclipse CDT

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

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

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

Test mit lokaler XAMPP Oxid Installation

Von 0 zur Private Cloud in 1h

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

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

AristaFlow BPM Suit Installation

EXPOSÉ Software für Immobilienprofis!

T. Csizmadia, DEVWARE GmbH 1.2

Raspberry PI als AirPrint Server

Installation Anleitung für JTheseus und MS SQL Server 2000

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

Workshop Eventverarbeitung mit NAGIOS

April SebaKMT MADE in GERMANY

LAPS Enterprise 7.2.1

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

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

MetaQuotes Empfehlungen zum Gebrauch von

Installation und Benutzung AD.NAV.ZipTools

1 Objektfilterung bei der Active Directory- Synchronisierung

Visendo Fax Web Client Troubleshooting

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

LAURA S. PowerShell - Chocolatey. Inhalt

4D Server v12 64-bit Version BETA VERSION

Windows 7 Winbuilder USB Stick

Tutorial Windows XP SP2 verteilen

Windows 7 - Microsoft Dienste Services

Installation des Shopsystems. Datensicherung

Modern Windows OS Deployment

Offlinedateiendienst Synchronisierungs-Center unter Kontrolle bringen

Damit die Installation klappt, muss Linux zuvor mit einer Minimalinstallation installiert worden sein!

Häufige Workflows Mac-Deployment

Weather Professional & WS 550 Treiber Installation unter Windows

Kurzanleitung Installation der Zend Studio Sprachpakete

White Paper - Integration von PRO Tips Recovery Tools in RiZone

Titel. System Center Configuration Manager 2012 R2 Anleitung zur Installation

DocuWare unter Windows 7

Quark Publishing Platform Upgrade-Pfade

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

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

Whitepaper. Produkt: combit Relationship Manager. SQL Server 2008 R2 Express um Volltextsuche erweitern. combit GmbH Untere Laube Konstanz

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

Anleitung zur CITRIX-Receiver Installation.

Switching. Übung 2 System Management. 2.1 Szenario

Quark Publishing Platform Februar 2016 Upgrade-Pfade

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

MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 5 auf Mac OS

Vorbemerkungen Planung und Vorbereitung Installation auf Lync Server 2010/2013 Standard Edition... 3

Workbooster File Exchanger Command Line Tool

Diplomarbeit Webmaster. CONTENTMANAGEMENT Installationsanleitung. Version 1.0

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

ERDAS Software Download und Lizenzierung. 1 Allgemeines

System-Update Addendum

THEMA: SAS ADMINISTRATION LEICHT GEMACHT MIT SAS 9.4 ALLE SYSTEME IM BLICK" ANKE FLEISCHER

Wie erstelle ich Backups meiner TYPO3 Präsentation?

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Installation von Typo3 CMS

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

Pervasive.SQL ODBC Treiber. ab ABACUS er-Version Installationsanleitung

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

Anleitung zur Installation und Konfiguration des MySQL-Datenbanksystems

Installation eines Orgamax-Servers in Linux mit CentOS 7

Lehrveranstaltung Grundlagen von Datenbanken

TSM disaster-recovery unter Windows 8 / Windows Server 2012

Kurzanleitung. SpaceController

Web Order Entry (WOE)

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

Installation von AmigaOS 3.9 unter WinUAE

ColdFusion Konfiguration für den Betrieb mit hyscore. ColdFusion Administrator. Notwendige Konfiguration für hyscore. PDF-Dokument: config_cf10.

Installation FireBird Datenbankserver 1 / 5

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

Anleitung zur Installation und Konfiguration des MySQL-Datenbanksystems

MySQL Community Server 5.6 Installationsbeispiel (Ab )

Enigma2 Plugin Entwicklung mit Eclipse

4D v11 SQL Release 6 (11.6) ADDENDUM

Windows 2003 Server paedml Windows 2.7 für schulische Netzwerke. Update-Anleitung: Patch 2 für paedml Windows 2.7

Lokale Installation von DotNetNuke 4 ohne IIS

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

WaldZeugS. Installationsanleitung Gültig ab Version Stand: 20. Nov Add-In für Microsoft Word. Inhalt

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

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

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

Informatik für Ökonomen II Übung 0

telpho10 Hylafax Server

TSM-Client unter RedHat/CentOS-Linux einrichten

INSTALLATION DES MICROSOFT SUS-SERVERS AUF WINDOWS XP PROFESSIONAL

Rechnernetze Praktikum Versuch 8: Zertifikate, Sicherheit in öffentlichen Netzen

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

Benutzerhandbuch. Neukirchen

Office Integration. M. Friedrichs, DEVWARE GmbH

Magento. Mehrsprachig. 30. Januar CMS: Magento / Deutsch

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

Options- und Freitext-Modul Update-Anleitung

SCADA SOFT AG. Technische Fragen zu Wizcon (TFW035): Installation von Apache 1.3.x / 2.0.x

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 Nächstes Beispiel: Remote Installation eines Server Feature (XPS-Viewer). Aktuell ist das Feature nicht installiert.

Installiere das Feature und erstelle ein.meta File.

Der XPS-Viewer ist installiert. Auf dem Zielsystem (SRV00) können wir die DSC Konfiguration und den Status abfragen. Get-DscConfigurationStatus Get-DscConfiguration

Nächstes Beispiel: Remote Installation eines Server Feature (IIS). Aktuell ist das Feature nicht installiert. Powershell-Skript: Enable-PSRemoting Force Configuration IIS Import-DscResource ModuleName PSDesiredStateConfiguration ; Node "SRV01" LocalConfigurationManager RebootNodeIfNeeded = $True ConfigurationMode = "ApplyAndAutoCorrect" ConfigurationModeFrequencyMins = 15 WindowsFeature Web-Server Ensure = "Present" Name = "Web-Server" IIS -OutputPath "C:\DSC\IIS" Start-DscConfiguration -Path "C:\DSC\IIS" -Wait -Force -Verbose

Der IIS wurde erfolgreich installiert. Das LOG zur Installation des IIS:

Sollte ein Modul mal nicht installiert sein, wird dieses auch direkt als Fehler markiert, wie in diesem Beispiel: Nach der Installation des Moduls:

Als nächstes deaktivieren wir mithilfe einer Konfigurationsdatei die verstärkte Sicherheit des Internet Explorers. Voraussetzung ist, dass auf den Servern der IE (Role) installiert ist. Die Ausgangssituation zeigt, dass die verstärkte Sicherheit eingeschaltet ist: Der Inhalt der ConfigData.psd1 @ AllNodes = @( @ NodeName = "SRV01" Role = "IE" ); Es können viele beliebige Nodes eingefügt werden. Auf Basis der enthaltenen NodeNames wird für jede Maschine eine separate.mof Datei erstellt.

Erzeuge das Powershell Skript sowie eine configdata.psd1 Datei. Powershell-Skript: Configuration EnableIEEsc Import-DSCResource -Module xsystemsecurity -Name xieesc; Import-DscResource ModuleName PSDesiredStateConfiguration ; Node $AllNodes.where $_.Role.Contains("IE").NodeName xieesc EnableIEEscAdmin IsEnabled = $false UserRole = "Administrators" xieesc EnableIEEscUser IsEnabled = $false UserRole = "Users" EnableIEEsc -ConfigurationData "configdata.psd1" Start-DscConfiguration -Path.\EnableIEEsc -Verbose -Wait -Force

Das Ergebnis: Die verstärkte Sicherheit ist ausgeschaltet. In Kürze geht es weiter Get-DscResource Select-Object -Property Name, Properties Get-Command -Module PSDesiredStateConfiguration Select-Object -Property CommandType, Name