COMMAND EVERYTHING.
Modifies the properties of the SMB share.
Microsoft SmbShare reference: Modifies the properties of the SMB share. The syntax and selected example below are adapted from the pinned Windows Server 2025 reference. Module availability, target configuration and delegated permissions determine whether it can run in your environment. Documentation and parameter text: Microsoft, CC BY 4.0; formatting adapted by Cmdlet World. No execution testing is claimed.
Use an account with the target resource permissions documented for Set-SmbShare. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Windows / SmbShare · Windows Server 2025 documentation; feature/module prerequisites apply
-AsJob- Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
-CATimeout- Specifies the continuous availability time-out of the SMB share.
-CachingMode- Specifies the caching mode of the offline files for the SMB share. There are five caching modes: - BranchCache - Enables BranchCache and manual caching of documents on the shared folder. - Documents - Automatically stores documents offline. - Manual - Allows users to identify the documents and programs that they want to store offline. - Programs - Automatically stores documents and programs offline. - None - Prevents users from storing documents and programs offline.
-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.
-CompressData- Indicates that the shares being enumerated should request compression from clients.
-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.
-Confirm- Prompts you for confirmation before running the cmdlet.
-ContinuouslyAvailable- Indicates whether the share is continuously available.
-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.
-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.
-EncryptData- Indicates whether the SMB share is encrypted.
-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.
-Force- Forces the command to run without asking for user confirmation.
-InputObject (required)- Specifies the input object that's used in a pipeline command.
-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.
-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.
-Name (required)- Specifies the name of one or more SMB shares.
-PassThru- Returns an object representing the item with which you're working. By default, this cmdlet doesn't generate any output.
-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.
-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.
-ScopeName- Specifies the scope name of the SMB share. For use with Windows Server failover cluster file server resources.
-SecurityDescriptor- Specifies the security descriptor for the SMB share in string format.
-SmbInstance- Specifies the input to this cmdlet. You can use this parameter, or you can pipe the input to this cmdlet.
-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.
-WhatIf- Shows what would happen if the cmdlet runs. The cmdlet isn't run.
Windows with the SmbShare module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
This cmdlet changes system state. Review every target and parameter in the official reference, test outside production, and prepare an appropriate backup or rollback. Do not execute the example automatically.