justin_p.posh5
ansible-role-posh5
This role updates PowerShell and the Windows Management Framework to Version 5.1, makes sure .Net applications are using Strong TLS, sets up NuGet, PowerShell Gallery, PowerShellGet, and installs the PSReadline Module.
These actions allow PowerShell to work like it does on modern Windows systems. This means you can use Install-Module
and win_psmodule
to add PowerShell modules or DSCs on older Windows versions without extra setup.
Works on
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012R2
- Windows Server 2012
Not validated (yet) on
- Windows Server 2008R2
- Windows Server 2008 x64
- Windows Server 2008 x32
Requirements
None
Role Variables
None
Dependencies
None
Example Playbook
- hosts: posh5
roles:
- { role: justin_p.posh5 }
Local Development
This role comes with a Vagrantfile that can create a local Windows Server 2019 VM in VirtualBox. After setting up the VM, it will automatically run the role.
Development requirements
Run pip3 install pywinrm
Usage
- Use
vagrant up
to create the VM and run the playbook - Use
vagrant provision
to reapply the playbook - Use
vagrant destroy -f && vagrant up
to recreate the VM and run the playbook - Use
vagrant destroy
to delete the VM
License
MIT
Authors
- Justin Perdok (@justin-p), Orange Cyberdefense
Contributing
You are welcome to report issues, make contributions, and submit Pull Requests. You can also contact me on Twitter (@JustinPerdok).
Upgrade to WMF/PowerShell 5.1
ansible-galaxy install justin_p.posh5