In this post we will discuss on the error “Troubleshoot TS issue the value for the attribute is not valid language” which you see while running the task sequence. The error comes after the recent upgrade to Windows ADK which doesn’t have the capability to run the VBScript.
Let’s divide the section into problem statement and the solution for better understanding.
Problem
During Configuration Manager upgrade, I also upgraded the ADK to the most recent version. The installed version was ADK 10.1.25398 (September 2023 release).
As part of the process, I created new boot image which I was able to do it successfully. However, when running the task sequence using new Boot Image, I got the following error:
C:\_SMSTaskSequence\Packages\MAN00009\scripts\ZTIGather.wsf(2, 11) Windows Script Host: The value for the attribute is not valid : language
Failed to run the action: MDT Lite. Error 1

The error was specifically coming when running VBScript. I do have MDT Toolkit package, MDT settings and MDT Lite packages created. MDT heavily relies on VBScript. This was really a huge bummer as we can’t suddenly abandon all VBScript and start using PowerShell script.
Microsoft documentation also clearly mentions about VBScript is deprecated as per the link https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#deprecated-features

VBScript is deprecated. In future releases of Windows, VBScript will be available as a feature on demand before its removal from the operating system.
Above mentioned paragraph also gives the hope that VBScript might be available as feature on demand for one of the versions or upcoming versions.
Possible Solution
To find the solution, I have to rely on the Microsoft documentation which mentions about Windows PE Known issues. The link specifically mentions that VBScript is not working in WinPE and the issue is fixed in the 2023-10 or more recent Cumulative Update for Microsoft server operating system version 23H2.
Keeping this in mind, I downloaded the cumulative update for 2023-10 windows11.0-kb5031373-x64_12329c5a4350ccfb0ac4629e1d0d22d7f8189741.msu. Injecting it into the Boot image, but no luck the issue remains the same. The documentation specifically mentions about adding the “Scripting/WinPE-Scripting” optional component first before injecting the update. Hence, I tried both the methods by injecting to winpe.wim and updating the boot image and then injecting it to winpe.<PackageID>.wim and updating it. But no success in both the cases.
I tried various other permutation and combination to look for VBscript component. On my latest Windows 11 23H2 build, I tried finding the addition feature by running the command:
dism /online /get-capabilities /format:table

But no luck, I tried the same on latest Windows 10 22H2 build as well, but the results were same. I couldn’t find the component related to VBScript.
Other option could be to downgrade to old version of ADK ie. 10.1.19041. But that doesn’t look a good solution to me as sooner or later the older ADK version would block the future SCCM upgrade.
Following are the support ADK versions currently:
- Windows 11 (10.1.22621)
- Windows 11 (10.2.22000)
- Windows Server 2022 (10.1.20348)
- Windows 10, version 2004 (10.1.19041)
Reference link: https://learn.microsoft.com/en-us/mem/configmgr/core/plan-design/configs/support-for-windows-adk#windows-adk-versions
To my surprise latest ADK version 10.1.25398 is not listed. But my mind was more focused upon thinking 25398 to work by getting FOD for VBScript.
Solution
One of my colleague Koteswara Rao Mylavarapu pointed me to the correct direction by sharing the Johan Arwidmark’s link https://www.deploymentresearch.com/fixing-vbscript-support-in-windows-adk-sep-2023-update-build-25398/.
The link too was mentioning about injecting the LCU for Server operating system. But that optioned wasn’t working well for me.
The link ultimately provided the option on how to get the latest VBScript Feature-On-Demand which Microsoft mentioned as, it will be available in future releases as feature on demand.
As per the link mentioned above, we can get the VBScript FOD from Windows Server version 23H2 (Build 25398) and from Windows 11 insider build as well.
Windows 11 insider build was looking more promising for me which requires you to join Windows Insider Program. Here is the Microsoft link for Windows Insider Preview, you just need to select the edition to download the ISO:
https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewiso?wa=wsignin1.0
With up and functioning insider build, I was able to find the VBScript by running the command:
dism /online /get-capabilities /format:table

The VBscript component was also available when I clicked on start menu and went to Optional features and clicked on View features

First remove the component:
DISM /online /remove-capability /capabilityname:VBSCRIPT~~~~
Add the component back by running:
DISM /online /add-capability /capabilityname:VBSCRIPT~~~~
You may install it from Windows Optional features as well.
However, be ready to copy the FOD from c:\windows\SoftwareDistribution\Download, as the content gets deleted when installed. I followed Johan’s post to get the content when installation was done 60-70%. But still missed the content, I just got partial files.
With next retry, I was able to get all required 4 files as:
- Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~amd64~~.cab
- Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~amd64~en-us~.cab
- Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~wow64~~.cab
- Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~wow64~en-us~.cab
I copied these 4 files to SCCM servers location d:\vbscript FOD.

Follow the steps to inject the above mentioned all cab files into the boot image.
Create following folder structure:
C:\Mount\OGWIM: Copy ADK’s default wim here from C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim.
C:\Mount\MountedWIM: This is the location where WIM will be mounted.
C:\Mount\vbscriptFOD: Copied all 4 vbscript FOD’s here.
Launch Deployment and Imaging Tools Environment and run the command:
dism /Mount-wim /WimFile:D:\mount\OGWIM\winpe.wim /Index:1 /MountDir:D:\mount\MountedWIM
Run the following command for reference of what package is currently present in Boot Image:
dism /Image:D:\mount\MountedWIM /get-packages /format:table

Run all 4 commands:
dism /Image:D:\mount\MountedWIM /Add-Package /PackagePath:"D:\mount\vbscriptFOD\Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~amd64~~.cab"
dism /Image:D:\mount\MountedWIM /Add-Package /PackagePath:"D:\mount\vbscriptFOD\Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~amd64~en-us~.cab"
dism /Image:D:\mount\MountedWIM /Add-Package /PackagePath:"D:\mount\vbscriptFOD\Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~wow64~~.cab"
dism /Image:D:\mount\MountedWIM /Add-Package /PackagePath:"D:\mount\vbscriptFOD\Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~wow64~en-us~.cab"
Run the get-package command again to verify the package is injected:
dism /Image:D:\mount\MountedWIM /get-packages /format:table

We can verify it successfully as per the image above.
And finally commit and save the WIM by running command:
dism /unmount-wim /MountDir:D:\mount\MountedWIM /Commit
Conclusion
The issue was finally resolved with the new boot image which now have VBScript component present. What will be the Microsoft approach in the future, I am not clear. But this is becoming very evident the VBScript is definitely deprecated and we need planning to get rid of completely. MDT heavily relies on VBScript, will there be the update related to this package? I highly doubt.
Anyways, we have certain solutions available, I found injecting the VBScript FOD injecting into boot image as more viable solution.
Important links:
Discover more from SCCM | Intune | Device Management| Enterprise Mobility & Security
Subscribe to get the latest posts sent to your email.


