Modifier

Partager via


Set-SmbClientConfiguration

Sets the SMB client configuration.

Syntax

Set-SmbClientConfiguration
   [-AuditInsecureGuestLogon <Boolean>]
   [-AuditServerDoesNotSupportEncryption <Boolean>]
   [-AuditServerDoesNotSupportSigning <Boolean>]
   [-BlockNTLM <Boolean>]
   [-CompressibilitySamplingSize <UInt64>]
   [-CompressibleThreshold <UInt64>]
   [-ConnectionCountPerRssNetworkInterface <UInt32>]
   [-DirectoryCacheEntriesMax <UInt32>]
   [-DirectoryCacheEntrySizeMax <UInt32>]
   [-DirectoryCacheLifetime <UInt32>]
   [-DisableCompression <Boolean>]
   [-DormantFileLimit <UInt32>]
   [-EnableBandwidthThrottling <Boolean>]
   [-EnableByteRangeLockingOnReadOnlyFiles <Boolean>]
   [-EnableCompressibilitySampling <Boolean>]
   [-EnableInsecureGuestLogons <Boolean>]
   [-EnableLargeMtu <Boolean>]
   [-EnableLoadBalanceScaleOut <Boolean>]
   [-EnableMailslots <Boolean>]
   [-EnableMultiChannel <Boolean>]
   [-EnableSecuritySignature <Boolean>]
   [-EnableSMBQUIC <Boolean>]
   [-EncryptionCiphers <String>]
   [-ExtendedSessionTimeout <UInt32>]
   [-FileInfoCacheEntriesMax <UInt32>]
   [-FileInfoCacheLifetime <UInt32>]
   [-FileNotFoundCacheEntriesMax <UInt32>]
   [-FileNotFoundCacheLifetime <UInt32>]
   [-ForceSMBEncryptionOverQuic <Boolean>]
   [-InvalidAuthenticationCacheLifetime <UInt32>]
   [-KeepConn <UInt32>]
   [-MaxCmds <UInt32>]
   [-MaximumConnectionCountPerServer <UInt32>]
   [-OplocksDisabled <Boolean>]
   [-RequestCompression <Boolean>]
   [-RequireEncryption <Boolean>]
   [-RequireSecuritySignature <Boolean>]
   [-SessionTimeout <UInt32>]
   [-SkipCertificateCheck <Boolean>]
   [-Smb2DialectMax <Smb2DialectMax>]
   [-Smb2DialectMin <Smb2DialectMin>]
   [-UseOpportunisticLocking <Boolean>]
   [-WindowSizeThreshold <UInt32>]
   [-Force]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-SmbClientConfiguration cmdlet sets the Server Message Block (SMB) client configuration.

Note

The EnableSMBQUIC parameter is available starting with Windows 11 Insider Preview build 26090 and later.

Examples

Example 1: Set the SMB client configuration

Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface 8 -Confirm:$false

This command sets the SMB client configuration without user confirmation.

Example 2: Specify encryption ciphers

Set-SmbClientConfiguration -EncryptionCiphers "AES_128_GCM, AES_256_GCM" -Confirm:$false

This command specifies the encryption ciphers used by the SMB client, and the preferred order without user confirmation.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AuditInsecureGuestLogon

Specifies whether to audit insecure guest logon attempts. Audit events are written to the Windows event log.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AuditServerDoesNotSupportEncryption

Specifies whether to audit when a server doesn't support encryption. If this parameter is specified, events will be logged when a server doesn't support encryption.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AuditServerDoesNotSupportSigning

Specifies whether to audit when a server doesn't support message signing. If this parameter is specified, events will be logged when a server doesn't support message signing.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BlockNTLM

Specifies whether to block NT LAN Manager (NTLM) authentication. If this parameter is set to $true, NTLM authentication will be blocked forcing the connection to use another negotiated authentication method, such as Kerberos. If set to $false (default), NTLM authentication will be allowed.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompressibilitySamplingSize

Specifies the size in bytes to sample in a file to look for compressible data. Although the parameter type is UInt64, the sampling size can be specified up to a maximum of 9,007,199,254,740,992 (9 PiB).

Type:UInt64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompressibleThreshold

Specifies the threshold in bytes in which to attempt to find compressible data. Although the parameter type is UInt64, the threshold can be specified up to a maximum of 9,007,199,254,740,992 (9 PiB).

Type:UInt64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionCountPerRssNetworkInterface

Specifies the SMB connection count per each RSS network interface.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DirectoryCacheEntriesMax

Specifies the maximum cache entries that can be in the directory cache.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DirectoryCacheEntrySizeMax

Specifies the maximum size of directory cache entry.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DirectoryCacheLifetime

Specifies the directory cache lifetime.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableCompression

Specifies that the SMB client ignores all requests for compression from applications or SMB servers.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DormantFileLimit

Specifies the dormant file limit.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableBandwidthThrottling

Indicates that bandwidth throttling is enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableByteRangeLockingOnReadOnlyFiles

Indicates that byte range locking on read-only files is enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableCompressibilitySampling

Controls the sampling behavior. SMB by default always attempts to compress the entire file when a client or server requests it. With EnableCompressibilitySampling set to $true, SMB uses the compression sampling algorithm where it attempts to compress the file based on the values configured in the CompressibiltySamplingSize and CompressibleThreshold parameters.

When you specify EnableCompressibilitySampling as $true and don't specify either the CompressibiltySamplingSize or CompressibleThreshold parameters, the algorithm attempts to compress the first 524,288,000 bytes (500 MiB) of a file during transfer. The algorithm tries to track that at least 104,857,600 bytes (100 MiB) compresses within that 500 MiB range. If fewer than 100 MiB was compressible, SMB compression stops trying to compress the rest of the file. If at least 100 MiB compressed, SMB compression attempts to compress the rest of the file.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableInsecureGuestLogons

Indicates whether SMB client will allow insecure guest logons to an SMB server.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableLargeMtu

Indicates that large MTU is enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableLoadBalanceScaleOut

Indicates whether load balance scale out is enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableMailslots

Specifies whether to enable mailslots. If this parameter is specified, mailslots will be enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableMultiChannel

Indicates that multi-channel is enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableSecuritySignature

Indicates that the security signature is enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableSMBQUIC

Specifies whether the SMB over QUIC client protocol is enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EncryptionCiphers

Specifies the encryption ciphers used by the SMB client and the preferred order.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExtendedSessionTimeout

Specifies the extended session time-out.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileInfoCacheEntriesMax

Specifies the maximum number entries that can be in the file information cache.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileInfoCacheLifetime

Specifies the file information cache lifetime.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileNotFoundCacheEntriesMax

Specifies the maximum number entries that can be in the file not found cache.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileNotFoundCacheLifetime

Specifies the file not found cache lifetime.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceSMBEncryptionOverQuic

Specifies that the SMB client uses SMB encryption inside of the SMB over QUIC TLS 1.3 encrypted tunnel even if the SMB server doesn't require it.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InvalidAuthenticationCacheLifetime

Specifies the length of time (in seconds) that an invalid authentication cache entry should be kept before being removed. An authentication cache is used to store information about successful authentication attempts, and this parameter allows you to control how long unsuccessful attempts should be remembered before being purged.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeepConn

Specifies the time, in seconds, before the SMB client session is automatically disconnected.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxCmds

Specifies the maximum number of concurrent outstanding network requests that the SMB client supports.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumConnectionCountPerServer

Specifies the maximum connection count per server.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OplocksDisabled

Indicates that opportunistic locks are disabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequestCompression

Indicates if an SMB client should always request compression even if the server or application didn't specify it.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequireEncryption

Specifies whether or not encryption should be required for all SMB traffic. When this parameter is set to $true, all SMB traffic must be encrypted, which is required by the server. If it is set to $false (the default), encryption is not required, but may still be negotiated if both the client and server support it.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequireSecuritySignature

Indicates that the security signature is required.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionTimeout

Specifies the session time-out.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipCertificateCheck

Specifies that the SMB client not trust the SMB over QUIC SMB server certificate issuer. Required when using a self-signed certificate.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Smb2DialectMax

This parameter specifies the maximum version of the SMB protocol to be used. Acceptable values are:

  • None - There is no maximum protocol version specified, the client can use any supported version.
  • SMB202 - SMB 2.0.2 is the maximum version accepted by the SMB client.
  • SMB210 - SMB 2.1.0 is the maximum version accepted by the SMB client.
  • SMB300 - SMB 3.0.0 is the maximum version accepted by the SMB client.
  • SMB302 - SMB 3.0.2 is the maximum version accepted by the SMB client.
  • SMB311 - SMB 3.1.1 is the maximum version accepted by the SMB client.
Type:Smb2DialectMax
Accepted values:None, SMB202, SMB210, SMB300, SMB302, SMB311
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Smb2DialectMin

This parameter specifies the minimum version of the SMB protocol to be used. Acceptable values are:

  • None - There is no minimum protocol version specified, the client can use any supported version.
  • SMB202 - SMB 2.0.2 is the minimum version accepted by the SMB client.
  • SMB210 - SMB 2.1.0 is the minimum version accepted by the SMB client.
  • SMB300 - SMB 3.0.0 is the minimum version accepted by the SMB client.
  • SMB302 - SMB 3.0.2 is the minimum version accepted by the SMB client.
  • SMB311 - SMB 3.1.1 is the minimum version accepted by the SMB client.
Type:Smb2DialectMin
Accepted values:None, SMB202, SMB210, SMB300, SMB302, SMB311
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseOpportunisticLocking

Indicates that opportunistic locks are used.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet isn't run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WindowSizeThreshold

Specifies the window size threshold.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

Outputs

Object