< Back
New-SmbShare
Post
NAME New-SmbShare
SYNOPSIS
Creates an SMB share.
SYNTAX
New-SmbShare [-Name] <String> [-Path] <String> [[-ScopeName] <String>] [-CachingMode {None | Manual | Documents | Programs | BranchCache | Unknown}]
[-CATimeout <UInt32>] [-ChangeAccess <String[]>] [-CimSession <CimSession[]>] [-ConcurrentUserLimit <UInt32>] [-ContinuouslyAvailable <Boolean>]
[-Description <String>] [-EncryptData <Boolean>] [-FolderEnumerationMode {AccessBased | Unrestricted}] [-FullAccess <String[]>] [-NoAccess <String[]>]
[-ReadAccess <String[]>] [-SecurityDescriptor <System.String>] [-Temporary] [-ThrottleLimit <Int32>] [-Confirm] [-WhatIf] [<CommonParameters>]
DESCRIPTION
The New-SmbShare cmdlet exposes a file system folder to remote clients as a Server Message Block (SMB) share.
To delete a share that was created by this cmdlet, use the Remove-SmbShare cmdlet.
PARAMETERS
-CachingMode [<CachingMode>]
Specifies the caching mode of the offline files for the SMB share. There are five caching modes:
-- None. Prevents users from storing documents and programs offline.
-- Manual. Allows users to identify the documents and programs they want to store offline.
-- Programs. Automatically stores documents and programs offline.
-- Documents. Automatically stores documents offline.
-- BranchCache. Enables BranchCache and manual caching of documents on the shared folder.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-CATimeout [<UInt32>]
Specifies the continuous availability time-out for the share.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ChangeAccess [<String[]>]
Specifies which users are granted modify permission to access the share. Multiple users can be specified by using a comma-separated list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-CimSession [<CimSession[]>]
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or
Get-CimSession cmdlet. The default is the current session on the local computer.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ConcurrentUserLimit [<UInt32>]
Specifies the maximum number of concurrently connected users that the new SMB share may accommodate. If this parameter is set to zero (0), then the
number of users is unlimited. The default value is zero (0).
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ContinuouslyAvailable [<Boolean>]
Indicates that the share is continuously available.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Description [<String>]
Specifies an optional description of the SMB share. A description of the share is displayed by running the Get-SmbShare cmdlet. The description may
not contain more than 256 characters. The default value no description, or an empty description.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-EncryptData [<Boolean>]
Indicates that the share is encrypted.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-FolderEnumerationMode [<FolderEnumerationMode>]
Specifies which files and folders in the SMB share are visible to users. The acceptable values for this parameter are:
-- AccessBased. SMB does not the display the files and folders for a share to a user unless that user has rights to access the files and folders. By
default, access-based enumeration is disabled for new SMB shares.
-- Unrestricted. SMB displays files and folders to a user even when the user does not have permission to access the items.
The default value is Unrestricted.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-FullAccess [<String[]>]
Specifies which accounts are granted full permission to access the share. Use a comma-separated list to specify multiple accounts. An account may
not be specified more than once in the FullAccess, ChangeAccess, or ReadAccess parameter lists, but may be specified once in the FullAccess,
ChangeAccess, or ReadAccess parameter list and once in the NoAccess parameter list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Name <String>
Specifies a name for the SMB share. The name may be composed of any valid file name characters, but must be less than 80 characters long. The names
pipe and mailslot are reserved for use by the computer.
Required? true
Position? 2
Default value none
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? false
-NoAccess [<String[]>]
Specifies which accounts are denied access to the SMB share. Multiple accounts can be specified by supplying a comma-separated list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Path <String>
Specifies the path of the location of the folder to share. The path must be fully qualified. Relative paths or paths that contain wildcard
characters are not permitted.
Required? true
Position? 3
Default value none
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? false
-ReadAccess [<String[]>]
Specifies which users are granted read permission to access the share. Multiple users can be specified by supplying a comma-separated list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ScopeName [<String>]
Specifies the scope name of the share.
Required? false
Position? 4
Default value none
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? false
-SecurityDescriptor [<System.String>]
Specifies the security descriptor for the SMB share in string format.
Required? false
Position? named
Default value none
Accept pipeline input? true(ByPropertyName)
Accept wildcard characters? false
-Temporary [<SwitchParameter>]
Specifies the lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer. By default, new SMB shares
are persistent, and non-temporary.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ThrottleLimit [<Int32>]
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is
entered, then Windows PowerShell???? calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the
computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Confirm [<SwitchParameter>]
Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.
Required? false
Position? named
Default value false
Accept pipeline input? false
Accept wildcard characters? false
-WhatIf [<SwitchParameter>]
Shows what would happen if the cmdlet runs. The cmdlet is not run.Shows what would happen if the cmdlet runs. The cmdlet is not run.
Required? false
Position? named
Default value false
Accept pipeline input? false
Accept wildcard characters? false
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).
INPUTS
None
OUTPUTS
Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/SMB/MSFT_SmbShare
The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The
path after the pound sign (#) provides the namespace and class name for the underlying WMI object.
This cmdlet returns a MSFT_SmbShare object that represents the SMB share.
Example 1: Create an SMB share
PS C:\\>New-SmbShare -Name "VMSFiles" -Path "C:\\ClusterStorage\\Volume1\\VMFiles" -FullAccess "Contoso\\Administrator", "Contoso\\Contoso-HV1$"
Name ScopeName Path Description
---- --------- ---- -----------
VMSFiles Contoso-SO C:\\ClusterStorage\\Volume1\\...
This command creates an SMB share.
Example 2: Create an encrypted SMB share
PS C:\\>New-SmbShare -Name "Data" -Path "J:\\Data" -EncryptData $True
Name ScopeName Path Description
---- --------- ---- -----------
Data Contoso-FS J:\\Data
This command creates an encrypted SMB share.
RELATED LINKS
Get-SmbShare
Remove-SmbShare
Set-SmbShare
SYNOPSIS
Creates an SMB share.
SYNTAX
New-SmbShare [-Name] <String> [-Path] <String> [[-ScopeName] <String>] [-CachingMode {None | Manual | Documents | Programs | BranchCache | Unknown}]
[-CATimeout <UInt32>] [-ChangeAccess <String[]>] [-CimSession <CimSession[]>] [-ConcurrentUserLimit <UInt32>] [-ContinuouslyAvailable <Boolean>]
[-Description <String>] [-EncryptData <Boolean>] [-FolderEnumerationMode {AccessBased | Unrestricted}] [-FullAccess <String[]>] [-NoAccess <String[]>]
[-ReadAccess <String[]>] [-SecurityDescriptor <System.String>] [-Temporary] [-ThrottleLimit <Int32>] [-Confirm] [-WhatIf] [<CommonParameters>]
DESCRIPTION
The New-SmbShare cmdlet exposes a file system folder to remote clients as a Server Message Block (SMB) share.
To delete a share that was created by this cmdlet, use the Remove-SmbShare cmdlet.
PARAMETERS
-CachingMode [<CachingMode>]
Specifies the caching mode of the offline files for the SMB share. There are five caching modes:
-- None. Prevents users from storing documents and programs offline.
-- Manual. Allows users to identify the documents and programs they want to store offline.
-- Programs. Automatically stores documents and programs offline.
-- Documents. Automatically stores documents offline.
-- BranchCache. Enables BranchCache and manual caching of documents on the shared folder.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-CATimeout [<UInt32>]
Specifies the continuous availability time-out for the share.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ChangeAccess [<String[]>]
Specifies which users are granted modify permission to access the share. Multiple users can be specified by using a comma-separated list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-CimSession [<CimSession[]>]
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or
Get-CimSession cmdlet. The default is the current session on the local computer.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ConcurrentUserLimit [<UInt32>]
Specifies the maximum number of concurrently connected users that the new SMB share may accommodate. If this parameter is set to zero (0), then the
number of users is unlimited. The default value is zero (0).
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ContinuouslyAvailable [<Boolean>]
Indicates that the share is continuously available.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Description [<String>]
Specifies an optional description of the SMB share. A description of the share is displayed by running the Get-SmbShare cmdlet. The description may
not contain more than 256 characters. The default value no description, or an empty description.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-EncryptData [<Boolean>]
Indicates that the share is encrypted.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-FolderEnumerationMode [<FolderEnumerationMode>]
Specifies which files and folders in the SMB share are visible to users. The acceptable values for this parameter are:
-- AccessBased. SMB does not the display the files and folders for a share to a user unless that user has rights to access the files and folders. By
default, access-based enumeration is disabled for new SMB shares.
-- Unrestricted. SMB displays files and folders to a user even when the user does not have permission to access the items.
The default value is Unrestricted.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-FullAccess [<String[]>]
Specifies which accounts are granted full permission to access the share. Use a comma-separated list to specify multiple accounts. An account may
not be specified more than once in the FullAccess, ChangeAccess, or ReadAccess parameter lists, but may be specified once in the FullAccess,
ChangeAccess, or ReadAccess parameter list and once in the NoAccess parameter list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Name <String>
Specifies a name for the SMB share. The name may be composed of any valid file name characters, but must be less than 80 characters long. The names
pipe and mailslot are reserved for use by the computer.
Required? true
Position? 2
Default value none
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? false
-NoAccess [<String[]>]
Specifies which accounts are denied access to the SMB share. Multiple accounts can be specified by supplying a comma-separated list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Path <String>
Specifies the path of the location of the folder to share. The path must be fully qualified. Relative paths or paths that contain wildcard
characters are not permitted.
Required? true
Position? 3
Default value none
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? false
-ReadAccess [<String[]>]
Specifies which users are granted read permission to access the share. Multiple users can be specified by supplying a comma-separated list.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ScopeName [<String>]
Specifies the scope name of the share.
Required? false
Position? 4
Default value none
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? false
-SecurityDescriptor [<System.String>]
Specifies the security descriptor for the SMB share in string format.
Required? false
Position? named
Default value none
Accept pipeline input? true(ByPropertyName)
Accept wildcard characters? false
-Temporary [<SwitchParameter>]
Specifies the lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer. By default, new SMB shares
are persistent, and non-temporary.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-ThrottleLimit [<Int32>]
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is
entered, then Windows PowerShell???? calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the
computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.
Required? false
Position? named
Default value none
Accept pipeline input? false
Accept wildcard characters? false
-Confirm [<SwitchParameter>]
Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.
Required? false
Position? named
Default value false
Accept pipeline input? false
Accept wildcard characters? false
-WhatIf [<SwitchParameter>]
Shows what would happen if the cmdlet runs. The cmdlet is not run.Shows what would happen if the cmdlet runs. The cmdlet is not run.
Required? false
Position? named
Default value false
Accept pipeline input? false
Accept wildcard characters? false
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).
INPUTS
None
OUTPUTS
Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/SMB/MSFT_SmbShare
The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The
path after the pound sign (#) provides the namespace and class name for the underlying WMI object.
This cmdlet returns a MSFT_SmbShare object that represents the SMB share.
Example 1: Create an SMB share
PS C:\\>New-SmbShare -Name "VMSFiles" -Path "C:\\ClusterStorage\\Volume1\\VMFiles" -FullAccess "Contoso\\Administrator", "Contoso\\Contoso-HV1$"
Name ScopeName Path Description
---- --------- ---- -----------
VMSFiles Contoso-SO C:\\ClusterStorage\\Volume1\\...
This command creates an SMB share.
Example 2: Create an encrypted SMB share
PS C:\\>New-SmbShare -Name "Data" -Path "J:\\Data" -EncryptData $True
Name ScopeName Path Description
---- --------- ---- -----------
Data Contoso-FS J:\\Data
This command creates an encrypted SMB share.
RELATED LINKS
Get-SmbShare
Remove-SmbShare
Set-SmbShare