Search This Blog

Monday, February 8, 2021

MEMCM debug in-place upgrade (IPU) using Azure blob

NuGet Gallery | Microsoft.Azure.WebJobs.Logging.ApplicationInsights 3.0.25

Introduction

A couple weeks ago I showed you how to get vital logs from a client without disturbing the user. This blog post will cover how to deal with in-place upgrades that did not go as expected. Now as most people still work from home, it can be difficult to see and find those issues. This is where setupdiag.exe comes to the rescue. On systems version 2004 and newer this is already included in the OS, but I will deploy it to every client to make sure I know where to find it.

 

Updated and added Adam Gross solution as I was told sometimes Setupdiag.exe does not show the problem. Thanks Karl Wester-Ebbinghaus for notify me of this cool addon.

 

Requirements

  • Azure storage account
  • CMG

Azure Storage

I have already covered that in another blog

 

Prepare your client environment

Before we can run the script on clients, we need to make sure they have the PowerShell modules.

  

Start a Windows 10 client and fire up PowerShell shell.

Install-module azure.storage

Go through the prompts

clip_image002

 

Install-module azureRM.profile

Go through the prompts

clip_image004

 

Install-module FU.WhyAmIBlocked

Go through the prompts

image

 

To automize this, go to file explorer

Copy the folder Azure.Storage and AzureRM.profile

image

 

Go to your browser and download setupdiag.exe

Create a script and a MEMCM package that copies these 2 folders (Azure.Storage + AzureRM.profile + FU.WhyAmIBlocked) and setupdiag.exe (Setupdiag.exe should go to C:\Windows\temp) to your clients.

clip_image008

Deploy the package to your clients.

 

MEMCM preparations

Download this script

Start your MEMCM Console

Create Script

clip_image010

 

Copy the content of the Github Script

Paste the code to the script in MEMCM.

We need to change the xxx parameters

clip_image012

 

StorageAccountName can be found here:

clip_image014

 

StorSas parameter where the string we saved to notepad earlier.

Container parameter also went to the notepad doc.

clip_image016

When added, click next next and done.

 

Approve the script

clip_image018

And we are ready to rock and roll getting logs

 

Right click a device -> run script

clip_image020

 

Get IPU logs from device

clip_image022

Next

 

On the device CPC-TEST03 it starts setupdiag.exe which will take a minute or two.

clip_image024

 

Result before uploading

clip_image026

clip_image028

 

output from Adam Gross script

image

 

And on the Azure Storage

clip_image030

You can either choose to grab it manually or go to Tom Degreef’s blog and get his download script, to automate the last part.

https://www.oscc.be/sccm/Logging-in-the-cloud-Part-1/ -> Retrieve the logs

Summary

There is always a scenario that goes into haywire and we need a way to reach out and have some insight of the problem. Guiding a user how to do things can be time consuming and not very agile. We need to be able to get logs even though our endpoints roam the internet. This is good example of how that can be achieved.

Happy testing!

No comments:

Post a Comment