How to share a windows folder using PowerShell?

To share a windows folder using PowerShell, we can use the New-SmbShare command. This command is a part of the module SmbShare.

In this example, we have a folder called “DSC” and we want to share. The below command will simply share folder

New-SmbShare -Path E:\DSC\ -Name "Shared Folder"


Name          ScopeName Path Description
----          --------- ---- -----------
Shared Folder    *      E:\DSC

DSC folder will be shared with a “Shared Folder” name with everyone’s Read Permission by default because we haven’t specified the scope yet.

To assign the Full Access permission to the specific user, we can use the -FullAccess parameter followed by active directory username to provide the full access. For example,

New-SmbShare -Name "Shared Folder" -Path "E:\DSC\" -FullAccess "automationlab\delta","Automationlab\Beta"

Full access will be provided to Delta and Beta users of the domain AutomationLab.

Similarly, for only read-only permission we can use the -Readonly parameter.

For Change and Read permission use -ChangeAccess Parameter.

To provide multiple permissions,

New-SmbShare -Name "Shared Folder" -Path "E:\DSC\" -ChangeAccess "Automationlab\Beta" -FullAccess "AutomationLab\Delta"

The above example will provide Change Access to a Beta AD user and Full Access to a Delta AD user.

To create an encrypted shared folder, you can use -Encrypted parameter. For example,

New-SmbShare-Name"Shared Folder"-Path "E:\DSC\"-EncryptData $true