---
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!"
canonical: "https://adamtheautomator.com/tutorials/"
---

# 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!

Source: https://adamtheautomator.com/tutorials/

---

# 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(337)
*   Linux(136)
*   Azure(84)
*   Active Directory(76)
*   AWS(70)
*   Ubuntu Linux(65)
*   Microsoft Azure(60)
*   Command Line(59)
*   Docker(56)
*   Windows(53)
*   Kubernetes(51)
*   Security(44)
*   DevOps(34)
*   Python(34)
*   Windows 10(33)
*   Ansible(30)
*   windows server(29)
*   Terraform(28)
*   Automation(22)
*   Azure Virtual Machines(22)
*   Networking(22)
*   Specops(21)
*   VmWare(19)
*   AI(17)
*   Office 365(17)
*   Azure DevOps(16)
*   File Management(16)
*   macOS(15)
*   Powershell Administration(15)
*   Raspberry Pi(14)

See 10 more

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

[![](https://adamtheautomator.com/wp-content/uploads/publisher/3f25d9c85b2b81d1ab64dfa279a5857d/85b63aa642603bdd12b4fca256ee8c837736b9fabea4ca8078d1ba31916f346f.webp)](/notion-workers-github-issue-sync/)

*   [API](/tag/api/)
*   [GitHub](/tag/github/)
*   [Notion](/tag/notion/)
*   [TypeScript](/tag/typescript/)

[

## Automate GitHub Issue Sync with Notion Workers

Give a Notion Worker your GitHub issues endpoint and sync them into a Notion database with a stable key, API pagination, and replace-mode cleanup.

](/notion-workers-github-issue-sync/)

[![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/publisher/3f25d9c85b2b811ca960ed14d86985b1/923eae6c1f8fdcc5d36226cfc9f1bbf87f972302e969a84b03b2bf71088b8ae9.webp)](/notion-agent-api-cost-tracking/)

*   [AI](/tag/ai/)
*   [API](/tag/api/)
*   [Automation](/tag/automation/)
*   [Monitoring](/tag/monitoring/)
*   [Notion](/tag/notion/)

[

## Stop Runaway Notion Agent Costs with the Agent API

Use the Notion Agent API to read credits and runs per agent, compute cost per run, and gate runaway spending with status and credit-limit controls.

](/notion-agent-api-cost-tracking/)

[![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/publisher/3f35d9c85b2b81db9b78e52704dbd111/3650a0b7acbaf739069578f880254f978fe1383bc1b0453cd800afd989ff19ef.png)](/stop-copilot-web-searches/)

*   [Microsoft 365](/tag/microsoft-365/)
*   [Microsoft 365 Copilot](/tag/microsoft-365-copilot/)
*   [Security](/tag/security/)

[

## Stop Copilot Web Searches from Leaking Sensitive Data

Block Microsoft 365 Copilot from sending sensitive prompt text to external web search with a Purview DLP rule, then prove the block in the audit log.

](/stop-copilot-web-searches/)

[![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/publisher/3f35d9c85b2b8157af67cfe805737c4c/d87a8e3ffd5988406606bd14f49a16ebbed72206f31a33a1f24372061a22b0e9.webp)](/purview-missing-ai-prompts/)

*   [Microsoft 365](/tag/microsoft-365/)
*   [Microsoft Exchange](/tag/microsoft-exchange/)
*   [PowerShell](/tag/powershell/)
*   [Security](/tag/security/)

[

## Troubleshoot Missing AI Prompts in Purview Activity Explorer

Find why Purview records AI activity without prompt text. Check audit settings, capture policies, and viewer permissions in a scoped test.

](/purview-missing-ai-prompts/)

[![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/publisher/3f25d9c85b2b81a897a0e1623e958463/cb5678abd6a8724484f6f9f958245d4db7e58d587e9f2a52d22e92432f546c7d.webp)](/notion-custom-agents-task-checklists/)

*   [AI](/tag/ai/)
*   [Automation](/tag/automation/)
*   [Notion](/tag/notion/)

[

## Notion Custom Agents: Automate Your Task Checklists

Build a Notion Custom Agent that turns task descriptions into three-step checklists. Set permissions, test database triggers, and inspect saved results.

](/notion-custom-agents-task-checklists/)

[![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/publisher/3ec5d9c85b2b81b19274c73baf4c55f3/98f4af306255355a84e7293721f7eba0ae787ac2055f021d4fddbae4f4385bee.webp)](/power-automate-expense-approval-flow/)

*   [Automation](/tag/automation/)
*   [Microsoft 365](/tag/microsoft-365/)
*   [Power Automate](/tag/power-automate/)
*   [SharePoint](/tag/sharepoint/)

[

## Automate Expense Report Approvals with Power Automate

Build a Power Automate approval flow on a SharePoint list that routes expense reports, closes the self-trigger loop, and exports approved spend for finance.

](/power-automate-expense-approval-flow/)

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

Adam Bertram10 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/publisher/3ec5d9c85b2b81ec815dd67b3720f831/f1259be740bd3b3dc8b6d6dc209ed026d438ad6ea109e47ae76c353b3f50c00c.webp)](/copilot-studio-agents-email-triage/)

*   [AI](/tag/ai/)
*   [Automation](/tag/automation/)
*   [Copilot Studio](/tag/copilot-studio/)
*   [Email Management](/tag/email-management/)

[

## Copilot Studio Agents: Triage Support Emails Instantly

Build a Copilot Studio agent that triages support email, tags urgency, extracts ticket details, and routes each message to the right owner.

](/copilot-studio-agents-email-triage/)

[![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/publisher/3ec5d9c85b2b812da7abf2b9778c798e/8e7898c657638b870c388cf9b2e1ea1b99cfd5da6356984d5c703b14d7a098c8.webp)](/cks-certification-study-guide/)

*   [Containers](/tag/containers/)
*   [Kubernetes](/tag/kubernetes/)
*   [Linux](/tag/linux/)
*   [Security](/tag/security/)

[

## CKS Exam 2026: Study Guide, Practice Labs and Five-Week Plan

Map every CKS 2026 exam domain, build a kubeadm practice lab, drill Trivy, Falco, AppArmor, and RBAC, then follow a five-week plan to a passing score.

](/cks-certification-study-guide/)

[![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/publisher/3ec5d9c85b2b8198b651eec70c447ee1/bc27e65fd261774769a0da850c0fe0f594bb2c6ba5bfcf317eadea5471382804.jpg)](/find-expired-certificates-powershell/)

*   [Certificates](/tag/certificates/)
*   [PowerShell](/tag/powershell/)
*   [Security](/tag/security/)
*   [Windows](/tag/windows/)

[

## Find Expired Windows Certificates Instantly via PowerShell

Use PowerShell to scan every certificate store across a Windows fleet, report expired and expiring certificates, and alert before authentication breaks.

](/find-expired-certificates-powershell/)

[![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/publisher/3ec5d9c85b2b81d18bcdd4e82db4a47e/3655f2c9e9bdd72484d7c264e373fd1aaa68e5b72b9454cd575b1e0eb08f2063.png)](/kubernetes-pending-pods-scheduling/)

*   [Containers](/tag/containers/)
*   [DevOps](/tag/devops/)
*   [Kubernetes](/tag/kubernetes/)

[

## Kubernetes Pending Pods: Fix Scheduling and Resource Limits

Decode why Kubernetes pods stay Pending: read the FailedScheduling event, then fix requests, taints, node affinity, storage, or namespace quota.

](/kubernetes-pending-pods-scheduling/)

[![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/publisher/3ec5d9c85b2b8151b299cdf1129b5930/07fca0c5d7b72581bdbccb06e9058b4f8b00f553e0bd60f4e2724cfa489a164d.png)](/run-ollama-on-windows-server-without-exposing-your/)

*   [AI](/tag/ai/)
*   [IIS](/tag/iis/)
*   [Microsoft Windows Server](/tag/microsoft-windows-server/)
*   [Security](/tag/security/)

[

## Run Ollama on Windows Server Without Exposing Your LLMs

Run Ollama as a hardened Windows Server service with NSSM, keep the API on loopback, and front it with an IIS reverse proxy, TLS, and authentication.

](/run-ollama-on-windows-server-without-exposing-your/)

[![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/publisher/3ec5d9c85b2b81c8a7f8e65f33231fa4/606223a2505919db35cb97858e8eafa9a96eb8d297bab790394df6d592d2af99.webp)](/sysmon-detect-hidden-malware/)

*   [PowerShell](/tag/powershell/)
*   [Security](/tag/security/)
*   [Windows](/tag/windows/)
*   [Windows Events](/tag/windows-events/)

[

## Sysmon: Detect Hidden Malware in Windows Event Logs

Deploy Sysinternals Sysmon with a tuned config, then use Get-WinEvent and Sysmon event IDs to catch process injection and C2 beaconing.

](/sysmon-detect-hidden-malware/)

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

Adam Bertram13 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/publisher/3ec5d9c85b2b81d9ab7cd5dbb6caf044/21b786d67f19d1813150edf9871e36ead78714b63880de8c6161c7fde11a9769.webp)](/pktmon-capture-windows-traffic/)

*   [Networking](/tag/networking/)
*   [PowerShell](/tag/powershell/)
*   [Windows](/tag/windows/)
*   [Wireshark](/tag/wireshark/)

[

## Pktmon: Capture Windows Traffic Without a Third-Party Driver

Use the in-box Windows Pktmon tool to capture packets and packet-drop reasons, then convert the ETL to pcapng and text for offline analysis.

](/pktmon-capture-windows-traffic/)

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

Adam Bertram14 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/publisher/2e05d9c85b2b81d1a183f32356379208/90bb2192ef4e2f89f05de2af33aa4bff61921c1c0f9e1b8f86c0de25a90ba045.webp)](/vmware-to-azure-migration-roadmap/)

*   [Azure](/tag/azure/)
*   [Azure Migrate](/tag/azure-migrate/)
*   [Microsoft Licensing](/tag/microsoft-licensing/)
*   [Virtualization](/tag/virtualization/)

[

## VMware to Azure: Avoid the Broadcom Per-Core Trap

Compare Azure VMware Solution, Azure Local, and native Azure, then model Broadcom per-core licensing, build the landing zone, and migrate in waves.

](/vmware-to-azure-migration-roadmap/)

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

Adam Bertram19 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/publisher/2e05d9c85b2b81c080b8d45ec1cdfbb3/71dd588b2369d52e1695c95c1493383c6c0ed2adb4aac7eba04c1ab324f3a6a6.webp)](/stop-service-principal-sprawl-entra-id-powershell/)

*   [Microsoft Entra](/tag/microsoft-entra/)
*   [Microsoft Graph](/tag/microsoft-graph/)
*   [PowerShell](/tag/powershell/)
*   [Security](/tag/security/)

[

## Stop Service Principal Sprawl in Entra ID with PowerShell

Inventory every app registration and service principal, then automate ownership, rotation, and safe disablement with PowerShell and Microsoft Graph.

](/stop-service-principal-sprawl-entra-id-powershell/)

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

Adam Bertram16 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/publisher/2e05d9c85b2b8187b503fb0f6ceff47e/e15d54857176da3fe72b1f0692faaa7000367a5fbe6edf5f6a5f1034395fea45.webp)](/azure-bicep-production-patterns/)

*   [Azure](/tag/azure/)
*   [DevOps](/tag/devops/)
*   [GitHub Actions](/tag/github-actions/)
*   [Infrastructure as Code](/tag/infrastructure-as-code/)

[

## Azure Bicep: Bulletproof Production Deployment Patterns

Own your Bicep blast radius: pin modules in a private registry, gate pull requests with lint and PSRule, and track production changes with stacks.

](/azure-bicep-production-patterns/)

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

Adam Bertram20 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/publisher/2e05d9c85b2b819f93afc24ff9cf331a/cc243abf3399435c522e346ae33dfd425022d22b25c2f30ec3f4222e9b893e33.webp)](/azure-devops-idle-agents-queue-stalls/)

*   [Azure Monitor](/tag/azure-monitor/)
*   [Azure Pipelines](/tag/azure-pipelines/)
*   [Azure Virtual Machines](/tag/azure-virtual-machines/)
*   [DevOps](/tag/devops/)

[

## Azure DevOps Agent Pools: Fix Idle Agents and Queue Stalls

Diagnose idle Azure DevOps agents blocking your queue: check parallel jobs, agent demands, stuck leases, and pool scaling before you rebuild a pool.

](/azure-devops-idle-agents-queue-stalls/)

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

Adam Bertram13 min. read

](/author/adam-bertram/)

[![](https://adamtheautomator.com/wp-content/uploads/publisher/2e05d9c85b2b81dcbcf5eda389061979/e56f758e2e845005bdef1f99eb4feb9315fc53a0423f968bd418c5cf15e5e4ee.webp)](/stop-ai-sprawl-in-azure-governance-hub/)

*   [AI](/tag/ai/)
*   [Azure](/tag/azure/)
*   [Governance](/tag/governance/)
*   [Security](/tag/security/)

[

## How to Stop AI Sprawl in Azure with a Governance Hub

Build an Azure governance hub that inventories your AI estate, routes every model call through an AI gateway, and enforces identity, DLP, and policy.

](/stop-ai-sprawl-in-azure-governance-hub/)

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

Adam Bertram19 min. read

](/author/adam-bertram/)

1…[76](/tutorials/page/76/)[»](/tutorials/page/2/)

## 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/)
