none
Windows 8 activation through MDT

    Question

  • I haven't had a chance to test very much but from what I have read,  you should be able to install a retail copy of Win 8 on an OEM machine and it will pick up the key stored in the BIOS automatically.  I'm trying to deploy Windows 8 to an OEM PC and it is not picking up any product key at all.

    Am I reading this wrong?  

    For a comparison,  we used to deploy a thick image to our Lenovo laptops and use the COA key (post install) to activate Windows.  Obviously this is not possible with Windows 8 as the COA sticker is not provided.

    EDIT:: Installing with the DVD works and seems to pick up the OEM product key,  but deploying the same DVD with MDT 2012 U1 doesn't.  Anyone have any advice on this please?
    • Edited by mhouston100 Tuesday, December 04, 2012 12:16 AM
    Monday, December 03, 2012 11:00 PM

Answers

  • Note: if you're planning to deploy windows and use 1 "oem coa (eventhough it's in the uefi)" product key for all laptops, you'll end up doing something that's not supported since they are (officially at least) machine bound (this is also against licensing, unless).

    I guess some things might have changed in V3 oem activation, I never checked the details on this since I use VL for activating Windows 8. Thanks for that enlightenment!

    Question: When you're deploying Windows 8 using MDT, does it use the Windows Setup at all? If I'm not mistaken it'll simply apply the image using imagex and then apply the unattend.xml file.

    Something you can try, not sure if it'll work properly though, edit the unattend.xml file that's used by MDT and remove the <Productkey></ProductKey> items (should be two of them, to be sure just delete both), make a backup first though. This is kind of the only thing I can think of at this point, I also don't have any hardware that has the key integrated in the uefi so I cannot test anything either for at least 2-3 months.

    Kind regards,

    Stephan Schwarz


    If one of these posts answered your question or issue, please click on "Mark as answer".

    My Blog | Twitter: @Schwarz_Stephan | MCTS, MCITP, MCSA, MCC-2011.
    How to configure Windows RE/OEM Recovery Partition with MDT
    How to configure Windows RE/OEM Recovery Partition with MDT 2012 Update 1

    • Marked as answer by mhouston100 Monday, February 04, 2013 3:59 AM
    Tuesday, December 04, 2012 9:46 PM

All replies

  • I have been told here on the forum, that deploying OEM installations with MDT 2012 without being an official vendor like Dell or HP is not supported.

    However it you can activate Windows via the command line using the slmrg.vbs, like so:

    "%windir%\system32\slmgr.vbs" /ipk XXXXX-ABCDEF-XXXXX-123456-XXXXX
    "%windir%\system32\slmgr.vbs" /ato


    Keep us posted, and if helpful please rate! Kind regards

    Tuesday, December 04, 2012 12:43 PM
  • Rens answer is correct, however, I just use the unattend file to do this.  You can add a FirstLogonCommands to the oobeSystem pass.  I made it order one.  I have it as cscript //b c:\windows\system32\slmgr.vbs /ipk XXXXX-ABCDEF-XXXXX-123456-XXXXX.  Works like a charm for me and saves you from having to do it manually.
    Tuesday, December 04, 2012 1:51 PM
  • I haven't had a chance to test very much but from what I have read,  you should be able to install a retail copy of Win 8 on an OEM machine and it will pick up the key stored in the BIOS automatically.  I'm trying to deploy Windows 8 to an OEM PC and it is not picking up any product key at all.

    Am I reading this wrong?  

    For a comparison,  we used to deploy a thick image to our Lenovo laptops and use the COA key (post install) to activate Windows.  Obviously this is not possible with Windows 8 as the COA sticker is not provided.

    EDIT:: Installing with the DVD works and seems to pick up the OEM product key,  but deploying the same DVD with MDT 2012 U1 doesn't.  Anyone have any advice on this please?

    I'm not gonna go into the specific details for OEM activation, however there is no product key stored in the BIOS.

    OEM Preactivated Windows installations work with a certificate and slic tables (feel free to do a search for windows slp activation). These are generally triggered by some custom tasks specified in the unattend file that's used with the OEM media.

    MDT will use it's own unattend file, this is one of the causes that installations from OEM media will differ than those installed with MDT.

    Kind regards,

    Stephan Schwarz


    If one of these posts answered your question or issue, please click on "Mark as answer".

    My Blog | Twitter: @Schwarz_Stephan | MCTS, MCITP, MCSA, MCC-2011.
    How to configure Windows RE/OEM Recovery Partition with MDT
    How to configure Windows RE/OEM Recovery Partition with MDT 2012 Update 1

    Tuesday, December 04, 2012 6:25 PM
  • Thanks everyone for taking the time to respond!

    However, I'm not convinced that is the case.  With the new V3.0 activation a unique product key IS stored in the UEFI firmware (as opposed to a COA sticker as was required previously), and can be extracted and used once Windows 8 is installed. Your details apply to Windows 7 and the old OEM activation methods.

    For example I can use the following scenario:

    1. Fresh OEM laptop (Lenovo for e.g)

    2. Boot up machine with OEM install and run through manufacturers setup

    3. Use something like Windows 8 Product key finder 

    4. Deploy custom image with MDT using the key extracted in 3.

    Activation is successful.

    Or I can also do:

    1. Fresh OEM laptop (Lenovo for e.g)

    2. Do a fresh installation from retail / msdn media

    3. Install automatically picks up unique product key from UEFI

    4. Extract key

    5. Deploy through MDT using extracted key

    What I'm trying to get at is how to make the MDT deployment of Windows 8 act the same as the retail media in regards to the product key.  I can always do it the manual way above but this is an unnecessary step for the techs doing the deployment. 

    I have confirmed that these are UNIQUE product keys across many OEM laptops.



    • Edited by mhouston100 Tuesday, December 04, 2012 8:54 PM
    Tuesday, December 04, 2012 8:53 PM
  • I might have mis-worded it,  but I'm not trying to deploy an OEM install.

    I might explain a bit further:

    Our current laptop model is a Lenovo Thinkpad E530.  These used to come with Windows 7 Pro.  We have a custom thick image that we deploy,  then after completion we use the product key on the COA sticker to activate Windows.

    This model is now defunct and the new product (physically identical) comes with Windows 8 preinstalled.  With the new v3.0 activation,  the product key is now stored in the UEFI firmware instead of the COA sticker.  This works fine when restoring using the Lenovo restore media, or the retail / msdn media - it will automatically pick up the unique key from the BIOS and will activate successfully.  However when deploying with MDT using the same media that was previously successful,  the BIOS key is never read and the standard install key is still there,  resulting in a failed activation.

    What I'm trying to find out is, what is the mechanism that Windows 8 retail / msdn media uses to read the key from the UEFI firmware and why is it broken by MDT?

    I'm pretty sure it is due to the unattend.xml but I'm not sure how!

    Tuesday, December 04, 2012 9:02 PM
  • I'm aware of the activation procedure and it works fine - when you have the key.  

    The problem I have is the company is too tight to spring for even the most measly of volume media so we can avoid this issue altogether!

    We wont be officially moving to Windows 8 for quite a while but I need to get this sorted so I'm not caught out,  they are very fickle around here!

    Tuesday, December 04, 2012 9:05 PM
  • Note: if you're planning to deploy windows and use 1 "oem coa (eventhough it's in the uefi)" product key for all laptops, you'll end up doing something that's not supported since they are (officially at least) machine bound (this is also against licensing, unless).

    I guess some things might have changed in V3 oem activation, I never checked the details on this since I use VL for activating Windows 8. Thanks for that enlightenment!

    Question: When you're deploying Windows 8 using MDT, does it use the Windows Setup at all? If I'm not mistaken it'll simply apply the image using imagex and then apply the unattend.xml file.

    Something you can try, not sure if it'll work properly though, edit the unattend.xml file that's used by MDT and remove the <Productkey></ProductKey> items (should be two of them, to be sure just delete both), make a backup first though. This is kind of the only thing I can think of at this point, I also don't have any hardware that has the key integrated in the uefi so I cannot test anything either for at least 2-3 months.

    Kind regards,

    Stephan Schwarz


    If one of these posts answered your question or issue, please click on "Mark as answer".

    My Blog | Twitter: @Schwarz_Stephan | MCTS, MCITP, MCSA, MCC-2011.
    How to configure Windows RE/OEM Recovery Partition with MDT
    How to configure Windows RE/OEM Recovery Partition with MDT 2012 Update 1

    • Marked as answer by mhouston100 Monday, February 04, 2013 3:59 AM
    Tuesday, December 04, 2012 9:46 PM
  • I think you have hit on the crux of it,  the fact that the new deployment method through MDT is not using the Windows setup but instead uses imagex to deploy the image directly.

    I'll definitely be trying what you suggested and removing the product key from the unattend,  I'll post back the results for anyone else who is searching.

    It's unfortunate that we even have to do it this way,  and I keep telling myself it's 'a gray area' when it comes to licensing,  the short sighted management is something that I have to battle with every day unfortunately!

    Tuesday, December 04, 2012 9:50 PM
  • Have you had any luck with this so far? I'm having trouble deploying the Windows 8 Pro image i extracted from the recovery-disk from a Dell-computer, and getting it to activate.

    Somehow, the image get's "converted" to a retail image when imported to MDT.

    The Computer was shipped with Windows 8 Pro, and re-installing it manually with the recovery-media works fine.
    When i try to activate, the retail installation-key (XXXXX-XXXXX-XXXXX-XXXXX-CRYQH) has been used for the installation.

    I can't figure out how to get windows to extract the key from the UEFI.

    Tuesday, December 11, 2012 1:44 PM
  • No luck,  the company is actually getting me a volume license key because of it.  The 'problem' is that by design MDT 2012 U1 doesn't actually run the setup from the Windows media,  it just uses ImageX to uncompress the image to the partition.  That means whatever mechanism Windows is using to extract the key from the BIOS is never run.

    It's a PTA but I had some luck following these steps,  although it does add several steps:

    1. Follow the initial OEM setup procedure
    2. Run a key finder program
    3. Note the key or add it to the MDT DB
    4. Install from MDT using the key extracted
    5. Activate automatically when installed

    The activation will WORK but it kind of defeats the convenience and time saving of MDT as a deployment option... so now you are kind of stuck with KMS or MAK,  the OEM keys are unusable for us.  If you note the keys down in the MDT DB at least you only have to do it once I suppose.


    • Edited by mhouston100 Tuesday, December 11, 2012 8:45 PM
    Tuesday, December 11, 2012 8:44 PM
  • My problem is that my company is a big Dell-dealer. And we've always helped out customers reinstall their computers almost for free, as an extra service, due to the short amoutn of time needed to redeploy OEM Windows 7

    With Windows 8 however, we have to start charging them to do this if we have to install the OS manually.
    The sad part is that we're a Dell Premium Partner, and Dell doesn't seem to have a solution for us either.
    The time it takes to exstract the OEM-key from each computer is to significant to be worth it.

    Annoying..

    Monday, December 17, 2012 2:57 PM
  • We have same issue, how we can activate Windows 8 PRO if no OEM key on the computer label (windows 8 PRO)? Most of our customers are using OEM software and time to time we must reinstall it and with Windows 7 was (still) working just fine less then 30 minutes per workstation and customer had back all software what they needed (oem windows, oem office). But with Windows 8 I have not found way to activate it when using MDT installation. OEM media provided from Dell/Lenovo will take too much time to install.

    I looked this http://www.microsoft.com/oem/en/installation/downloads/Pages/Windows-8-ADK.aspx I can install using they default key, but I need to activate the copy.

    Some of our customers have Volume licenses, but most of customers are small and using only OEM software.

    Monday, February 25, 2013 2:56 PM
  • Hi,

    This post topic has been closed for some time now. Also, this is the wrong place for licencing issues.

    Please post a new question here: Microsoft Genuine Advantage Forums

    /Andrew


    Blog: http://scriptimus.wordpress.com

    Monday, February 25, 2013 3:02 PM
  • In the end this was the catalyst for our company to move the VL media and get some KMS / MAK keys.  I still keep an ear out as this question keeps getting asked but the general consensus is that deploying through MDT will not work with the preinstalled key as it does not run setup at all.

    If there was a WMI call or something that could pull the key from the EUFI it would be a simple matter of installing and then running an action in the TS to run slmgr... but I was never able to find how to get the key from the EUFI.

    Monday, February 25, 2013 8:48 PM
  • You could actually get the key from ACPI tables. The Windows API has two functions:

    EnumSystemFirmwareTables
    GetSystemFirmwareTable

    that you can use to read the tables from BIOS. The product key is stored in the Microsoft Software Licensing Tables (SLIC and MSDM)

    Here is some code that would do that, it's a quick hack but it spits the key out to use in a batch file with slmgr, or supply -v to display more info. I tested it with a couple of models and word with no problems.

    Build with VC++ as a statically linked exe.

    // ReadAcpi.cpp : Read MSDM license information from BIOS ACPI tables.
    //
    
    #include "stdafx.h"
    #include "Windows.h"
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	DWORD FirmwareTableProviderSignature;
    	PVOID pFirmwareTableBuffer;
    	DWORD BufferSize;
    	UINT  BytesWritten;
    	DWORD FirmwareTableID;
    	DWORD *pFirmwareTableID;
    	BOOL  foundTable = FALSE;
    	BOOL  verbose = FALSE;
    
    	if (argc > 1) {
    		if (wcscmp(argv[1], _T("-v")) == 0)
    			verbose = TRUE;
    	}
    
    	FirmwareTableProviderSignature = 'ACPI';
    	pFirmwareTableBuffer = NULL;
    	BufferSize = NULL;
    
    	// get buffer size, call with null values
    	BufferSize = EnumSystemFirmwareTables(FirmwareTableProviderSignature, 
    										  NULL, 
    										  NULL);
    	
    	// alloc memory
    	pFirmwareTableBuffer = malloc(BufferSize);
    
    	// enum acpi tables
    	BytesWritten = EnumSystemFirmwareTables(FirmwareTableProviderSignature, 
    										    pFirmwareTableBuffer, 
    										    BufferSize);
    	
    	// enumerate ACPI tables, look for MSDM table
    	pFirmwareTableID = (DWORD*)pFirmwareTableBuffer;
    	for (int i = 0; i < BytesWritten/4; i++)
    	{
    		FirmwareTableID = *pFirmwareTableID;
    		if (verbose) printf("%.*s\n", 4, pFirmwareTableID);
    		if (FirmwareTableID == _byteswap_ulong('MSDM')) {
    			if (verbose) printf("Found MSDM table\n");
    			foundTable = TRUE;
    			break;
    		}
    		pFirmwareTableID++;
    	}
    
    
    	if (foundTable) {
    		// get buffer size, call with null values
    		BufferSize = GetSystemFirmwareTable (FirmwareTableProviderSignature, 
    											 FirmwareTableID,
    											 NULL,
    											 NULL);
    		// alloc memory
    		pFirmwareTableBuffer = malloc(BufferSize);
    
    		BytesWritten = GetSystemFirmwareTable(FirmwareTableProviderSignature,
    											  FirmwareTableID,
    											  pFirmwareTableBuffer,
    											  BufferSize);
    
    		/*
    		Table description form Miocrosoft at: http://go.microsoft.com/fwlink/p/?LinkId=234834
    		
    		Microsoft Software Licensing Tables (SLIC and MSDM)
    		http://msdn.microsoft.com/library/windows/hardware/hh673514
    										Byte 			Byte
    		Field							Lenght			Offset	Description
    		======							=====			======	===========
    		Signature						4				0		MSDM
    		Length							4				4		Length, in bytes, of the entire table.
    		Revision						1				8		0x01
    		Checksum						1				9		Checksum of the entire table.
    		OEMID							6				10		An OEM-supplied string that identifies the OEM.
    		OEM Table ID					8				16		Optional motherboard/BIOS logical identifier.
    		OEM Revision					4				24		OEM revision number of the table for the supplied OEM Table ID.
    		Creator ID						4				28		Vendor ID of the utility that created the table.
    		Creator Revision				4				32		Revision of the utility that created the table.
    		Software Licensing Structure	Variable length	36		Proprietary data structure that contains all the licensing 
    																data necessary to enable Windows activation. 
    																Details can be found in the appropriate Microsoft OEM 
    																licensing kit by first visiting the Microsoft OEM website
    																(http://www.microsoft.com/oem/pages/index.aspx).
    		*/
    
    		BYTE *Signature	 = (BYTE*)memset(malloc(4+1), NULL, 4+1);
    		UINT Length;
    		BYTE Revision;
    		BYTE Checksum;
    		BYTE *OEMID		 = (BYTE*)memset(malloc(6+1), NULL, 6+1);
    		BYTE *OEMTbleID	 = (BYTE*)memset(malloc(8+1), NULL, 8+1);
    		BYTE OEMRev;
    		BYTE *CreatorID	 = (BYTE*)memset(malloc(4+1), NULL, 4+1);
    		UINT CreatorRev;
    		UINT SLS_Size = BytesWritten - 36;
    		BYTE *SLS		 = (BYTE*)memset(malloc(SLS_Size), NULL, SLS_Size);
    		UINT SLS_Version;
    		UINT SLS_Reserved;
    		UINT SLS_DataType;
    		UINT SLS_DataReserved;
    		UINT SLS_DataLenght;
    		BYTE *ProductKey = (BYTE*)memset(malloc(30+1), NULL, 30+1);
    
    		
    		memcpy_s(Signature, 4+1, (BYTE*)pFirmwareTableBuffer + 0, 4);
    		Length = *(DWORD*)((BYTE*)pFirmwareTableBuffer + 4);
    		Revision = *((BYTE*)pFirmwareTableBuffer + 8);
    		Checksum = *((BYTE*)pFirmwareTableBuffer + 9);
    		memcpy_s(OEMID, 6+1, (BYTE*)pFirmwareTableBuffer + 10, 6);
    		memcpy_s(OEMTbleID, 8+1, (BYTE*)pFirmwareTableBuffer + 16, 8);
    		OEMRev = *(DWORD*)((BYTE*)pFirmwareTableBuffer + 24);
    		memcpy_s(CreatorID, 4+1, (BYTE*)pFirmwareTableBuffer + 28, 4);
    		CreatorRev = *(DWORD*)((BYTE*)pFirmwareTableBuffer + 32);
    		memcpy_s(SLS, SLS_Size, (BYTE*)pFirmwareTableBuffer + 36, SLS_Size);
    		SLS_Version = *(DWORD*)((BYTE*)SLS);
    		SLS_Reserved = *(DWORD*)((BYTE*)SLS + 4);
    		SLS_DataType = *(DWORD*)((BYTE*)SLS + 8);
    		SLS_DataReserved = *(DWORD*)((BYTE*)SLS + 12);
    		SLS_DataLenght = *(DWORD*)((BYTE*)SLS + 16);
    		memcpy_s(ProductKey, SLS_DataLenght, (BYTE*)SLS + 20, SLS_DataLenght);
    
    		if (verbose) {
    			printf("Signature         : %s\n", Signature);
    			printf("Length            : %d\n", Length);
    			printf("Revision          : %d\n", Revision);
    			printf("Checksum          : %d\n", Checksum);
    			printf("OEMID             : %s\n", OEMID);
    			printf("OEM Table ID      : %s\n", OEMTbleID);
    			printf("OEM Revision      : %d\n", OEMRev);
    			printf("Creator ID        : %s\n", CreatorID);
    			printf("Creator Revision  : %d\n", CreatorRev);
    			printf("SLS Version       : %d\n", SLS_Version);
    			printf("SLS Reserved      : %d\n", SLS_Reserved);
    			printf("SLS Data Type     : %d\n", SLS_DataType);
    			printf("SLS Data Reserved : %d\n", SLS_DataReserved);
    			printf("SLS Data Lenght   : %d\n", SLS_DataLenght);
    			printf("Key               : %s\n", ProductKey);
    			/*printf ("\n\nPress [Enter] to continue . . .");
    			fflush (stdout);
    			getchar();*/
    		} else {
    			printf("%s", ProductKey);
    		}
    	}
    
    	return 0;
    }


    • Edited by aghoneim Friday, March 08, 2013 11:12 PM moved code to the end of the reply.
    • Proposed as answer by Tarts Wednesday, March 13, 2013 9:59 AM
    Friday, March 08, 2013 9:08 PM
  • Looks right thing for this issue. But as my scripting level is below 0 :) then how I can use that code? I need VC++ to build exe? I can use only powershell or vbs scripting. Today I will get new PC's where customer wants to install win 8 PRO (computer has the label) then I could test this solution .

    EDIT: made test (friend help me to create exe) and working 100% with Lenovo computer.

    • Edited by Tarts Wednesday, March 13, 2013 10:03 AM update
    Monday, March 11, 2013 10:32 AM
  • Looks right thing for this issue. But as my scripting level is below 0 :) then how I can use that code? I need VC++ to build exe? I can use only powershell or vbs scripting. Today I will get new PC's where customer wants to install win 8 PRO (computer has the label) then I could test this solution .

    EDIT: made test (friend help me to create exe) and working 100% with Lenovo computer.

    My Scripting Level is also below 0 :-P How did your friend make a working exe-file? My builds just fail, because i've got no idea what i'm doing :-P

    Could you attach your file to a post? Pretty pleease :-)

    Monday, March 25, 2013 11:05 AM
  • I do not know what friend did, but it is working just fine.

    Here is the link Download link , I provide it as it is. Code belongs to user Aghoneim who helped us.

    Working fine for installing org OEM image (no custom).

    Monday, March 25, 2013 12:45 PM
  • Worked like a charm!

    Thank you Aghoneim for the code, and Tarts for creating the .exe

    Monday, March 25, 2013 2:54 PM
  • I just spotted this but looks like the download link has expired, any chance you could post it again? Thanks!

    Friday, May 10, 2013 1:18 AM
  • New link for next 50 days download link


    • Edited by Tarts Monday, September 16, 2013 8:13 AM new download link
    Friday, May 10, 2013 12:01 PM
  • So, what everyone is saying is that you can't use MDT to deploy your OEM software to multiple machines? We have 1000+ units every year with specific NON generic images. We don't put in every OEM key because its not required by the reimage license by Microsoft. However, the license seems to be locked in the recovery... No good old days of 2.1 using the xrm-ms and product key, now I do t understand how they expect us to image multiple units (legally by their license) and not have to have a DB of every license key, even with VL key OEM software fails activation. If anyone finds out where the activation 3.0 BIOS is stored I would be much appreciated, even with the product key. (OEM or VL) it fails after making an image from the updated recovery OS installation
    Saturday, May 11, 2013 9:56 PM
  • So, what everyone is saying is that you can't use MDT to deploy your OEM software to multiple machines? We have 1000+ units every year with specific NON generic images. We don't put in every OEM key because its not required by the reimage license by Microsoft. However, the license seems to be locked in the recovery... No good old days of 2.1 using the xrm-ms and product key, now I do t understand how they expect us to image multiple units (legally by their license) and not have to have a DB of every license key, even with VL key OEM software fails activation. If anyone finds out where the activation 3.0 BIOS is stored I would be much appreciated, even with the product key. (OEM or VL) it fails after making an image from the updated recovery OS installation

    Yes. But we have working solution (see above). We have used it for many computers and working fine. No other official solution, only VL but for smaller customers it it not an option.
    Monday, May 13, 2013 6:43 AM
  • Would someone with experience using this in MDT please provide a quick overview of how they are using it?  Setup details?  Or is there a better solution now?

    Thanks

     
    Friday, November 15, 2013 5:03 PM
  • Using the AMAZING understanding and programming prowess of "Agnoheim" I have adapted a batch script using a FOR loop to gather the Product Key from the bios using his tool and store it as a variable, then by utilizing SLMGR, install that product key and then activate Windows 8. This should work on all computers that are certified for Windows 8. If it is not, the product key value will return blank and make the rest of the script invalid.

    Copy and paste this following code into a batch script and store in the same folder as the tool provided from Agnoheim. Rename the exe file to rpkfb.exe (Retrieve Product Key From Bios) so that the script will work properly. Enjoy my fellow admins!

    @ECHO OFF

    REM We will retrieve the product key from the bios (If it exists) and store it as a variable
    for /F "tokens=* delims=" %%i in ('rpkfb.exe') do set PRODUCTKEY=%%i

    @ECHO Your Product Key is %PRODUCTKEY%
    @ECHO:

    REM We will take the product key and install it using "Software License Manager" aka (SLMGR)
    cscript //B "%SYSTEMROOT%\system32\slmgr.vbs" -ipk %PRODUCTKEY%

    @ECHO:

    REM We will now take the newly installed product key and activate Windows 8
    cscript //B "%SYSTEMROOT%\system32\slmgr.vbs" -ato

    Script stops here

    There are a multiple ways to adapt this

    ***RULES OF THUMB!!!***

    Install / Deploy Windows 8 with the Default Product Key (Trial) and activate after install

    Keep in mind, There are no hacks associated with this! Lets continue...

    ***END RULES OF THUMB***

    1. Using MDT, you can use the EXE provided and store its output as a Task Sequence Variable and use it in later task sequence steps to activate Windows 8. Unsure of how to store the output currently, but working on it.

    2. Use the script from a flash drive or network location and it should work great!

    3. Pack the files into a executable using something along the lines of BAT to EXE converter and just simply run it from a flash drive or network location or add it as an application or custom task sequence step in MDT during a Windows 8 deployment task sequence somewhere after the "State Restore" phase. MDT will hold onto the EXE until it returns a 0 3010 success code so that means the script will process fully before it moves on because its packed into a EXE.

    All in all, this will allow all of us to utilize the Windows 8 licenses that come along with the machines in the first place and activate Windows legitimately using that method. Although there was more to figure out on our end, I think Microsoft has truly made a great move with SLP 3.0 by making each license truly unique to each computer. SLP 2.1 was a great attempt, but I think they have it down now. This will allow us to keep machines legal without having to rip our hair out creating WMI Manufacturer based activation for Windows 7 "LIKE I HAD TO DO!" LOL!

    I have taken the liberty to compile the self extracting executable using SFX Maker that will utilize the code above in a automated fashion and nothing else.

    Download the file here:

    https://drive.google.com/file/d/0Byc1kjBl5mjARzZYZ1hfMlFabmc/edit?usp=sharing

    God Bless guys!

    P.S. - If anybody needs to know how to make a hidden recovery partition with MDT prepared Windows PE on it during a task sequence that will capture a WIM of the currently installed OS, allow you to restore it, and add a boot entry to the Windows Boot Manager, please let me know!
    Tuesday, January 07, 2014 6:37 PM