Tag: Virtual

ESPC20 Online Thomas Maurer

Speaking at ESPC20 Online

I am happy to let you know that I will be speaking at ESPC20 Online. This year ESPC20 will be a new virtual conference offering you affordable, world-class Microsoft 365 learning at your fingertips, from wherever you are in the world. Tune in live Oct 14th & 15th or catch up on-demand across 100+ sessions from SharePoint, Office 365 & Azure experts.

Next to great keynotes from Karuana Gatimu, Scott Guthrie, and Jeff Teper, I am happy to be part of one of the breakout sessions.

Join me for my ESPC20 Online session: Azure Hybrid – Learn about Hybrid Cloud Management with Azure

Windows Server, Azure Stack HCI, and Windows Admin Center not only provide you with great hyper-converged solutions but also enable you to connect to Azure Hybrid Cloud services. In this session, Thomas Maurer will show you how you can connect Azure services like Azure Site Recovery, Azure Backup, Azure File Sync, Azure Monitor and many more to your on-prem Windows Server and Azure Stack HCI environment. And how you can manage and implement governance for your hybrid servers from the cloud, using Azure Arc for servers.

ESPC is always top quality and I am truly looking forward to this year’s virtual conference. Check out some of ESPC’s reasons why you don’t want to miss this event.

Reasons to Attend ESPC20 Online

  • Refresh – With so much change, keep up with the product developments and practices that matter most.
  • Revitalise – Find new and better ways of working, to bring new energy and effectiveness to your work.
  • Investment – Invest in your team, yourself and your career by learning new skills or mastering current ones.
  • Access – With no travel, watch live or on-demand at a time that suits you from the comfort of your workspace.
  • Experts – Hear from the best of the best – Microsoft Product Team members, RDs, MVPs, MCMs and independent experts.
  • Depth – With levels catering from Level 100-400 there is something for everyone.
  • Network – Build your professional network online, with like-minded people from across the globe.
  • Vendors – Find the best solutions from the best local, European and Global providers.
  • Independence – Information and advice you can trust, learn what’s trendy and what works.
  • Breadth – Attend a variety of session types across the biggest SharePoint, Office 365 and Azure topics.
  • Affordability – Enjoy the quality of ESPC with incredibly affordable prices and options.

I hope to see you at ESPC20 Online!

Connect Azure Cloud Shell to virtual network vNet

Connect Azure Cloud Shell to Virtual Network vNet

As you know, Azure Cloud Shell is a great management tool to manage your Azure resources. Azure Cloud Shell is an interactive, authenticated, browser-accessible shell for managing Azure resources. It provides the flexibility of choosing the shell experience that best suits the way you work, either Bash or PowerShell. You can learn more about Azure Cloud Shell here. If you wanted to manage Azure resources such as Azure virtual machines (VMs), you needed to connect to a public IP address of a virtual machine, which really didn’t work in all scenarios. With the latest update, you can now connect Azure Cloud Shell to an Azure virtual network (vNet). With the new method, you can now deploy the Azure Cloud Shell container within your virtual network (vNet), which now allows you to use PowerShell remoting, SSH, or other command-line tools such as kubctl using private IP addresses.


Before you can use Cloud Shell in your own Azure Virtual Network, you will need to create some resources to support this functionality. 

  • Virtual Network – The virtual network in which the resources are located you want to manage or the network that peers with a virtual network where your Azure resources are.
  • Subnet – In that virtual network you will need a dedicated subnet to host Cloud Shell containers.
  • Network profile
  • Azure Relay – An Azure Relay allows two endpoints that are not directly reachable to communicate.
  • Storage Account – The storage account needs to be accessible from the virtual network that is used by Cloud Shell.

There are also some considerations you need to be aware of, such as currently supported Azure regions during the preview, Azure Relay adds additional cost and slower startup speed of Cloud Shell containers. You can learn more about the requirements here.

Connect Azure Cloud Shell to a virtual network

To make the deployment easy, there are Azure Resource Manager templates available to deploy the necessary network and storage resources. In my step by step guide, I already have a virtual network deployed within my subscription with the resources I manage. If you don’t have that yet, and you want to try this out, you will need to create a resource group and a virtual network.

Simply the deploy the following two templates:

Deploy Azure Cloud Shell Network ARM template

Deploy Azure Cloud Shell Network ARM template

You can get the Azure Container Instance OID by running the following command:

Get-AzADServicePrincipal -DisplayNameBeginsWith 'Azure Container Instance'

Also, make sure that the subnet ranges are part of the address range in your virtual network.

Reconnect Cloud Shell

If you have used Azure Cloud Shell before, you will need to reconnect that to the specific resources. You can simply run the command “cloudrive unmount” or “dismount-cloudrive”.

After that you can reconnect your Cloud Shell and select the isolated network option. Keep in mind this feature is currently in preview, and only available in West US and West Central US.

Connect Azure Cloud Shell to virtual network

Connect Azure Cloud Shell to virtual network

This will then take a moment to deploy.

Requesting a container

Requesting a container

After the Cloud Shell container is deployed within the virtual network, you can now start using private IP addresses within that virtual network or virtual networks that are peered.

SSH into Azure VM with Private IP address from Cloud Shell

SSH into Azure VM with Private IP address from Cloud Shell

I hope this blog gives you a short overview of how you can integrate Cloud Shell in your private Azure virtual network. If you have any questions, feel free to leave a comment.

Azure Architecture Best Practices Virtual Event

Azure Architecture Best Practices Virtual Event

I am happy to let you know about another free online event where I am presenting together with Microsoft Cloud Solution Architect, Dominik Zemp, about Azure Architecture Best Practices. This free virtual event will be on August 18 from 9:30am-12:00pm (CEST). In this session, you will learn about proven guidance that’s designed to help you, architect, create and implement the business and technology strategies necessary for your organization to succeed in the cloud. It provides best practices, documentation, and tools that cloud architects, IT professionals, and business decision-makers need to successfully achieve their short- and long-term objectives. We will be focusing on topics like the Cloud Adoption Framework and the new Enterprise-Scale landing zone architecture.

Azure Architecture Best Practices Virtual Event Agenda:

  • Introduction
  • Why Azure Architecture?
  • Introduction to the Cloud Adoption Framework
  • What is Enterprise-Scale?
    • Build landing zones with Enterprise-Scale
    • Critical design areas
    • Deployment using AzOps
    • Demo
  • Build on top of Enterprise-Scale – Well-Architected Framework for workloads and apps
  • Q&A

You can register for the event here: Microsoft Virtual Live Event

About the Speakers:

Dominik Zemp (Microsoft Cloud Solution Architect)

Dominik Zemp is a Cloud Solution Architect working with Global Swiss financial customers and has been working at Microsoft since 2008. Before Dominik changed role in late 2015, he worked as a Security and Identity Consultant in the Microsoft Services organization. Dominik’s focus areas are applications and infrastructure, including cloud-native applications, networking, and security. Dominik holds a Bachelor degree in IT with Specialization in software systems.

Thomas Maurer (Microsoft Senior Cloud Advocate)

Thomas works as a Senior Cloud Advocate at Microsoft. He engages with the community and customers around the world to share his knowledge and collect feedback to improve the Azure cloud platform. Prior to joining the Azure engineering team (Cloud + AI), Thomas was a Lead Architect and Microsoft MVP, to help architect, implement and promote Microsoft cloud technology. If you want to know more about Thomas, check out his blog: www.thomasmaurer.ch and Twitter: www.twitter.com/thomasmaurer

I am really looking forward to the Azure Architecture Best Practices virtual event, and I hope to see you there!

Also, check out my exam study guides to achieve the Microsoft Azure Solutions Architect Certification:

Add ISO DVD Drive to a Hyper-V VM using PowerShell

Add ISO DVD Drive to a Hyper-V VM using PowerShell

Hyper-V offers the capability to add an ISO image to a virtual CD/DVD drive and you can use Hyper-V Manager to do that, or you can also use PowerShell. Here is how you can add an ISO to a Hyper-V virtual machine (VM) using PowerShell. There are two ways of doing it if you already have a virtual DVD drive attached to the VM or if you need to add a virtual DVD drive.

This works with Hyper-V on Windows Server and on Windows 10.

Attach ISO to an existing DVD Drive on a Hyper-V VM using PowerShell

To attach an ISO file to an existing virtual DVD drive on a Hyper-V virtual machine (VM) using PowerShell, you can use the following command:

Set-VMDvdDrive -VMName Windows10 -Path "C:\Users\thoma\Downloads\ubuntu-18.04.4-live-server-amd64.iso"

Add ISO file and DVD Drive to a Hyper-V VM using PowerShell

If your Hyper-V virtual machine doesn’t have a virtual DVD drive attached to it, you can add a virtual DVD drive including the ISO file with the following PowerShell command:

Add-VMDvdDrive -VMName "Windows10" -Path "C:\Users\thoma\Downloads\ubuntu-18.04.4-live-server-amd64.iso"

If you run this command on a virtual machine, which already has a virtual DVD drive attached, you will simply add a second virtual DVD drive to this machine. You can find more information on the Add-VMDvdDrive cmdlet on Microsoft Docs.


If you want to build some automation around Hyper-V on Windows 10 or on Windows Server, PowerShell is the way to go. If you have any questions feel free to leave a comment.

How to Manage Hyper-V VM Checkpoints with PowerShell

How to Manage Hyper-V VM Checkpoints with PowerShell

In this blog post we are going to have a look at how you can create, manage, apply, and remove VM Checkpoints in Hyper-V using PowerShell. Hyper-V virtual machine (VM) checkpoints are one of the great benefits of virtualization. Before Windows Server 2012 R2, they were known as virtual machine snapshots. VM Checkpoints in Hyper-V allow you to save the system state of a VM to a specific time and then revert back to that state if you need to. This is great if you are testing software and configuration changes, or if you have a demo environment, which you want to reset.

Hyper-V VM Checkpoint Types

Before we got on how you can manage Hyper-V VM Checkpoints with PowerShell, let me first explain the two different types. Since Windows Server 2016 and Windows 10, Hyper-V includes two types of checkpoints, Standard Checkpoints, and Production Checkpoints.

  • Standard Checkpoints: takes a snapshot of the virtual machine and virtual machine memory state at the time the checkpoint is initiated. A snapshot is not a full backup and can cause data consistency issues with systems that replicate data between different nodes such as Active Directory. Hyper-V only offered standard checkpoints (formerly called snapshots) prior to Windows 10.
  • Production Checkpoints: uses Volume Shadow Copy Service or File System Freeze on a Linux virtual machine to create a data-consistent backup of the virtual machine. No snapshot of the virtual machine memory state is taken.

You can set up these settings in Hyper-V Manager or in PowerShell.

Hyper-V VM Checkpoint Types

Hyper-V VM Checkpoint Types

If you are using PowerShell to configure Checkpoints for virtual machines these commands may help you.

Configure and set VM for Standard Checkpoints

Set-VM -Name "Windows10" -CheckpointType Standard

Set VM to Production Checkpoints, if the production checkpoint fails a Standard Checkpoint is created

 Set-VM -Name "Windows10" -CheckpointType Production

Set VM to only use Production Checkpoints

 Set-VM -Name "Windows10" -CheckpointType ProductionOnly

Disable VM Checkpoints for the Hyper-V virtual machine

 Set-VM -Name "Windows10" -CheckpointType Disabled

Managing Hyper-V VM Checkpoints using PowerShell

Create VM Checkpoints

You can create a new VM Checkpoint with PowerShell, you can round the following command:

Checkpoint-VM -Name "Windows10"

You can find more on the cmdlet on Microsoft Docs.

You can list the VM Checkpoints of a Hyper-V VM:

Get-VMCheckpoint -VMName "Windows10"
How to Manage Hyper-V VM Checkpoints with PowerShell

How to Manage Hyper-V VM Checkpoints with PowerShell

Applying Hyper-V VM checkpoints using PowerShell

If you want to revert your virtual machine state to a previous point-in-time, you can apply an existing checkpoint, using the following PowerShell command.

Restore-VMCheckpoint -Name "checkpoint name" -VMName "Windows10" -Confirm:$false

You can find more information about the cmdlet here.

Renaming checkpoints

To rename a checkpoint you can use the following command

Rename-VMCheckpoint -VMName "Windows10" -Name "Checkpointname" -NewName "MyNewCheckpointName"

Deleting checkpoints

You can also delete or remove a Hyper-V VM checkpoint with the following PowerShell command. This will merge the .avhdx files in the background.

Remove-VMCheckpoint -VMName "Windows10" -Name "Checkpointname"


I hope this blog post gives you a great overview on how you can manage, apply, restore, and remove Hyper-V VM Checkpoints using PowerShell. You can learn more about Hyper-V virtual machine checkpoints on Microsoft Docs. If you have any questions, feel free to leave a comment.

Azure Singapore Virtual Meetup Azure Arc

Speaking about Azure Arc at the Azure Singapore Virtual Meetup

On Wednesday, June 10, I will be joining the Azure Singapore Virtual Meetup to talk about managing and govern Hybrid Environment using Azure Arc. The event will be held online from 7 pm (GMT+8) and you can find more information about the event and the Azure Singapore User Group here.

Manage and govern your hybrid environment using Azure Arc
Wednesday, 10 June 2020 7:00 pm to 8:00 pm GMT+8 📅 (Link)

Thomas Maurer shows you how you can manage and govern your Windows and Linux machines hosted outside of Azure on your corporate network or at other cloud providers, similar to how you manage native Azure virtual machines.

When a hybrid machine is connected to Azure, it becomes a connected machine and is treated as a resource in Azure. Azure Arc provides you with the familiar cloud-native Azure management experience, like RBAC, Tags, Azure Policy, Log Analytics, and more.

I hope you tune in for this week’s Azure Singapore Virtual Meetup and see you in the live stream! If you have any questions or comments, feel free to leave a comment below.

Speaking at the Microsoft European Open Source Virtual Summit

Speaking at the Microsoft European Open Source Virtual Summit

I am honored to let you know that I will be speaking at the Microsoft European Open Source Virtual Summit 2020 on June 16th. Microsoft European Virtual Open Source Summit by the Microsoft Open Source team is a unique digital event, designed to celebrate communities, entrepreneurs, and developers coming together to build the future of open source technologies in the cloud.

The day will divide into four parallel tracks designed to provide the best learning experience for IT Pros, Developers, and Data Scientists. Each track will be packed with expert guest speakers who’ll be deep-diving into a wide variety of topics, from chaos engineering and serverless architecture to multi-cloud app development.

  • 2 Keynotes from GitHub and Red Hat
  • 4 Tracks with 7 sessions (check the agenda)
  • Ask the Experts Live Q&A
  • 30 Sessions from the most engaging Open Source speakers
  • Digital Expo Area with Digital booths of our partners

I will be presenting two sessions:

  • Hybrid Management capabilities for open source solutions like Azure Arc.
    11:30 – 12:15 CEST
    Register here
  • Making Windows Awesome for ALL Developers with Scott Hanselman
    13:00 – 13:45 CEST
    Register here.

More tracks and sessions:

  • Keynote Session 1: Open Source Built the Modern World by Nat Friedman, CEO, GitHub
  • Keynote Session 2: Business Benefits of Open Source Collaboration Between Red Hat and Microsoft by Stefanie Chiras, SVP & General Manager, Red Hat Enterprise Linux Business Unit
  • Track 1: Infra & Ops – Infra related topics around Linux, Hybrid Management, Chaos Engineering, and more.
  • Track 2: Innovation – Cloud-native track with diverse line-up of speakers and subjects.
  • Track 3: Data & AI – Learn all there is to know about Open Source and Data. Strong line-up also from partners.
  • Track 4: Developers – 7 amazing sessions ensuring the developer audience get what they want!

I hope to see you at the Microsoft European Open Source Virtual Summit! If you have any questions feel free to leave a comment.