How to make Features on Demand and language packs available when you’re using WSUS/SCCM

As of Windows 10 version 1709, you cannot use Windows Server Update Services (WSUS) to host Features on Demand (FOD) and language packs for Windows 10 clients locally. Instead, you can enforce a Group Policy setting that tells the clients to pull them directly from Windows Update. You can also host FOD and language packs on a network share, but starting with Windows 10 version 1809, FOD and language packs can only be installed from Windows Update.

For Windows domain environments running WSUS or SCCM, change the Specify settings for optional component installation and component repair policy to enable downloading FOD and language packs from Windows Update. This setting is located in Computer Configuration\Policies\Administrative Templates\System in the Group Policy Editor.

Changing this policy does not affect how other updates are distributed. They continue to come from WSUS or SCCM as you have scheduled them.

Learn about other client management options, including using Group Policy and administrative templates, in Manage clients in Windows 10.

Information reference from

Convert install.esd to install.wim

I haven’t put up new post for quite some time, this is definitely worth keeping it.

Recently I started to look at creating a system image for Winodws 10, it will be used for the desktop/laptop deployment.  It is not funny that you have to do so much to get it to work when you don’t have SCCM in your environment.

One thing that was blocking my way, there is no more install.wim for creating the package, the latest build of Windows 10 download only comes with install.esd under the source directory.  Although you can ask Uncle Google, and there will be many software options to convert, extract, decrypt…etc many many terms, but I don’t like any of them as I don’t feel comfortable downloading a script or software that wasn’t verified, you just don’t know what it’s embedded.

I am luckily enough to find these information from a Technet article.

  1. you need to copy the install.esd file onto a local storage location.
  2. run cmd in elevated mode.
  3. execute this command – dism /Get-WimInfo /WimFile:install.esd (this should pointing to the physical path)
  4. note down the Index number for the operating system you would like to deploy
  5. then execute this command – dism /export-image /SourceImageFile:install.esd /SourceIndex:1 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity
  6. if it ran ok, you will get install.wim extract in the same folder.  now you can use this to work with MDT.

Have fun!

Set Office365 user passwords to never expire

This is generally not recommended as it is a good idea to change your important password every so often, it will make hacker job more difficult.  However in some cases, it might be help.

Anyway, this post is referring back to a Microsoft article, so if you need more details information, use this link here Office Online


Set a password to never expire

The Use Windows PowerShell cmdlets to manage your Windows Azure AD tenant topic tells you how to install Windows Powershell and gives you more information about Windows Powershell and cmdlets.

  1. Connect to Windows PowerShell by using your company admin credentials. Run the following cmdlet:


  1. Do one of the following:
    • To set the password of one user to never expire, run the following cmdlet by using the UPN or the user ID of the user:

      Set-MsolUser -UserPrincipalName <user ID> -PasswordNeverExpires $true

    • To set the passwords to never expire for all the users in an organization, run the following cmdlet:

      Get-MSOLUser | Set-MsolUser -PasswordNeverExpires $true

Check out Set a user’s password expiration policy to set user passwords to expire after a specified amount of time.

Find out whether a password is set to never expire

  1. Connect to Windows PowerShell by using your company admin credentials. Run the following cmdlet:


  1. Do one of the following:
    • To see whether a single user’s password is set to never expire, run the following cmdlet by using the user principal name (UPN) (for example, or the user ID of the user you want to check:

      Get-MSOLUser -UserPrincipalName <user ID> | Select PasswordNeverExpires

    • To see the “Password never expires” setting for all users, run the following cmdlet:

      Get-MSOLUser | Select UserPrincipalName, PasswordNeverExpires

Activate VL key on evaluation edition (MS Server 2012 Standard)

I made a big mistake for using evaluation server software in production, I’m thinking that I can apply the proper license in a later stage, but I am absolutely wrong!!

Luckily I found an article from Technet that can upgrade an evaluation license to a full retail license, I tried this with my VL key and thank god it worked!!!!!!!!!

Here’s the link:

below is the key command.

From an elevated command prompt, determine the current edition name with the command DISM /online /Get-CurrentEdition. Make note of the edition ID, an abbreviated form of the edition name. Then run DISM /online /Set-Edition:<edition ID> /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula, providing the edition ID and a retail product key. The server will restart twice.

Excel not accumulating time field correct

When you need to add up hours in excel, you will find that it ignores the hours greater 24:00, one reason I found because of the “Time” format.  To workaround this, I found two ways of doing it.

1. If you change the “Total” cell format to “custom” with [h]:mm

2. If you change the “Total” cell format to “number”, and then multiply the total by 24

This is usually helpful when you need to do timesheet at work, especially the accountant usually deal with the labour hourly rate.

Slow opening office files

If you are like me, every day still have to deal with office 2003 or 2007, then you will surely come across this.  Some time the user complaints that it takes long time to open up a file, however it opens up perfectly fine with the guy sitting next to him… not happy user.

Give this a try if you care, this work for me.  The Microsoft article here

In summary, the office file validation is taking a long time to wait for validating the file, sometime it will even fail or time out.  If you are confident that the files they used are always from valid source, then just apply this registry hack to disable the validation.  Once disabled, the problematic files will open up fine.

keep the user happy.


Problem deploying software installation from Active Directory

I’m trying deploy Teamviewer client installation from Active Directory Group Policy, out of 120 computers only about 50 of them received from the new group policy.  After many researches, here’re the few things I found that would stop the software from installing.  (Hint: Always use GPMC.MSC or RSOP.MSC to review the result).

1.  firewall

2. slow link detection and network wait

3. disable Media Sensing feature in registry

Event ID 2017, Source SRV


After several days of backing up clients to a windows 7 machine acting as a BDR, the clients are no longer able to connect. Rebooting the BDR resolves the issue for a few days.

Looking in the System Event viewer the following entry will be shown.

Error 2017

“The server was unable to allocate from the system nonpaged pool because the server has reached the configured limit for nonpaged pool allocations.”


Windows 7 is not designed to handle the large traffic generated by backing up multiple clients.


The following registry keys can be adjusted to help windows 7 manage the high traffic.

Set the following registry key to ‘1? (default value is 0 – zero):

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache

Set the following registry entry to ‘3’ (default value is 1):


A restart is required after making the changes.

Windows 7 should not be used as a backup destination.  Windows 7 is a workstation OS and not intended by Microsoft to be used as a file server.

Creating System Image in Windows 8

Remember how you can create a system image in Windows 7, so it can be used to restore your entire system back to normal.  Since Windows 8 has moved things around, this tool is now kind of hidden from us.  Here’s the tip to find it.

Press “Windows+Q”, search for “system image,” no results come up. Search for “backup” and Windows 8 brings you to its new File History feature (which itself is pretty neat for saving copies of your files, “Previous Version” they use to call).

So where is the system image tool?  Search for “file recovery”, You will find the “Windows 7 File Recovery” link under Setting from the right side menu. It’s not a very intuitive name, because it sounds like you’d be recovering Windows 7 files, but that’s where the legacy backup tools are.

From there, you can set up a backup as you might have in Windows 7 and also find the “Create a system image” and “Create a system repair disc” options.

Choose “Create a system image” to clone your entire computer to another drive (or DVDs or a network location). Or, in the previous screen, choose to “Set up backup” and Windows will create both a system image and backup your data on a schedule. That’s the best of both worlds: you’ll have the option to recover individual files and folders (in case they’ve been accidentally deleted or overwritten) or restore the whole system (in case the whole thing crashes).