Bloggat – fix för 802.1x vid uppgradering till Windows 10

Publicerad 31 augusti 2018 i Blogginlägg

Marcus Wahlstam, Advitum

Scroll down for an English version

Problemet

Från och med Windows 10 1703 finns ett problem som drabbar de som har 802.1x med certifikat aktiverat i sitt nät. När uppgradering av Windows 10 sker (In-Place Upgrade Windows 10 till Windows 10), återställs 802.1x-inställningarna för nätverkskortet. Detta gör att datorn hamnar i ett moment 22, man har inget nätverk och för att hämta inställningarna för att 802.1x ska fungera, som hämtas genom GPO-inställningar, måste man ju ha just nät.

En lösning på detta är att avaktivera 802.1x på aktuell port, men det är ju inte hållbart i en organisation med hundratals eller tusentals datorer och säkerhetsmässigt är ju detta en katastrof.

Lösningen vi har kommit på är att implementera ett script i sin uppgraderings-TS som finns tillgängligt i denna blogg.

Vad scriptet gör

  1. Sparar den aktuella och fungerande anslutningsprofilen med hjälp av netsh i angiven katalog.
  2. Lägger till följande i början av %WINDIR%\CCM\SetupCompleteTemplate.cmd
    1. Netsh-kommando för att lägga tillbaka anslutningsprofilen på nätverkskortet
    2. Sätter att RasMan (Remote Access Connection Manager) inte ska göra en revocation check på certifikat. Vilket ju inte går utan nätverk.
    3. Restart-NetAdapter för att ovan ska läsas in.
    4. Ipconfig /release och /renew
    5. Skriver ut IP-adressen (för felsökningssyfte)

Vad är då SetupCompleteTemplate.cmd?

Det är en mall för scriptet SetupComplete.cmd som körs i slutet av uppgraderingsprocessen. Hade vi lagt det som steg i TS direkt efter uppgraderingssteget hade det varit för sent.

ConfigMgr ser till att det som finns i mallen kopieras till SetupComplete.cmd i Upgrade Operating System-steget. Läs en mer djuplodande artikel hos Gary Blok här: https://garytown.com/customize-setupcomplete

Det enda ni kan behöva ändra i scriptet är sökvägen $profileBackupPath, om ni inte vill använda den som är satt.

Lägga till i Task Sequence

Skapa ett programlöst paket med scriptet i och lägg till ett Run PowerShell Script-steg precis innan Upgrade Operating System-steget körs.

Ladda ner skriptet HÄR

English version

The Problem

Beginning with Windows 10 1703 there is a problem in the In-Place Upgrade (IUP) process (Windows 10 to Windows 10) that resets the 802.1x settings to default values, which causes problems for those using certificate-based authentication for their 802.1x. The computer will simply not authenticate. And to get the correct settings for 802.1x, the computer needs a working network connection to able to get these settings through Group Policy. A catch 22!

One solution could be to disable 802.1x during the upgrade, but that is not an acceptable solution in even a quite small organization. And security wise it’s a disaster.

We have come up with a solution that only involves adding a script to the Upgrade Task Sequence, the script is available to download in this blog post.

What the script does

  1. Saves the current and working connection profile to a file in the catalog specified in the script.
  2. Adds the following to the beginning of %WINDIR%\CCM\SetupCompleteTemplate.cmd
    1. Netsh command to add the connection profile back from the file saved in step 1.
    2. Adds a registry value so that RasMan (Remote Access Connection Manager) doesn’t do a revocation check on certificates. Quite hard without a network connection…
    3. Restart-NetAdapter so the above changes take effect.
    4. Ipconfig /release and /renew
    5. Prints out the IP-address (for troubleshooting)

What is SetupCompleteTemplate.cmd?

It’s a template for the script SetupComplete.cmd that runs at the very end of an IUP. If we had put it as a Task Sequence step after the Upgrade OS step, it would have been too late.

ConfigMgr makes sure that what’s in the template is run as SetupComplete.cmd in the Upgrade OS step. Read a more in-depth article about this at Gary Blok’s blog: https://garytown.com/customize-setupcomplete

 The only thing you may want to change in the script is the path $profileBackupPath.

Add it to a Task Sequence

Create a package without a program that contains the script, then add a Run PowerShell Script step just before the Upgrade Operating System step.

Download script HERE

Tillbaka

Prenumerera på Advitums nyhetsbrev

Om du väljer att prenumerera på vårt nyhetsbrev kommer du att erhålla information om vad som händer på Advitum, våra utbildningar och kundevent, nyttiga blogginlägg och viktiga produktnyheter. Självklart kan du säga upp din prenumeration med en enkel knapptryckning.