15 Useful Ansible Playbooks for Windows System Administrators


15 Useful Ansible Playbooks for Windows System Administrators

In the dynamic world of IT infrastructure management, automation tools have become indispensable. Ansible, a powerful open-source automation tool, is widely embraced for its simplicity and efficiency. Windows System Administrators, in particular, can benefit significantly from Ansible playbooks tailored to streamline and enhance various tasks. In this article, we'll explore 15 useful Ansible playbooks designed specifically for Windows environments, providing step-by-step instructions and real-world examples to empower system administrators in their day-to-day operations.

1. Installing Software Packages:

Ansible simplifies software deployment on Windows servers. Use the following playbook to install software packages effortlessly:

---
- name: Install Software Packages
hosts: windows_servers
tasks:
- name: Install Notepad++
win_chocolatey:
name: notepadplusplus
state: present

This playbook uses Chocolatey, a package manager for Windows, to install Notepad++. Simply replace "notepadplusplus" with the desired package name.

2. Managing Windows Services:

Efficiently manage Windows services using Ansible. Restart a service with the following playbook:

---
- name: Restart Windows Service
hosts: windows_servers
tasks:
- name: Restart Print Spooler Service
win_service:
name: spooler
state: restarted

Customize the playbook by changing the service name and desired state as needed.

3. Configuring Windows Firewall Rules:

Secure your Windows servers by managing firewall rules using Ansible:

---
- name: Configure Windows Firewall
hosts: windows_servers
tasks:
- name: Allow Inbound Traffic on Port 80
win_firewall_rule:
name: Allow_HTTP
localport: 80
action: allow

This playbook allows inbound traffic on port 80. Adjust parameters to fit your specific firewall configuration.

4. User Management:

Simplify user management on Windows servers with Ansible:

---
- name: Create User Account
hosts: windows_servers
tasks:
- name: Add User
win_user:
name: john_doe
password: MySecurePassword
state: present

Replace "john_doe" and "MySecurePassword" with the desired username and password.

5. Deploying Files and Configurations:

Ansible excels in deploying files and configurations. Use the following playbook to copy files to Windows servers:

---
- name: Deploy Configuration Files
hosts: windows_servers
tasks:
- name: Copy Configuration File
win_copy:
src: /path/to/local/file.conf
dest: C:\path\to\remote\

Adjust the "src" and "dest" parameters to match your file paths.

6. Managing Windows Updates:

Keep Windows servers up-to-date using Ansible:

---
- name: Update Windows
hosts: windows_servers
tasks:
- name: Install Windows Updates
win_updates:
category_names:
- SecurityUpdates
- UpdateRollups
state: installed

This playbook installs security updates and rollups. Customize the categories based on your update preferences.

7. Monitoring System Resources:

Monitor system resources on Windows servers with Ansible:

---
- name: Check System Resources
hosts: windows_servers
tasks:
- name: Gather System Facts
win_shell: Get-WmiObject -Class Win32_OperatingSystem
register: system_info

- debug:
var: system_info

Review the "system_info" variable to access gathered system information.

8. Managing IIS Web Server:

Ansible simplifies IIS (Internet Information Services) management:

---
- name: Manage IIS
hosts: windows_servers
tasks:
- name: Ensure IIS is Installed
win_feature:
name: Web-Server
state: present

Ensure IIS is installed by adjusting the "name" parameter.

9. Registry Settings:

Modify registry settings effortlessly:

---
- name: Modify Registry Settings
hosts: windows_servers
tasks:
- name: Change Registry Key
win_regedit:
path: HKLM:\Software\Example
name: ExampleKey
data: 12345

Update the "path," "name," and "data" parameters as needed.

10. Event Log Management:

Manage Windows event logs using Ansible:

---
- name: Clear Event Logs
hosts: windows_servers
tasks:
- name: Clear Security Event Log
win_eventlog:
name: Security
state: clear

Adjust the "name" parameter to target specific event logs.

11. Managing Scheduled Tasks:

Automate task scheduling on Windows servers:

---
- name: Schedule Task
hosts: windows_servers
tasks:
- name: Create Scheduled Task
win_scheduled_task:
name: MyTask
action:
- path: C:\path\to\script.ps1
trigger:
- at: '{{ ansible_date_time.date }}T12:00:00'

Customize the playbook with your task name, script path, and trigger time.

12. Network Configuration:

Configure network settings on Windows servers:

---
- name: Configure Network Settings
hosts: windows_servers
tasks:
- name: Set DNS Server
win_dns_client:
adapter_names:
- Ethernet
dns_servers:
- 8.8.8.8

Modify adapter names and DNS servers according to your network requirements.

13. Performance Monitoring:

Monitor performance using Ansible:

---
- name: Monitor Performance
hosts: windows_servers
tasks:
- name: Check CPU Usage
win_perf_counters:
object: Processor
instances: '*'
counters:
- "% Processor Time"
register: cpu_usage

- debug:
var: cpu_usage

Analyze the "cpu_usage" variable to assess CPU performance.

14. Managing Windows Features:

Enable or disable Windows features:

---
- name: Manage Windows Features
hosts: windows_servers
tasks:
- name: Install Telnet Client
win_feature:
name: Telnet-Client
state: present

Modify the "name" parameter to install or remove specific features.

15. Custom Script Execution:

Execute custom scripts on Windows servers:

---
- name: Execute Custom Script
hosts: windows_servers
tasks:
- name: Run PowerShell Script
win_shell: C:\path\to\script.ps1

Replace "C:\path\to\script.ps1" with the path to your custom script.

Related Searches and Questions asked:

  • 5 Best Practices for Managing Windows Infrastructure with Ansible
  • Top 7 Windows Automation Tasks Simplified with Ansible
  • Ansible Windows Configuration: Tips and Tricks for Success
  • 10 Essential Ansible Windows Modules You Should Know
  • That's it for this topic, Hope this article is useful. Thanks for Visiting us.