Forge Home

powershell7

Puppet Module to manage Powershell 7

2,229 downloads

919 latest version

4.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.4.0 (latest)
  • 0.3.0
  • 0.2.0
  • 0.1.0
released May 12th 2021
This version is compatible with:
  • Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x
  • Puppet >= 6.0.0 < 8.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'n3snah-powershell7', '0.3.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add n3snah-powershell7
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install n3snah-powershell7 --version 0.3.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

n3snah/powershell7 — version 0.3.0 May 12th 2021

powershell7

Build Status

This module has been developed to manage the installation of PowerShell 7.

Table of Contents

  1. Description
  2. Setup - The basics of getting started with powershell7
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module

Description

PowerShell 7 is the latest major update which builds on PowerShell 6 core. This version of PowerShell brings many new features, cmdlets and includes a number of bugfixes.

Setup

Beginning with powershell7

include powershell7 is enough to get started and have PowerShell 7 installed on your windows server.

Usage

All parameters for this module are contained in the powershell7 class. If you would like to alter installation settings such as context menu options please see below.

Install and Enable PowerShell 7

include powershell7

Disable Context Menu Options

class { 'powershell7':
  'add_explorer_context_menu_openpowershell' => 0,
  'add_file_context_menu_runpowershell'      => 0,
}

Disable PS Remoting

class { 'powershell7':
  'enable_psremoting' => 0,
}

Change Update Notification Settings

PowerShell 7 added a new feature to alert users when a newer version of the PowerShell application is available. This can be configured to Off, Default or LTS. The notification doesn't provide any capabilities to update PowerShell but just to notify only.

class { 'powershell7':
  'powershell_updatecheck' => 'LTS',
}

Configuring PowerShell Window Settings

Default PowerShell 7 window behaviour can now be customized which includes changing the size of the window along with also changing the buffer size and even the background/foreground color. With PowerShell, the buffer width must be equal to the same size as the window width so there is no option available to change this setting and will always be set to the same size.

class { 'powershell7':
  'config_window_width'    => 400,
  'config_window_height'   => 60,
  'config_buffer_height'   => 7000,
  'config_background_color => 'Blue',
  'config_foreground_color => 'White',
}

PowerShell Window Colors

PowerShell 7 only allows certain colors for the background and the foreground. This is the list of acceptable colors.

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White

Limitations

Currently this has only been designed and tested for Windows. PowerShell 7 on Linux is not yet supported in this module.

Due to using the Stdlib::Absolutepath and the way that the code is structured. You cannot have download_dir set to C:\. This would cause the path to end up something like C:\\file.msi which wouldn't be a valid windows path.

Development

If you would like to contribute to this module. Fork me on github, make your desired changes and create a Pull request back to n3snah/powershell7