As discussed in ticket #5972 (even if that ticket is closed), the script on this page stops working in localized versions of Windows (Dutch mentioned in ticket #5972 specifically). This is caused by the difference in how the strings 64-bit and 32-bit occur in non-English localized versions of Windows.
The suggestion in ticket #5972 is to add some regex functionality inside function CheckOSArchitecture, like this:
function CheckOSArchitecture
{
$OSArch = $(gwmi win32_operatingsystem).OSArchitecture.ToLower()
Log $OSArch
if($OSArch -match ("64\-?\s?bits?"))
{
LogAndConsoleSuccess "64 bit archictecture"
}
elseif($OSArch -match ("32\-?\s?bits?"))
{
LogAndConsoleError "32 bit archictecture"
$DGVerifyCrit.AppendLine("32 Bit OS, OS Architecture failure.") | Out-Null
}
else
{
LogAndConsoleError "Unknown architecture"
$DGVerifyCrit.AppendLine("Unknown OS, OS Architecture failure.") | Out-Null
}
}
The word "archictecture" is also misspelled, twice in that function, luckily only in text strings used for logging.
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
May as well just mention related issues from the other page, since they are all related to the Windows Defender Device Guard and Windows Defender Credential Guard hardware readiness tool :
The main issue reported here (and described in the closed ticket #5972 ) is possibly related to an unresolved question in the closed ticket #4679 .
Great sir. Author plesse accept his PR
Please note that the author of the script modification is @RvdHout (Ruud van den Hout).
Most helpful comment
May as well just mention related issues from the other page, since they are all related to the Windows Defender Device Guard and Windows Defender Credential Guard hardware readiness tool :
5690 #5723 #6054 #6055 (open issues)
The main issue reported here (and described in the closed ticket #5972 ) is possibly related to an unresolved question in the closed ticket #4679 .