The Set-SmbShare cmdlet modifies the properties of the Server Message Block (SMB) share.
Examples
Example 1: Modify properties of an SMB share
Set-SmbShare -Name "VMFiles" -EncryptData $True
Confirm
Are you sure you want to perform this action?
Performing operation 'Modify' on Target 'Contoso-SO,VMFiles'.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
This command modifies the properties of an SMB share.
Example 2: Modify properties of an SMB share without confirmation
Specifies the continuous availability time-out of the SMB share.
Parameter properties
Type:
UInt32
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-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.
Parameter properties
Type:
CimSession[]
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
Session
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-CompressData
Indicates that the shares being enumerated should request compression from clients.
Parameter properties
Type:
Boolean
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-ConcurrentUserLimit
Specifies the maximum number of concurrently connected users that the SMB share may accommodate. If
this parameter is set to zero (0), then the number of users is unlimited. By default, new SMB
shares have no limit on the number of concurrent connections.
Parameter properties
Type:
UInt32
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-Confirm
Prompts you for confirmation before running the cmdlet.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
cf
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-ContinuouslyAvailable
Indicates whether the share is continuously available.
Parameter properties
Type:
Boolean
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-Description
Specifies an optional description of the SMB share. A description of the share can be displayed by
running the Get-SmbShare cmdlet. Specify an empty string to clear the current description. The
description may not contain more than 256 characters.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-DirectoryHandleLeasing
When directory handle leasing is set to $true, the SMB client can cache directory handles and
reuse them for future requests. This can improve performance and reduce network traffic.
When directory handle leasing is set to $false, the SMB client must request a new directory
handle for each request. This can increase network traffic and reduce performance.
Parameter properties
Type:
Boolean
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-EncryptData
Indicates whether the SMB share is encrypted.
Parameter properties
Type:
Boolean
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-FolderEnumerationMode
Specifies which files and folders in the new SMB share will be visible to the users. The acceptable
values for this parameter are:
AccessBased: SMB doesn't 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 doesn't have
permission to access those items.
The default value is Unrestricted.
Parameter properties
Type:
FolderEnumerationMode
Default value:
None
Accepted values:
AccessBased, Unrestricted
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-Force
Forces the command to run without asking for user confirmation.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-InputObject
Specifies the input object that's used in a pipeline command.
Parameter properties
Type:
CimInstance[]
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
InputObject
Position:
Named
Mandatory:
True
Value from pipeline:
True
Value from pipeline by property name:
False
Value from remaining arguments:
False
-IsolatedTransport
Specifies whether to use an isolated transport for the SMB share. An isolated transport provides
additional security by encrypting and signing SMB traffic. The default value is False.
Parameter properties
Type:
Boolean
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-LeasingMode
Specifies SMB leasing and oplock behaviors for application compatibility. The acceptable values for
this parameter are:
Full: Use default lease and oplock behaviors from SMB3.
Shared: Grant read-caching lease but not write or handle-caching.
None: No oplocks or leases, behave like SMB1 (not recommended).
Important
We don't recommend disabling oplocks, but may be required in some scenarios.
For more information, see SMB1 Product Clearinghouse.
Parameter properties
Type:
LeasingMode
Default value:
None
Accepted values:
Full, Shared, None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Name
Specifies the name of one or more SMB shares.
Parameter properties
Type:
String[]
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
Query
Position:
1
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-PassThru
Returns an object representing the item with which you're working. By default, this cmdlet doesn't
generate any output.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-QoSFlowScope
Specifies the Quality of Service (QoS) flow scope for the SMB share. The QoS flow scope determines
how QoS policies are applied to SMB traffic. The accepted values are:
File: Applies the QoS policy to file operations, each file handle is considered a flows.
Share: Applies the QoS policy to SMB share connections, each connection is considered a flow.
User: Applies the QoS policy to each user connection, each user connection is considered a flow.
Session: Applies the QoS policy to each SMB session, each session connection is considered a flow.
The default value is None.
Parameter properties
Type:
QoSFlowScope
Default value:
None
Accepted values:
File, Share, User, Session
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-QoSPolicyId
Specifies the QoS policy ID for the SMB share. The QoS policy ID is used to apply QoS policies to
SMB traffic. The default value is None.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-ScopeName
Specifies the scope name of the SMB share. For use with Windows Server failover cluster file server
resources.
Parameter properties
Type:
String[]
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
Query
Position:
2
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-SecurityDescriptor
Specifies the security descriptor for the SMB share in string format.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-SmbInstance
Specifies the input to this cmdlet. You can use this parameter, or you can pipe the input to this
cmdlet.
Parameter properties
Type:
SmbInstance
Default value:
None
Accepted values:
Default, CSV, SBL, SR
Supports wildcards:
False
DontShow:
False
Parameter sets
Query
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-ThrottleLimit
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.
Parameter properties
Type:
Int32
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet isn't run.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
wi
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.