Enable SMB1 Sharing Protocol in Windows 10

Windows 10 Network Drive Icon

In this article, we will see how to enable the SMB1 file sharing protocol. In modern Windows 10 versions, it is disabled for security reasons. However, if you have computers in your network that run pre-Windows Vista systems or Android or Linux apps that only work with SMB v1, you need to enable it to network with these devices.

The Server Message Block (SMB) Protocol is the network file sharing protocol of Microsoft Windows. The set of message packets defining a particular version of the protocol is called a dialect. The Common Internet File System (CIFS) is a dialect of SMB. Both SMB and CIFS are also available on VMS. It is worth mentioning that both SMB and CIFS are also available on other operating systems like Linux and Android via alternate implementations from third parties. For reference, see the following MSDN article.

Microsoft's implementation of the SMB protocol comes with the following additions:

The SMBv1 protocol is outdated and insecure. It was the only choice till Windows XP. It was superseded by SMB2 and later versions which offer superior performance and better security. SMB v1 is not recommended for use any more by Microsoft. Starting in Windows Vista, Microsoft implemented a new version of SMB, known as SMB2. However, older Windows versions and many apps running on Android and Linux do not support recent versions of SMB, making it impossible to network Windows PC with such devices if only SMB v2/v3 are enabled.

SMB1 is disabled by default starting in Windows 10 version 1709 "Fall Creators Update". So, if you have to enable SMB1, here is how it can be done. Before proceeding, ensure that your user account has administrative privileges. Now, follow the instructions below.

To enable SMB1 in Windows 10, do the following.

  1. Press the Win + R keys to open Run and type optionalfeatures.exe into the Run box.
  2. Find SMB 1.0/CIFS File Sharing Support in the list and check the box next to it.
  3. Alternatively, you can expand it and enable only client or server, depending on what you want.
  4. Click on the "Restart button" if prompted.

After that, you will get SMB1 working in Windows 10.

Disabling the options mentioned above will remove SMB1 support from the OS.

Alternatively, you can enable or disable SMB1 using PowerShell.

Enable or disable the SMB1 protocol in Windows 10 using PowerShell

  1. Open PowerShell as Administrator.Tip: You can add "Open PowerShell As Administrator" context menu.
  2. Type or copy-paste the following command:
    Get-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"

    It will show if you have the SMB1 protocol enabled or not.

  3. To enable the feature, run the command
    Enable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol" -All
  4. To disable the feature, run the following command:
    Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
  5. Confirm the operation and you are done.

That's it.

Support us

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!

Author: Sergey Tkachenko

Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.

12 thoughts on “Enable SMB1 Sharing Protocol in Windows 10”

  1. I’ve found it a huge time save to just pin the win 7 style control panel to the start menu.

    Just search for cpl, right click control panel, and pin to start.

  2. Note that the SMB v1 protocol is not working properly with the 1803 release of Windows 10 with the June 2018 KB4284835 cumulative update installed.

    Listed known issue:
    “Some users running Windows 10 version 1803 may receive an error “An invalid argument was supplied” when accessing files or running programs from a shared folder using the SMBv1 protocol.”

    Workaround is to enable SMBv2 or SMBv3 on both the SMB server and the SMB client as noted in Microsoft support KB article 2696547.

  3. Sergey thanks for the valuable overview of SMB I have NEVER been able to get my windows XP laptops to connect to share with my Windows 7 ultimate machine, but even so I appreciate your actual understanding of how that works. I am a tech guy and write some code myself but primarily TCP/IP suite of protocoals ..so never needed to know. My goal was to get an old version of Quick Books to operate in multi user mode (across computers) using Win7 was server/client and XP machinies as just client. While I STILL couldn’t get that to work, you taught me about SMB1. That secret allowed me to get the old QB working on a windows 10 machine as a client to my win7. So thank you so much. There are many, many, people with blogs about getting xp to use win 7 shares ..but most of them are pure baloney. Thank you for teaching me.

    1. hi Dan Land
      i’d like to learn how you managed to get quickbooks to work n multi user mode across win versions please?
      thanks
      aly

  4. My optional features box is empty, and when I use the Powershell option, I get the following error:

    PS C:\WINDOWS\system32> Enable-WindowsOptionalFeature -Online -FeatureName “SMB1Protocol” -All
    Enable-WindowsOptionalFeature : The specified package is not valid Windows package.
    At line:1 char:1
    + Enable-WindowsOptionalFeature -Online -FeatureName “SMB1Protocol” -Al …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-WindowsOptionalFeature], COMException
    + FullyQualifiedErrorId : Microsoft.Dism.Commands.EnableWindowsOptionalFeatureCommand

    Any advice?

  5. JUST FYI, running the powershell command to enable SMB will throw the computer into a reboot IMMEDIATELY without warning. Got my ass burned, thanks winaero

  6. I have a script on GitHub that toggles SMBv1 Client.

    https://github.com/QuiGonJames/powershell-samples/tree/master/smbv1-toggle

Leave a Reply

Your email address will not be published.

Exit mobile version
Using Telegram? Subscribe to the blog channel!
Hello. Add your message here.