{"id":128,"date":"2021-01-27T22:08:45","date_gmt":"2021-01-27T21:08:45","guid":{"rendered":"http:\/\/m365-blog.de\/?p=128"},"modified":"2021-01-27T22:27:56","modified_gmt":"2021-01-27T21:27:56","slug":"windows-10-2004-20h2-use-lxp-in-task-sequence","status":"publish","type":"post","link":"https:\/\/m365-blog.de\/?p=128","title":{"rendered":"Windows 10 2004\/20H2 &#8211; Use LXP in Task Sequence"},"content":{"rendered":"\n<p>Last year&nbsp;I&nbsp;wrote a <a href=\"https:\/\/m365-blog.de\/?p=79\" data-type=\"URL\" data-id=\"https:\/\/m365-blog.de\/?p=79\" target=\"_blank\" rel=\"noreferrer noopener\">Blog Post<\/a> about Language Experience Packs (LXP\u2019s) within a 1909 OSD Task Sequence.&nbsp;&nbsp;<\/p>\n\n\n\n<p>But I think no one of us still want to deploy this \u201cold\u201d OS and is looking forward to Windows 10 20H2.&nbsp;Fortunately,&nbsp;my&nbsp;colleague&nbsp;Markus just texted me last week with some optimization&nbsp;for the implementation of LXP\u2019s. <\/p>\n\n\n\n<p>I really liked it so here it is.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Package:&nbsp;<\/h2>\n\n\n\n<p>You still need to apply the LXP Files you want in the Task Sequence.&nbsp;Alternatively,&nbsp;you can prepare&nbsp;your&nbsp;Image with the LXP files, if you want to\u2026 have a&nbsp;look&nbsp;at Michael Niehaus Blog Post&nbsp;for more&nbsp;Information&nbsp;about that:&nbsp;<a href=\"https:\/\/oofhours.com\/2020\/08\/11\/windows-10-2004-every-local-experience-pack-a-planet-wide-os-image\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/oofhours.com\/2020\/08\/11\/windows-10-2004-every-local-experience-pack-a-planet-wide-os-image\/<\/a>&nbsp;<\/p>\n\n\n\n<p>Download the LXP ISO&nbsp;for 2004&nbsp;and extract&nbsp;the language you need&nbsp;to&nbsp;your&nbsp;Package&nbsp;Share destination&nbsp;(No new LXP\u2019s for 20h2 are released. You can use the LXP\u2019s for 2004).&nbsp;<\/p>\n\n\n\n<p>In my example I used the de-DE LXP\u2019s.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"908\" height=\"178\" src=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-3.png\" alt=\"\" class=\"wp-image-142\" srcset=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-3.png 908w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-3-300x59.png 300w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-3-768x151.png 768w\" sizes=\"auto, (max-width: 908px) 100vw, 908px\" \/><\/figure>\n\n\n\n<p>Create a SCCM Package&nbsp;for every extracted Language&nbsp;and distribute the content to you DP\u2019s.&nbsp;(If you need help how to create a Package, maybe <a rel=\"noreferrer noopener\" href=\"http:\/\/www.kombitz.com\/2017\/01\/19\/how-to-create-a-package-in-sccm-2012\/#:~:text=How%20to%20Create%20a%20Package%20in%20SCCM%202012,click%20on%20Next%20to%20continue%20Weitere%20Artikel\u2026%20 .\" data-type=\"URL\" data-id=\"http:\/\/www.kombitz.com\/2017\/01\/19\/how-to-create-a-package-in-sccm-2012\/#:~:text=How%20to%20Create%20a%20Package%20in%20SCCM%202012,click%20on%20Next%20to%20continue%20Weitere%20Artikel\u2026%20 .\" target=\"_blank\">this<\/a> Blog post can help you. Short note \u2013 we don\u2019t need a program).&nbsp;<\/p>\n\n\n\n<p>So now there is the cool Part.&nbsp;We just need three Task Sequence Steps to implement the&nbsp;LXP\u2019s for a Language.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Set Dynamic Variables:&nbsp;<\/h2>\n\n\n\n<p>First create a Set Dynamic Variables Task Sequence Step&nbsp;with the following Configuration&nbsp;to set the Language Settings which will be used in the Apply Windows Settings step.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"908\" height=\"590\" src=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1.png\" alt=\"\" class=\"wp-image-133\" srcset=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1.png 908w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-300x195.png 300w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-768x499.png 768w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-368x240.png 368w\" sizes=\"auto, (max-width: 908px) 100vw, 908px\" \/><\/figure>\n\n\n\n<p>Make sure to define the Location Variable&nbsp;(for example as a Variable Property on the Computer Object,&nbsp;Collectionvariable, additional&nbsp;Set Task Sequence Variable&nbsp;Step&nbsp;based on&nbsp;Computername,\u2026)&nbsp;in the&nbsp;Language&nbsp;Tag&nbsp;Format&nbsp;used by Windows&nbsp;\u2013 in my case for Germany&nbsp;\u201cde-DE\u201d.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Here you can look up&nbsp;the&nbsp;Language Tags:&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/windows-hardware\/manufacture\/desktop\/available-language-packs-for-windows#language-packs\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/en-us\/windows-hardware\/manufacture\/desktop\/available-language-packs-for-windows#language-packs<\/a>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Install&nbsp;DEDE:&nbsp;<\/h2>\n\n\n\n<p>Use the Add-AppxProvisionedPackage&nbsp;command to Install the LXP. Link the Package with the described files above.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"908\" height=\"694\" src=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-2.png\" alt=\"\" class=\"wp-image-134\" srcset=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-2.png 908w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-2-300x229.png 300w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-2-768x587.png 768w\" sizes=\"auto, (max-width: 908px) 100vw, 908px\" \/><\/figure>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">powershell.exe\u00a0-executionpolicy bypass -command\u00a0\"Add-AppxProvisionedPackage -Path C:\\ -PackagePath .\\LanguageExperiencePack.de-DE.Neutral.appx -LicensePath .\\License.xml\"<\/pre>\n\n\n\n<p>You can create this Step for each language you want to install based on Variables.&nbsp;Double check the linked Package \u2013 you need to change this for each Language.&nbsp;<\/p>\n\n\n\n<p>Add FOD:&nbsp;<\/p>\n\n\n\n<p>The next&nbsp;and last&nbsp;step will install some German Features on Demand. Just a short reminder\u2026 Have a look at your&nbsp;execution policy for PowerShell Scripts ;).&nbsp;<\/p>\n\n\n\n<p>This Script can be used for any Language you want to install. So, no&nbsp;duplicated&nbsp;Steps for different Languages are necessary.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Create an object to access the task sequence environment\n$tsenv = New-Object -ComObject Microsoft.SMS.TSEnvironment\n\n# Query the environment to get an existing variable\n# Set a variable for the language to use\n$lng = $tsenv.Value(\"Location\")\n\n# Get all available language capabilities\n# and install them from the Internet using DO if available\nGet-WindowsCapability -Online | where { $_.Name -like \"Language*$lng*\"} | Add-WindowsCapability -Online\n<\/pre>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"531\" src=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image.png\" alt=\"\" class=\"wp-image-131\" srcset=\"https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image.png 1024w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-300x156.png 300w, https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-768x398.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>So far so good \u2013 that was everything you need to&nbsp;know&nbsp;for the Win10 20h2 OSD TS.&nbsp;<\/p>\n\n\n\n<p>Make sure to check out my colleague Markus on Twitter:&nbsp;<a href=\"https:\/\/twitter.com\/markusbux?s=21\" data-type=\"URL\" data-id=\"https:\/\/twitter.com\/markusbux?s=21\" target=\"_blank\" rel=\"noreferrer noopener\">@MarkusBux&nbsp;<\/a><\/p>\n\n\n\n<p>Again, a few additional notes here which might help you&#8230;<\/p>\n\n\n\n<ul class=\"wp-block-list\" id=\"block-c4977231-2774-4c31-ab48-2191acadd009\"><li>If your Search bar doesn\u2019t work anymore\u2026 make sure you install the latest cumulative update<\/li><li>For the &#8220;Install DEDE&#8221; Step you need the Windows PowerShell (WinPE-DismCmdlets) Optional Components in your WinPE Image<\/li><li>Built-in Apps will change the language after the Windows Store updates your apps. Be patient or start an update scan from the store. Still have no solution for that.<\/li><li>If your Search bar is still in English&#8230; make sure you don&#8217;t use the SkipeOOBE feature in your unattended xml.<\/li><\/ul>\n\n\n\n<p>Aron<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last year&nbsp;I&nbsp;wrote a Blog Post about Language Experience Packs (LXP\u2019s) within a 1909 OSD Task Sequence.&nbsp;&nbsp; But I think no one of us still want to deploy this \u201cold\u201d OS and is looking forward to Windows 10 20H2.&nbsp;Fortunately,&nbsp;my&nbsp;colleague&nbsp;Markus just texted me last week with some optimization&nbsp;for the implementation of LXP\u2019s. I really liked it so here it is. Package:&nbsp; You [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":133,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[25],"tags":[28,27,26,33,30,32],"class_list":["post-128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mecm","tag-lxp","tag-mecm","tag-sccm","tag-tasksequence","tag-ts","tag-windows10"],"uagb_featured_image_src":{"full":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1.png",908,590,false],"thumbnail":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-150x150.png",150,150,true],"medium":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-300x195.png",300,195,true],"medium_large":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-768x499.png",640,416,true],"large":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1.png",640,416,false],"elegant_blocks_team_1":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-500x500.png",500,500,true],"elegant_blocks_blog_1":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-693x462.png",693,462,true],"elegant_blocks_slider_1":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1.png",908,590,false],"1536x1536":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1.png",908,590,false],"2048x2048":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1.png",908,590,false],"bizberg_medium":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-300x300.png",300,300,true],"bizberg_gallery":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-500x400.png",500,400,true],"bizberg_blog_list":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-368x240.png",368,240,true],"bizberg_detail_image":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-825x400.png",825,400,true],"bizberg_detail_image_no_sidebar":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-908x400.png",908,400,true],"bizberg_portfolio_homepage":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-600x400.png",600,400,true],"bizberg_blog_list_no_sidebar_1":["https:\/\/m365-blog.de\/wp-content\/uploads\/2021\/01\/image-1-220x190.png",220,190,true]},"uagb_author_info":{"display_name":"m365admin","author_link":"https:\/\/m365-blog.de\/?author=1"},"uagb_comment_info":2180,"uagb_excerpt":"Last year&nbsp;I&nbsp;wrote a Blog Post about Language Experience Packs (LXP\u2019s) within a 1909 OSD Task Sequence.&nbsp;&nbsp; But I think no one of us still want to deploy this \u201cold\u201d OS and is looking forward to Windows 10 20H2.&nbsp;Fortunately,&nbsp;my&nbsp;colleague&nbsp;Markus just texted me last week with some optimization&nbsp;for the implementation of LXP\u2019s. I really liked it so&hellip;","_links":{"self":[{"href":"https:\/\/m365-blog.de\/index.php?rest_route=\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/m365-blog.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/m365-blog.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/m365-blog.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/m365-blog.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=128"}],"version-history":[{"count":7,"href":"https:\/\/m365-blog.de\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":144,"href":"https:\/\/m365-blog.de\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions\/144"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/m365-blog.de\/index.php?rest_route=\/wp\/v2\/media\/133"}],"wp:attachment":[{"href":"https:\/\/m365-blog.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/m365-blog.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/m365-blog.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}