Windows Server Automation (Ansible 203)

Continue your studies of Ansible, with a focus on automating servers and applications. In addition to Ansible, students will study enough Python to understand Ansible’s plugin architecture. Lessons and labs focus on using both Python and Ansible to interact with and configure your Windows servers, as well as common applications. At the conclusion of this course, you will return to work empowered with the skills necessary to create or improve Ansible solutions. This class is a combination of live demonstrations and hands-on labs with virtual network devices and endpoints as targets for your configuration.


For many of the lessons, we will focus on tasks targeting Windows.


Students looking for Ansible for network applications should see: Ansible 201 (Networking)


Students looking for Ansible for Linux server applications should see: Ansible 202 (Linux Server) 

Course Information

Price: Private Inquiries Only
Duration: 5 days
Certification: 
Exam: 
Learning Credits:
Course Delivery Options

Check out our full list of training locations and learning formats. Please note that the location you choose may be an Established HD-ILT location with a virtual live instructor.

Train face-to-face with the live instructor.

Access to on-demand training content anytime, anywhere.

Attend the live class from the comfort of your home or office.

Interact with a live, remote instructor from a specialized, HD-equipped classroom near you. An SLI sales rep will confirm location availability prior to registration confirmation.

All Sunset Learning dates are guaranteed to run!

Register

Prerequisites:

  • Ansible 101 (Ansible Essentials)
  • Coding experience in another language serves as an adequate prerequisite 

 

Target Audience:

  • Network Administrators
  • Ansible Developers
  • Python Developers
  • Administrators interested in Automation
  • Individuals interested in DevOps, specifically for networking

 

Course Objectives:

  • Version controlling code with Git
  • winrm sessions and pass commands to remote servers
  • Basic Python for automation applications
  • Ansible collections for server automation
  • Understanding plugin architecture of Ansible modules written with Python
  • Best practices for automation

 

Course Outline:

Day 01

Ansible and Python Review

  • Overview of Python and Ansible
  • Python whitespace rules & best practices
  • Conditional expressions
  • Relational and Boolean operators
  • Lists, Tuples, Dictionaries
  • Indexing and slicing
  • Built-in functions
  • Writing custom functions
  • Getting at methods
  • Iterating with Loops (for and while)
  • Working with files
  • Software Control Management (SCM) (Git, Github, GitLab, Bitbucket, Cloudshare, etc.)
  • Getting at RESTful interfaces
  • Working with JSON
  • Ansible with WinRM vs OpenSSH

Day 2

Windows Automation

  • RESTful API review
  • Understanding API documentation
  • Windows operations
  • Getting running services on Windows platforms
  • Install and uninstall MSIs
  • Enable and disable Windows features
  • Start, stop, and manage Windows services
  • Create and manage local users and groups in Windows

Day 3

Building Ansible Skillsets for Windows

  • Common Windows operations
  • Building roles
  • Manage Windows packages via the Chocolatey package manager
  • Manage and install Windows updates
  • Fetch files from remote sites
  • Push and execute PowerShell scripts
  • Community modules for Windows
  • Writing Ansible playbooks that respond to failures

Day 4

Blending Python and Ansible Skillsets

  • Review how to use Python within Ansible
  • Calling Python scripts with Ansible
  • Jinja2 Templating Engine for Python (and Ansible)
  • Using Templates in Ansible Playbooks
  • Jinja2 filters, looping, and other useful tricks for automating with Ansible
  • Playbook tagging for selective runs
  • When to use Python and when to use Ansible
  • Writing a custom collection
  • Writing custom roles
  • Extending Ansible to support Windows

Day 5

Customizing Ansible with Python

  • Review – Running Scripts with Ansible
  • Prompting for Ansible user input
  • Writing a custom Ansible Module with Python
  • Ansible ’Engine’ vs Ansible ’Tower’ – marketing hype, capabilities, costs, etc.
  • Molecule – Testing your roles

Hands-On Labs:

  • Welcome to Alta3 Research Labs
  • Using vim
  • Introduction to VScode
  • Tmux Basics
  • SCM Option #1 – GitLab
  • SCM Option #2 – GitHub
  • Download Files to Windows machines
  • Install and uninstall MSIs
  • Enable and disable Windows features
  • Get a list of Windows services
  • Start, stop, and manage Windows services
  • Create and manage local users and groups
  • Manage Windows packages via the Chocolatey package manager
  • Manage and install Windows updates
  • Fetch files from remote sites
  • Push and execute PowerShell scripts
  • Lecture – REST APIs and JSON
  • Open APIs with Python and Ansible
  • Building Ansible Collections
  • Role and ansible-galaxy
  • Loops and Mapping YAML Vars Files in Playbooks
  • Lecture – Ansible Workflow
  • ansible-runner
  • Securing Playbooks with Vault
  • Ansible and Jinja Templates
  • Running a script with Ansible
  • Dynamic Inventories and Inventory Plugins
  • Writing an Ansible Module with Python
  • Molecule
  • Windows Automation with Python and Ansible – Certification Project
  • Glossary