Main | Contact | Blog | Documentation

PowerShell Framework

The project dedicated to empowering your PowerShell scripting.

The Configuration System

Synopsis

The configuration system allows implementing configuration settings, similar to an options menu.

Key Features / Benefits

Description

The configuration system is a system that maintains settings for modules. It has four common use scenarios:

Module Options

A module can offer its settings in the configuration system, making them discoverable and self-documented. This basically mimicks an options menu from regular applications. It allows offering sane default values but still giving the user a voice in how something is being executed, without having to drive complexity by passing through dozens of parameters.

Users can then either change these settings per session or more permanently.

In Windows environments, it then becomes simple to apply settings by group policy. This incidentaly makes it possible to update settings at scale without having to update the module, saving a lot of hassle on company internal modules when the environment changes.

Script Control

Controlling scripts through configuration at scale allows ensuring compliance in these scripts. This is generally used for non-specific settings that apply across most scripts of the entire estate, such as name of the mail server to use or where to log to.

CI / CD Pipeline

Across a CI/CD Pipeline we have the same code pass through multiple stages and environments, requiring multiple settings. The exportable/importable nature of the configuration system allows you to maintain environment specific settings as part of your code (and thus source control).

Persisted Cache

The configuration system can also be used as a data cache that persists across sessions.

Quick Start Guides

In Depth Guides

Core

Scenario Guides

Persistence

Notes

Back to PSFramework

Version 1.0
Written on: 2018-05-23
Updated on: 2018-05-23