About the author

Johan Arwidmark

Share

Windows Autopilot for Existing Devices – Downloading the Deployment Profile

By Johan Arwidmark / October 21, 2023

When using the Autopilot for Existing Devices scenario, you download one of your existing Autopilot deployment profiles via Microsoft Graph, and then instruct whatever deployment solution you are using to copy the file to the C:\Windows\Provisioning\Autopilot folder. This way you can enroll machines into Intune without having to upload a hardware hash and assign them […]

Share

Fixing VBScript Support in Windows ADK SEP 2023 Update (Build 25398)

By Johan Arwidmark / September 29, 2023

For those that tried out the latest Windows ADK for Windows 11 22H2, you quickly learned that Microsoft overlooked testing a bit. The VBScript component had been removed, breaking deployment solutions like MDT, or ConfigMgr (when using VBScripts). This post covers a temporary workaround until Microsoft releases an official fix. Update November 20, 2023: This […]

Share

Add Computer to Collection during OSD via the ConfigMgr AdminService

By Johan Arwidmark / September 29, 2023

In this post you learn how to configure your ConfigMgr task sequence to add a machine to a collection during deployment via the ConfigMgr AdminService. You will setup a service account, grant the minimal permissions for a service account in ConfigMgr, and then use a PowerShell script in the task sequence to trigger the ConfigMgr […]

Share

Get Action Command Line from Scheduled Task using PowerShell

By Johan Arwidmark / September 10, 2023

This week I had to find out the command line of a scheduled task from a few hundred machines, to make sure they had received the correct task, deployed from a Group Policy. Well, PowerShell to the rescue. Here is a small PowerShell snippet that will return the command line from a give task: Below […]

Share

Increasing ConfigMgr Client Cache size during OSD

By Johan Arwidmark / August 29, 2023

Here is a quick tip if you are deploying many applications in your task sequence: Make sure that the ConfigMgr client cache size is configured with enough space for your applications. If not, you'll see something like the following: Increasing the ConfigMgr Client Cache Back in the early days of ConfigMgr OSD you needed to […]

Share

Rename Local Administrator Account during OSD using PowerShell

By Johan Arwidmark / August 18, 2023

During OS Deployment it's not entirely uncommon to see organizations renaming the local admin directly in the task sequence. There are many options available for doing so, but using a healthy dose of PowerShell is an effective way. 🙂 Using the Rename-LocalUser Cmdlet Below sample gets hold of the local administrator account from its well-known […]

Share

Limiting Hyper-V Bandwidth using pfSense

By Johan Arwidmark / August 3, 2023

In my labs I frequently use bandwidth control to simulate different customer environments, allowing me to mimic distributed environments spanning over multiple locations. While Hyper-V itself does support bandwidth limiting, it can only do that on outgoing (outbound) traffic which is not really a real-world scenario where you have routers and WAN links limiting the […]

Share

Optimizing Windows 11 for the Enterprise

By Johan Arwidmark / July 22, 2023

You would think that a product named Windows 11 Enterprise would be optimized for business use out of the box, but like the Windows 10 Enterprise, Windows 11 Enterprise is far from it. In this post you learn about common configuration changes enterprises are doing to make Windows 11 more suitable for enterprises. The Supported […]

Share

Products for Software Updates Demystified

By Johan Arwidmark / July 19, 2023

When using ConfigMgr for Software Updates, via the Software Update Point role, you need to select which classifications and products you want to support in your environment. This configuration would have been super-easy if: Unfortunately, none of the above conditions are true, so in this post you find some clarification on some of the stranger […]

Share

Signing or Not – Intune Win32 App Detection and Requirement Scripts

By Johan Arwidmark / June 24, 2023

Not signing your Win32 App detection scripts may sound as a very strange suggestion, and it's certainly not ideal from a security standpoint, but depending on how many applications you have that are using scripts for detection and/or requirement rules you may run into unexpected results… Microsoft Intune Policy Limitations When using Microsoft Intune for […]

Share

Capture Videos from Hyper-V VMs using PowerShell

By Johan Arwidmark / June 24, 2023

In a recent project I was deploying hundreds of VMs across a large set of Hyper-V Hosts, and I needed to capture the screen output of each VM for documentation and troubleshooting purposes. Long story short, here is a PowerShell script that will capture still images from the screen of each Hyper-V VM according to […]

Share

Using Get-Date in PowerShell for Multiple Languages

By Johan Arwidmark / June 21, 2023

In a recent project I was collecting client health data across machines in multiple regions, all with different cultures/languages configured. As part of the collection, I was adding in a date column in my report via PowerShell. I was using the Get-Date command to get the current date, and then applying the native format options […]

Share

Validate Packages for ConfigMgr Task Sequences

By Johan Arwidmark / May 21, 2023

A quite common issue when doing OS Deployment with ConfigMgr is that there is a mismatch on the packages on one or more DPs. The result on the client is an error message in the smsts.log saying: The hash value is not correct, and the error code is 0x80091007. The fix is typically to update the […]

Share

My Favorite CMPivot Queries

By Johan Arwidmark / May 20, 2023

There are plenty of CMPivot examples out there, but here are a few of my favorites that I use pretty much every week. Enjoy 🙂 Lookup installed application by product name Lookup installed application count by product name Get Free Disk Space in GB

Share

Find Scheduled Tasks via PowerShell

By Johan Arwidmark / April 26, 2023

This morning I needed to find which scheduled task that ran a specific PowerShell script, and also which username that was configured to run the task. While the Get-ScheduledTask and Get-ScheduledTaskInfo cmdlets does retrieve detailed information about schedule tasks, they don't reveal the information about the username. Good old schtasks.exe to the rescue. The Script

Share

GitHub Dev – Using VS Code From Your Browser

By Johan Arwidmark / April 22, 2023

It's funny how some news simply flies under the radar, in this case I completely missed the release of github.dev back in August, 2021. Github.dev is web-based editor – essentially a lightweight VS Code – allowing you to edit code directly in your browser. There are two ways to go access the VS Code environment […]

Share

Benchmarking M.2 PCIe Adapters for Lab Workstations

By Johan Arwidmark / March 29, 2023

Just about a week ago I bought a used HP Z8 G4 Workstation on eBay to be used as a ConfigMgr / Intune lab machine. The machine I found only included a SATA SSD and of course I wanted more performance than that can bring, so I ordered a #shiny 4 TB NVMe SSD from […]

Share

Using Modern Driver Management with MDT Lite Touch

By Johan Arwidmark / March 26, 2023

While MDT is no longer being updated, and does not officially support Windows 11, it's still a great deployment solution and you can in fact deploy any Windows Client and Windows Server OS with it, including Windows 11. The recommend method to inject drivers during deployment using MDT is called Total Control, which means you […]

Page 2 of 27
>