Powered by
WordPress
  • Improving the ESP duration

    I talked about the behavior of the Windows MDM stack in a blog post about a year ago.  The quick recap:  When a device first enrolls in Intune, it will initiate an MDM sync (i.e. ask Intune to send a list of new policies, apps, certs, etc. that need to be process) every 3 minutes…

  • Speeding up Windows Autopilot for existing devices

    2020-09-08 quick note:  This blog post was resurrected from an original post on http://blogs.technet.microsoft.com (RIP) from October 25, 2018, posted here with minimal edits. At Ignite 2018, we announced Windows Autopilot for existing devices , a new feature designed to migrate devices from Windows 7 (or any other version of Windows, i.e. 8.1 or 10),…

  • Using Microsoft Graph from Python

    I’ve spent a lot of time using the Microsoft Graph for interacting with Azure Active Directory, Intune, and Windows Autopilot.  Most of this has been done using PowerShell (scripting) or C# (programming).  But as I got questions about using Python from my son (college classes) and others, I decided to spend a little of my…

  • Command line apps from the store: How does that work?

    I had talked about the Windows Package Manager, WINGET.EXE, in a previous blog, but one thing always made me wonder:  How do those actually work?  I mean certainly the app packages contain the actual executables, but those executables aren’t placed in C:\Windows\System32 (that would be a bad practice).  Whether these apps are packaged as an…

  • Time, time, time (and location services)

    I’ve spent a lot of time talking about time, time zones, with multiple blogs (part 1 and part 2) talking about available options.  One of the options that I mentioned in the first blog was to let Windows 10 set the time zone automatically.  But that’s a little tricky, as there are some dependencies: Location…

  • Windows 10 2004 + every local experience pack = A planet-wide OS image

    I talked about the improvements that Windows 10 version 2004 introduced with local experience packs in a previous blog.  In the context of Windows Autopilot and OOBE, you can add one or more local experience packs (LXPs, basically, stripped-down language packs) so that the user can choose between them at the start of OOBE.  Yuri…

  • Changing the Hyper-V screen resolution during OOBE

    2020-08-01 quick note:  This blog post is resurrected from a December 2017 blog on the old blogs.technet.microsoft.com site (RIP), posted here with minimal edits. I’ve recorded a variety of videos (especially for Windows AutoPilot, but prior to that for other Windows deployment scenarios) that involve capturing the initial phases of a Hyper-V VM’s boot process. …

  • USB media and Windows Information Protection

    2020-08-01 quick note:  This blog post is resurrected from a January 2018 blog on the old blogs.technet.microsoft.com site (RIP), posted here with minimal edits. If you do lots of Windows deployments, you likely create USB media fairly frequently.  But if you are using Windows Information Protection (WIP), you could run into problems if that USB…

  • Afraid of Windows 10 with Azure AD join? Try it out (part 2)

    2020-08-01 quick note:  This blog post is resurrected from a January 2018 blog on the old blogs.technet.microsoft.com site (RIP), posted here with minimal edits.  In the part 1 blog, I talked about the mechanics of joining Windows 10 devices to Azure AD.  Now let’s shift focus and talk about the impact of doing it.  I…

  • Afraid of Windows 10 with Azure AD join? Try it out (part 1)

    2020-08-01 quick note:  This blog post is resurrected from a January 2018 blog on the old blogs.technet.microsoft.com site (RIP), posted here with minimal edits.  Some of the screen shots may have changed since then, but the overall concepts remain the same.  Also, if you are going to use Intune with Azure AD devices, make sure…

  • Disable Shift-F10 in OOBE

    The ability to press Shift-F10 to open a command prompt during the out-of-box experience (OOBE) in Windows has been around for many years.  But if you want to turn that off, there are two ways you can do it: Buy a device that ships with Windows 10 in S Mode.  When Windows 10 is running…

  • Azure AD won’t let you delete device objects associated with Windows Autopilot

    When you register a device with Windows Autopilot, an Azure AD device object will be created corresponding to that Azure AD device.  That device objects is important for Windows Autopilot and should never be deleted without also removing the Windows Autopilot device.  To support that, the Azure AD team has added an additional validation that…

  • Supercharge the Hybrid Azure AD Join device registration process

    I’ve written a few blogs about Hybrid Azure AD Join, and I’ve explained that there are two major pieces to this: What Windows Autopilot and Intune do to orchestrate the process of getting a new device joined to Active Directory.  You can read more about that process in this blog post, and more troubleshooting details…

  • Intune makes it easy to deploy an Always On VPN device tunnel profile

    A new feature was announced today for Intune:  You can create an Always On VPN device tunnel profile directly in Intune, without any of the gymnastics that were previously required.  All you need to do is create a VPN profile: For an Always On VPN device tunnel, just choose the appropriate options: Connection type:  IKEv2…

  • Troubleshooting Windows Autopilot Hybrid Azure AD Join

    It feels like I’ve written this blog before – many times actually.  But given the amount of interest recently, it’s time to cover the topic again:  How to troubleshoot Windows Autopilot Hybrid Azure AD Join.  This process involves the following steps: Here’s a description of those numbered steps: The device will send its hardware hash…

  • More improvements to the Get-WindowsAutopilotInfo script

    Yesterday’s changes (described in this blog) were probably bigger, but after a couple of suggestions in response to that update have caused me to publish another new version. For the first change, you can now build a CSV file with the UPN of the user that should be assigned to the device.  Just specify the…

  • Automating the Windows Autopilot device hash import and profile assignment process

    I posted a blog a back in March that talked about a new “-online” option that I added to the Get-WindowsAutopilotInfo script which will grab the hardware hash from a device and add it to Windows Autopilot using the Graph API.  I’ve made some further enhancements to that process to provide a few additional options. …

  • Windows Autopilot diagnostics: Digging deeper

    2025-05-02: I have an updated blog that you may want to start with: https://oofhours.com/2025/05/01/next-generation-autopilot-troubleshooting/ I’ve posted quite a few blogs talking about troubleshooting Windows Autopilot (such as this one), with some additional posts (three separate ones here, here, and here) talking about a script named Get-AutopilotESPStatus that can help display information about what went on…

  • The https://OofHours.com one-year anniversary

    The first post on the new https://oofhours.com website was exactly one year ago today.  Since then, I’ve done 125 posts amounting to a total of 82,000 words, with 600,000 views in total.  Given an average of 500 words per printed page and adding in the images and screenshots, I wrote the equivalent of a 400-page…

  • Using Windows 10 2004 with MDT and installing updates during a task sequence?

    There have been some reports from people who are creating their Windows 10 2004 image using MDT and running into an interesting issue:  The MDT ZTIWindowsUpdate.wsf script ends up skipping all the updates offered to the machine.  If you look at the BDD.LOG, you’ll see something like this: But why is MDT skipping all the…