All Projects → rgl → Packer Provisioner Windows Update

rgl / Packer Provisioner Windows Update

Licence: mpl-2.0
Packer plugin for installing Windows updates

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to Packer Provisioner Windows Update

Furikuri
(In dev)furikuri is framework for code protection
Stars: ✭ 103 (-40.12%)
Mutual labels:  packer
Glueit
🎨 Simple SpriteSheet Tool
Stars: ✭ 119 (-30.81%)
Mutual labels:  packer
Packertemplates
Packer Templates for building Windows Operating Systems
Stars: ✭ 148 (-13.95%)
Mutual labels:  packer
Ollydbg Scripts
Unpacking scripts for Ollydbg.
Stars: ✭ 109 (-36.63%)
Mutual labels:  packer
Packer Builder Arm
Packer plugin to build ARM images
Stars: ✭ 117 (-31.98%)
Mutual labels:  packer
Multi Env Deploy
Complete example of deploying complex web apps to AWS using Terraform, Ansible, and Packer
Stars: ✭ 132 (-23.26%)
Mutual labels:  packer
Upx Visual Studio
Compile UPX 3.96 and belong librarys on Visual Studio! Source also include LZMA, UCL and zlib ✒️
Stars: ✭ 96 (-44.19%)
Mutual labels:  packer
Binpacker
A binary stream packer and unpacker
Stars: ✭ 162 (-5.81%)
Mutual labels:  packer
Packer Windoze
Packer templates to create Windows vagrant box images
Stars: ✭ 117 (-31.98%)
Mutual labels:  packer
Gf Cli
GoFrame Command Line Interface, which is your helpmate for building GoFrame application with convenience.
Stars: ✭ 143 (-16.86%)
Mutual labels:  packer
Toc
A Table of Contents of all Gruntwork Code
Stars: ✭ 111 (-35.47%)
Mutual labels:  packer
Adfs2
Multi Vagrant environment with Active Directory
Stars: ✭ 117 (-31.98%)
Mutual labels:  packer
Packer
Package and deploy apps built with NodeGui to all platforms
Stars: ✭ 137 (-20.35%)
Mutual labels:  packer
Pyobfx
Python Obfuscator & Packer
Stars: ✭ 106 (-38.37%)
Mutual labels:  packer
Ops Cli
Ops - cli wrapper for Terraform, Ansible, Helmfile and SSH for cloud automation
Stars: ✭ 152 (-11.63%)
Mutual labels:  packer
Packer Ubuntu 1804
This build has been moved - see README.md
Stars: ✭ 101 (-41.28%)
Mutual labels:  packer
Hybrid multicloud overlay
MutiCloud_Overlay demonstrates a use case of overlay over one or more clouds such as AWS, Azure, GCP, OCI, Alibaba and a vSphere private infrastructure in Hub and spoke topology, point to point topology and in a Single cloud. Overlay protocols IPv6 and IPv4 are independent of underlying infrastructure. This solution can be integrated with encryption and additional security features.
Stars: ✭ 127 (-26.16%)
Mutual labels:  packer
Windows Vagrant
Windows 2012R2/10/2016/2019 Base Vagrant Box (https://app.vagrantup.com/rgl)
Stars: ✭ 169 (-1.74%)
Mutual labels:  packer
Infrastructure As Code Tutorial
Infrastructure As Code Tutorial. Covers Packer, Terraform, Ansible, Vagrant, Docker, Docker Compose, Kubernetes
Stars: ✭ 1,954 (+1036.05%)
Mutual labels:  packer
Mstar Bin Tool
Scripts to manipulate Mstar firmware binaries (e.g. MstarUpgrade.bin, LetvUpgrade.bin etc)
Stars: ✭ 137 (-20.35%)
Mutual labels:  packer

Packer Windows Update Provisioner

Build status Latest version released Package downloads count

This is a Packer plugin for installing Windows updates (akin to rgl/vagrant-windows-update).

NB This was only tested with Packer 1.7.0 on Windows Server 2019, macOS Catalina and Ubuntu 20.04.

Usage

Download the binary from the releases page and put it in the same directory as your packer executable.

Use the provisioner from your packer template file, e.g. like in rgl/windows-vagrant:

{
    "provisioners": [
        {
            "type": "windows-update"
        }
    ]
}

Note, the plugin automatically restarts the machine after Windows Updates are applied. The reboots occur similar to the windows-restart provisioner built into packer where packer is aware that a shutdown is in progress.

Search Criteria, Filters and Update Limit

You can select which Windows Updates are installed by defining the search criteria, a set of filters, and how many updates are installed at a time.

Normally you would use one of the following settings:

Name search_criteria filters
Important AutoSelectOnWebSites=1 and IsInstalled=0 $true
Recommended BrowseOnly=0 and IsInstalled=0 $true
All IsInstalled=0 $true
Optional Only AutoSelectOnWebSites=0 and IsInstalled=0 $_.BrowseOnly

NB Recommended is the default setting.

But you can customize them, e.g.:

{
    "provisioners": [
        {
            "type": "windows-update",
            "search_criteria": "IsInstalled=0",
            "filters": [
                "exclude:$_.Title -like '*Preview*'",
                "include:$true"
            ],
            "update_limit": 25
        }
    ]
}

NB For more information about the search criteria see the IUpdateSearcher::Search method documentation and the xWindowsUpdateAgent DSC resource source.

NB If the update_limit attribute is not declared, it defaults to 1000.

The general filter syntax is:

ACTION:EXPRESSION

ACTION is a string that can have one of the following values:

action description
include includes the update when the expression evaluates to $true
exclude excludes the update when the expression evaluates to $true

NB If no ACTION evaluates to $true the update will NOT be installed.

EXPRESSION is a PowerShell expression. When it returns $true, the ACTION is executed and no further filters are evaluated.

Inside an expression, the Windows Update IUpdate interface can be referenced by the $_ variable.

Development

Build:

make

Configure packer with the path to this provisioner by adding something like the following snippet to your ~/.packerconfig (or %APPDATA%/packer.config):

{
    "provisioners": {
        "windows-update": "/home/rgl/Projects/packer-provisioner-windows-update/packer-provisioner-windows-update"
    }
}

Or install into $HOME/.packer.d/plugins with:

make install

If you are having problems running packer set the PACKER_LOG=1 environment variable to see more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].