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
Install-module azureRM.profile
Go through the prompts
Install-module FU.WhyAmIBlocked
Go through the prompts
To automize this, go to file explorer
Copy the folder Azure.Storage and AzureRM.profile
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:Windowstemp) to your clients.
Deploy the package to your clients.
MEMCM preparations
Download this script
Start your MEMCM Console
Create Script
Copy the content of the Github Script
Paste the code to the script in MEMCM.
We need to change the xxx parameters
StorageAccountName can be found here:
StorSas parameter where the string we saved to notepad earlier.
Container parameter also went to the notepad doc.
When added, click next next and done.
Approve the script
And we are ready to rock and roll getting logs
Right click a device -> run script
Get IPU logs from device
Next
On the device CPC-TEST03 it starts setupdiag.exe which will take a minute or two.
Result before uploading
output from Adam Gross script
And on the Azure Storage
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!
Mattias Melkersen is a community driven and passionate modern workplace consultant with 20 years’ experience in automating software, driving adoption and technology change within the Enterprise. He lives in Denmark and works at Mindcore.
He is an Enterprise Mobility Intune MVP, Official Contributor in a LinkedIn group with 41.000 members and Microsoft 365 Enterprise Administrator Expert.
Mattias blogs, gives interview and creates a YouTube content on the channel "MSEndpointMgr" where he creates helpful content in the MEM area and interview MVP’s who showcase certain technology or topic.
Official Contributor here "Modern Endpoint Management":
https://www.linkedin.com/groups/8761296/