Edit

Share via


Set-SmbServerCertificateMapping

Modifies a certificate association with the SMB server for SMB over QUIC.

Syntax

Query

Set-SmbServerCertificateMapping
    [-Name] <String[]>
    [-Flags <Flags>]
    [-Thumbprint <String>]
    [-StoreName <String>]
    [-RequireClientAuthentication <Boolean>]
    [-SkipClientCertificateAccessCheck <Boolean>]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InputObject

Set-SmbServerCertificateMapping
    -InputObject <CimInstance[]>
    [-Flags <Flags>]
    [-Thumbprint <String>]
    [-StoreName <String>]
    [-RequireClientAuthentication <Boolean>]
    [-SkipClientCertificateAccessCheck <Boolean>]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

The Set-SmbServerCertificateMapping cmdlet modifies a certificate's association to the SMB server for SMB over QUIC. For more information, see SMB over QUIC.

Note

  • If the RequireClientAuthentication parameter is set to $true and SkipClientCertificateAccessCheck is set to $false, the server will perform both client certificate validation and access control checks.

  • If the RequireClientAuthentication parameter is set to $true and SkipClientCertificateAccessCheck is also set to $true, the server will perform client certificate validation but no access control checks.

Examples

Example 1: Enable Named Pipes for the SMB over QUIC endpoint

This command enables Named Pipes for the SMB over QUIC endpoint, overriding the default behavior where Named Pipes are disabled for increased security.

$params = @{
    Name = "2022-ae-02.corp.contoso.com"
    Thumbprint = "88032B3551FAF7DE26EFFFF814AA086E3DBD2A4F"
    StoreName = "My"
    Flags = "AllowNamedPipe"
}
Set-SmbServerCertificateMapping @params

Parameters

-AsJob

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

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

-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

-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

-Flags

Specifies if Named Pipes are enabled for SMB over QUIC. The acceptable values for this parameter are:

  • None: Remove all flags.
  • AllowNamedPipe: Enable use of named pipes in SMB over QUIC connections for this mapping (off by default, overrides the value of RestrictNamedPipeAccessOverQuic).
  • DefaultCert: Not used.

Parameter properties

Type:Flags
Default value:None
Accepted values:None, AllowNamedPipe, DefaultCert
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

-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

-Name

Specifies a fully-qualified DNS name or NetBIOS name that must match the certificate's subject name or an entry in the certificate's subject alternative names.

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

-RequireClientAuthentication

Specifies whether client authentication is required for connections to the server. When this parameter is set to $true, clients must present a valid certificate to connect to the server. When it is set to $false, clients can connect without presenting a certificate.

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:False
Value from remaining arguments:False

-SkipClientCertificateAccessCheck

Specifies whether the server should skip the check for client certificate access when a client connects. This parameter only applies when the server certificate mapping RequireClientAuthentication value is $true. When this parameter is set to $true, the server will not perform the access control checks based on the client certificates. This can be useful in scenarios where the server is acting as a gateway or proxy and client certificate validation is sufficient.

However, it can also increase the risk of security breaches. When this parameter is set to $false, the server will perform the access control checks based on the client certificates in addition to the client certificate validation before allowing the client to connect.

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:False
Value from remaining arguments:False

-StoreName

Specifies the path to the certificate store for the certificate. The recommended value is "My" for the local machine personal store.

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

-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

-Thumbprint

Specifies the thumbprint value of the certificate.

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

-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.

Inputs

String

CimInstance

Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbServerCertificateMapping.Flags

String

Outputs

CimInstance

CimInstance