---
title: "ATA Learning Tutorials"
description: "Learn from the best IT how-to tutorials from a range of experienced instructors comprising knowledge and skill from around the world!"
---

# ATA Learning Tutorials

> Learn from the best IT how-to tutorials from a range of experienced instructors comprising knowledge and skill from around the world!

---

# ATA Learning Adam the Automator

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

Show FilterReset Filters

×

Reset Filters

## Tag Search

Search tags

## Tags

*   PowerShell(331)
*   Linux(135)
*   Azure(79)
*   Active Directory(76)
*   AWS(70)
*   Ubuntu Linux(65)
*   Microsoft Azure(60)
*   Command Line(59)
*   Docker(56)
*   Windows(50)
*   Kubernetes(48)
*   Security(35)
*   Python(34)
*   Windows 10(33)
*   Ansible(30)
*   DevOps(30)
*   windows server(29)
*   Terraform(28)
*   Azure Virtual Machines(21)
*   Networking(21)
*   Specops(21)
*   VmWare(19)
*   Automation(17)
*   Office 365(17)
*   Azure DevOps(16)
*   File Management(16)
*   macOS(15)
*   Powershell Administration(15)
*   Raspberry Pi(14)
*   Bash(13)

See 10 more

No posts match those tags. Reset the filters and try again.

[![](https://adamtheautomator.com/wp-content/uploads/2026/02/featured_image.webp)](/fortify-logs-guide-secure-crosszone-log/)

*   [Azure](/tag/azure/)
*   [Command Line](/tag/command-line/)
*   [DevOps](/tag/devops/)

[

## Fortify Your Logs: A Guide to Secure, Cross-Zone Log Aggregation in Azure with Loki

Build a secure, pull-based log pipeline that centralizes DMZ logs without punching holes through your firewall using Grafana Loki, Azure Event Hubs, and Private Link.

](/fortify-logs-guide-secure-crosszone-log/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram11 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2026/01/26802_featured_image-scaled.jpg)](/fix-active-directory-weak-point-passwords/)

*   [Active Directory](/tag/active-directory/)
*   [Specops](/tag/specops/)
*   [Sponsored](/tag/sponsored/)

[

## How to Fix Active Directory’s #1 Weak Point in 2026: Passwords

It's 2026. Despite years of momentum around passwordless authentication, the reality in most enterprise environments is still the same: Active Directory

](/fix-active-directory-weak-point-passwords/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram8 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2026/01/featured_image-3.webp)](/automate-azure-vm-patching-update-manager/)

*   [Azure](/tag/azure/)
*   [Azure CLI](/tag/azure-cli/)
*   [Azure Virtual Machines](/tag/azure-virtual-machines/)
*   [Command Line](/tag/command-line/)

[

## How to Automate Azure VM Patching with Update Manager

Learn how Azure Update Manager automates patching across Azure VMs using native extensions, periodic assessment, and custom maintenance windows—without Log Analytics or Automation accounts.

](/automate-azure-vm-patching-update-manager/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram9 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2026/01/featured_image-2.webp)](/practical-guide-hosting-managing-remote-mcp/)

*   [Azure](/tag/azure/)
*   [Azure Container Registry](/tag/azure-container-registry/)
*   [Azure Functions](/tag/azure-functions/)

[

## A Practical Guide to Hosting and Managing Remote MCP Servers on Azure

Learn how to deploy MCP servers on Azure Container Apps, App Service, and Functions with proper authentication, SSE configuration, and production-ready infrastructure.

](/practical-guide-hosting-managing-remote-mcp/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram11 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2026/01/featured_image-1.webp)](/effortless-spark-beginners-guide-serverless/)

*   [Analytics](/tag/analytics/)
*   [Apache Spark](/tag/apache-spark/)
*   [Azure](/tag/azure/)
*   [Azure Databricks](/tag/azure-databricks/)
*   [Data Engineering](/tag/data-engineering/)
*   [Serverless](/tag/serverless/)

[

## Effortless Spark: A Beginner\\’s Guide to Serverless Workspaces in Azure Databricks

Learn how Azure Databricks serverless workspaces eliminate infrastructure complexity. This beginner's guide covers setup, costs, limitations, and when to use serverless vs traditional deployments.

](/effortless-spark-beginners-guide-serverless/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram6 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2026/01/featured_image-2-scaled.jpg)](/easyentra-look-hybrid-user-management-virtual/)

*   [Active Directory](/tag/active-directory/)
*   [Azure AD](/tag/azure-ad/)
*   [Sponsored](/tag/sponsored/)

[

## EasyEntra: A Look at Hybrid User Management with Virtual Templates

EasyEntra consolidates Active Directory and Entra ID management into a single interface. This hands-on review explores Virtual User Templates—a feature that standardizes user provisioning across hybrid environments.

](/easyentra-look-hybrid-user-management-virtual/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram4 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2026/01/featured_image-1-scaled.jpg)](/outsmart-attackers-a-guide-to-advanced-ransomware/)

*   [Azure](/tag/azure/)
*   [Azure Files](/tag/azure-files/)
*   [Security](/tag/security/)

[

## Outsmart Attackers: A Guide to Advanced Ransomware Protection with Azure NetApp Files

Learn how to configure advanced ransomware protection in Azure NetApp Files using ML-based detection to catch attacks before they destroy your data.

](/outsmart-attackers-a-guide-to-advanced-ransomware/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram7 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/12/image_2025-12-08_135610968.png)](/specops-mfa-windows-login/)

*   [Active Directory](/tag/active-directory/)
*   [MFA](/tag/mfa/)
*   [Specops](/tag/specops/)
*   [Sponsored](/tag/sponsored/)

[

## Active Directory: Add MFA to Windows with Specops Secure Access

Learn how to deploy Specops Secure Access to add multi-factor authentication (MFA) to Windows logins and Remote Desktop connections in Active Directory environments.

](/specops-mfa-windows-login/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram6 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/11/55418e927e511ae263219c072e27d637c2a967a5036de7020b329582db775c26.png)](/docker-health-checks-python/)

*   [Docker](/tag/docker/)
*   [Docker Compose](/tag/docker-compose-2/)
*   [Python](/tag/python/)

[

## Automating Docker Container Health Checks with Python and Local Notifications

Docker's built-in health checks are passive—they tell Docker when a container fails, but do they tell you? In this tutorial, we'll build a lightweight Python monitoring system that runs entirely on your infrastructure with zero external dependencies. You'll learn to detect container failures in real-time, send instant alerts, and maintain a complete audit log of every state change.

](/docker-health-checks-python/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram18 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/11/91e5abb1-5bca-4958-a9f1-0f203a8938f7.png)](/block-passwords-active-directory/)

*   [Active Directory](/tag/active-directory/)
*   [InfoSec](/tag/infosec/)
*   [Password Management](/tag/password-management/)
*   [Specops](/tag/specops/)
*   [Sponsored](/tag/sponsored/)

[

## How to Block Known Bad Active Directory Passwords

In this article, we will explore why and how to block the use of certain passwords for Active Directory user accounts. In an Active Directory environment,

](/block-passwords-active-directory/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram8 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/10/image_2025-10-24_095322075.png)](/migrating-powershell-6-to-7-5/)

*   [PowerShell](/tag/powershell/)

[

## Migrating from PowerShell 6 to 7.5: Breaking Changes/New Features

Migrate from PowerShell Core 6 to 7.5: breaking changes, features, and testing tips.

](/migrating-powershell-6-to-7-5/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram4 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/10/active-directory-password-audit-autumn.png)](/active-directory-security-audit/)

*   [Specops](/tag/specops/)
*   [Sponsored](/tag/sponsored/)

[

## Boost your Active Directory Security with this Free Audit

Scan your Active Directory passwords for strength and find weaknesses with a free Specops audit.

](/active-directory-security-audit/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram3 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/09/3a4691e2-91b3-4636-9cb3-d9533534df57.png)](/helpdesk-social-engineering-specops/)

*   [Specops](/tag/specops/)
*   [Sponsored](/tag/sponsored/)

[

## Fortifying the Frontline: Protecting Helpdesks from Social Engineering

Helpdesks are prime targets for social engineering. Specops Secure Service Desk ensures only verified users gain access, stopping attackers at the source.

](/helpdesk-social-engineering-specops/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram4 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/07/featured-image-3.png)](/cursor-notepads-coding-standards/)

*   [Cursor](/tag/cursor/)

[

## How to Use Cursor Notepads to Enforce Your Team’s Coding Standards

Learn how to make Cursor's AI generate code that automatically matches your team's style guide using persistent Notepads, eliminating manual cleanup and ensuring consistency.

](/cursor-notepads-coding-standards/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram4 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/06/featured-image-6.png)](/pester-test-timeout-runspaces/)

*   [Pester](/tag/pester/)
*   [PowerShell](/tag/powershell/)

[

## How to Add Timeouts to Pester Tests with PowerShell Runspaces

Prevent Pester tests from hanging indefinitely using PowerShell runspaces. Learn to handle variable scoping, module loading, TestDrive access, and stream capture challenges with timeout protection.

](/pester-test-timeout-runspaces/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram6 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/06/featured-image-5.png)](/powershell-module-manifest/)

*   [PowerShell](/tag/powershell/)

[

## PowerShell 101: Creating a Module Manifest

Maybe you’ve put together some great functions but struggle to make them cohesive, intuitive, or shareable. Without a way to define your module’s

](/powershell-module-manifest/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram5 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/05/b92058521e92ac44db2d51bbc5dfafa2a8842e59d8e1aee2d44cc43cb652cab9.jpeg)](/coding-ai-break-down/)

*   [Artificial Intelligence](/tag/artificial-intelligence/)
*   [Vibe Coding](/tag/vibe-coding/)

[

## Refactoring with AI: Why “Fix Everything” Is a Terrible Prompt

Transform your AI coding workflow: Learn why asking AI to 'fix everything' fails spectacularly and discover my battle-tested, step-by-step framework for effective AI refactoring that turns chaotic code into clean architecture—without breaking your app.

](/coding-ai-break-down/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram5 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/2025/05/Untitled.jpg)](/when-script-worth-thousand-ai-prompts/)

*   [AI](/tag/ai/)
*   [Artificial Intelligence](/tag/artificial-intelligence/)
*   [Automation](/tag/automation/)
*   [Bash](/tag/bash/)
*   [Git](/tag/git/)

[

## When a Script is Worth a Thousand AI Prompts

When traditional scripts outshine AI: a developer’s journey back to automation basics.

](/when-script-worth-thousand-ai-prompts/)

[![Adam Bertram Avatar](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)

Adam Bertram8 min. read

](/author/adam-bertram/)

[«](/tutorials/page/5/)[1](/tutorials/)…6…[75](/tutorials/page/75/)[»](/tutorials/page/7/)

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
