Add-SqlLogin

Cria um objeto Login em uma instância do SQL Server.

Syntax

Add-SqlLogin
   [-LoginName <String>]
   -LoginType <LoginType>
   [-DefaultDatabase <String>]
   [-EnforcePasswordPolicy]
   [-EnforcePasswordExpiration]
   [-MustChangePasswordAtNextLogin]
   [-Certificate <String>]
   [-AsymmetricKey <String>]
   [-CredentialName <String>]
   [-LoginPSCredential <PSCredential>]
   [-Enable]
   [-GrantConnectSql]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [<CommonParameters>]
Add-SqlLogin
   [-LoginName <String>]
   -LoginType <LoginType>
   [-DefaultDatabase <String>]
   [-EnforcePasswordPolicy]
   [-EnforcePasswordExpiration]
   [-MustChangePasswordAtNextLogin]
   [-Certificate <String>]
   [-AsymmetricKey <String>]
   [-CredentialName <String>]
   [-LoginPSCredential <PSCredential>]
   [-Enable]
   [-GrantConnectSql]
   [[-InputObject] <Server>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [<CommonParameters>]
Add-SqlLogin
   [-LoginName <String>]
   -LoginType <LoginType>
   [-DefaultDatabase <String>]
   [-EnforcePasswordPolicy]
   [-EnforcePasswordExpiration]
   [-MustChangePasswordAtNextLogin]
   [-Certificate <String>]
   [-AsymmetricKey <String>]
   [-CredentialName <String>]
   [-LoginPSCredential <PSCredential>]
   [-Enable]
   [-GrantConnectSql]
   [[-ServerInstance] <String[]>]
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [<CommonParameters>]

Description

O cmdlet Add-SqlLogin cria um objeto Login em uma instância do SQL Server.

Exemplos

Exemplo 1: criar um tipo SqlLogin

PS C:\> Add-SqlLogin -ServerInstance "MyServerInstance" -LoginName "MyLogin" -LoginType "SqlLogin" -DefaultDatabase "OtherDatabase"

Name                                          Login Type    Created
----                                          ----------    -------
MyLogin                                       SqlLogin      8/11/2016 3:19 PM

Esse comando cria um objeto Login chamado 'MyLogin' do tipo SqlLogin. O comando especifica seu banco de dados padrão como 'OtherDatabase' na instância de servidor chamada 'MyServerInstance'. Esse comando solicita uma senha para o Logon.

Exemplo 2: Criar um tipo de chave assimétrica

PS C:\> Add-SqlLogin -ServerInstance "MyServerInstance" -LoginName "MyLogin" -LoginType "AsymmetricKey" -AsymmetricKey "MyKey" -CredentialName "MyCredential"

Name                                          Login Type    Created
----                                          ----------    -------
MyLogin                                       AsymmetricKey 8/11/2016 4:08 PM

Esse comando cria um objeto Login chamado MyLogin do tipo AsymmetricKey. Ele especifica uma chave assimétrica chamada MyKey. Além disso, ele mapeia a credencial chamada MyCredential para o novo objeto Login. O comando opera na instância de servidor chamada MyServerInstance.

Parâmetros

-AccessToken

O token de acesso usado para autenticar em SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.

Isso pode ser usado, por exemplo, para se conectar e SQL Azure DBSQL Azure Managed Instance usar um Service Principal ou um Managed Identity.

O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um PSAccessToken objeto conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.

Esse parâmetro é novo na v22 do módulo.

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

-AsymmetricKey

Especifique o nome da chave assimétrica para o objeto Login. Se o parâmetro LoginType tiver o valor AsymmetricKey, especifique uma chave assimétrica.

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

-Certificate

Especifique o nome do certificado para o objeto Login. Se LoginType tiver o valor Certificado, especifique um certificado.

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

-ConnectionTimeout

Especifica o número de segundos a aguardar uma conexão de servidor antes de uma falha de tempo limite. O valor do tempo limite deve ser um inteiro entre 0 e 65534. Se 0 for especificado, as tentativas de conexão não atingirão o tempo limite.

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

-Credential

Especifica um objeto PSCredential para a conexão com SQL Server. Para obter um objeto de credencial, use o cmdlet Get-Credential. Para obter mais informações, digite Get-Help Get-Credential.

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

-CredentialName

Especifique o nome da credencial para o objeto Login.

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

-DefaultDatabase

Especifique o banco de dados padrão para o objeto Login. O valor padrão é master.

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

-Enable

Indica que o objeto Login está habilitado. Por padrão, os objetos Login estão desabilitados.

Os objetos de tipo WindowsGroup estão sempre habilitados. Esse parâmetro não os afeta.

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

-Encrypt

O tipo de criptografia a ser usado ao se conectar a SQL Server.

Esse valor é mapeado para a Encrypt propriedade SqlConnectionEncryptOption no objeto SqlConnection do driver Microsoft.Data.SqlClient.

Na v22 do módulo, o padrão é Optional (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnforcePasswordExpiration

Indica que a política de expiração de senha é imposta para o objeto Login. Esse parâmetro aplica apenas objetos do tipo SqlLogin. Esse parâmetro implica o parâmetro EnforcePasswordPolicy. Você não precisa especificar ambos.

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

-EnforcePasswordPolicy

Indica que a política de senha é imposta para o objeto Login. Esse parâmetro aplica apenas objetos do tipo SqlLogin.

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

-GrantConnectSql

Indica que o objeto Login não tem permissões negadas para se conectar ao mecanismo de banco de dados. Por padrão, os objetos Login têm permissões negadas para se conectar ao mecanismo de banco de dados.

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

-HostNameInCertificate

O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se a instância de SQL Server estiver habilitada para Forçar Criptografia e quiser se conectar a uma instância usando nome do host/nome curto. Se esse parâmetro for omitido, será necessário passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance para se conectar a uma instância de SQL Server habilitada para Forçar Criptografia.

Esse parâmetro é novo na v22 do módulo.

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

-InputObject

Especifica um objeto SMO (SQL Server Management Objects) no SQL Server no qual esse cmdlet opera.

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

-LoginName

Especifica um nome para o objeto Login. A diferenciação de maiúsculas e minúsculas é a mesma da instância do SQL Server.

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

-LoginPSCredential

Especifica um objeto PSCredential que permite que o objeto Login forneça o nome e a senha sem um prompt.

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

-LoginType

Especifica o tipo do objeto Login como um valor Microsoft.SqlServer.Management.Smo.LoginType. Os valores aceitáveis para esse parâmetro são:

  • AsymmetricKey
  • Certificado
  • SqlLogin
  • WindowsGroup
  • WindowsUser

No momento, o cmdlet não dá suporte a ExternalUser ou ExternalGroup.

Type:LoginType
Accepted values:WindowsUser, WindowsGroup, SqlLogin, Certificate, AsymmetricKey, ExternalUser, ExternalGroup
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-MustChangePasswordAtNextLogin

Indica que o usuário deve alterar a senha no próximo logon. Esse parâmetro aplica apenas objetos do tipo SqlLogin. Esse parâmetro implica o parâmetro EnforcePasswordExpiration. Você não precisa especificar ambos.

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

-Path

Especifica o caminho do SQL Server no qual esse cmdlet executa a operação. O valor padrão é o diretório de trabalho atual.

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

-Script

Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa que este cmdlet executa.

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

-ServerInstance

Especifica o nome de uma instância do SQL Server. Para a instância padrão, especifique o nome do computador. Para instâncias nomeadas, use o formato ComputerName\InstanceName.

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

-TrustServerCertificate

Indica se o canal será criptografado ao ignorar a movimentação da cadeia de certificados para validar a confiança.

Na v22 do módulo, o padrão é $true (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será "$false", o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

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

Entradas

Microsoft.SqlServer.Management.Smo.Server

System.String[]

Saídas

System.Object