New-SmbClientCertificateMapping

Creates a new client certificate mapping for the Server Message Block (SMB) protocol.

Syntax

New-SmbClientCertificateMapping
   [-Namespace] <String>
   [-Thumbprint <String>]
   [-StoreName <String>]
   [-IssuerName <String>]
   [-Subject <String>]
   [-DisplayName <String>]
   [-Type <Type>]
   [-Flags <Flags>]
   [-Force]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-SmbClientCertificateMapping cmdlet creates a new client certificate mapping for the SMB protocol. These mappings are used to authenticate clients that connect to SMB servers using certificates. You can use this cmdlet to create a new mapping between a client certificate and an SMB client name.

Examples

Example 1: Create a new certificate mapping for an SMB client

$params = @{
    Thumbprint = "a1b2c3d4e5f6g7h8"
    StoreName = "My"
    IssuerName = "CN=MyCertificateAuthority"
    Subject = "CN=MyClientCertificate"
    DisplayName = "MyClientCertificateMapping"
}
New-SmbClientCertificateMapping @params

This creates a new certificate mapping for an SMB client where a specific thumbprint, store name, issuer name, subject, and display name are specified for the certificate mapping.

For example, if you have an SMB client named MySMBClient that needs to connect to a server using a specific certificate, you could use this cmdlet to create a certificate mapping that associates the client with the certificate.

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

-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

-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

-DisplayName

Specifies the friendly name of the certificate.

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

-Flags

Specifies if NamedPipes 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 value of the RestrictNamedPipeAccessOverQuic parameter)
  • DefaultCert: Not used
Type:Flags[]
Accepted values:None, AllowNamedPipe, DefaultCert
Position:Named
Default value:None
Required:False
Accept pipeline input:True
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

-IssuerName

Filters the certificate mappings based on the issuer name of the certificate.

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

-Namespace

Specifies the namespace of the QUIC server. For example, server1.contoso.com. By default, the cmdlet searches in the root\cimv2\Security\MicrosoftTlsCertificateMappingProvider namespace.

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

-StoreName

Specifies the path to the certificate store for the certificate.

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

-Subject

Specifies the subject name of the certificate.

Type:String[]
Position:2
Default value:None
Required:False
Accept pipeline input:True
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

-Thumbprint

Specifies the thumbprint value of the certificate.

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

-Type

Specifies the type of certificate mapping. The acceptable value for this parameter is:

QUIC: Certificate mapping is for SMB over QUIC.

Type:Type[]
Accepted values:QUIC
Position:Named
Default value:None
Required:False
Accept pipeline input:True
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

Inputs

String

Outputs

CimInstance