Add-SqlLogin

Crea un objeto Login en una instancia de 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

El cmdlet Add-SqlLogin crea un objeto Login en una instancia de SQL Server.

Ejemplos

Ejemplo 1: Creación de un 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

Este comando crea un objeto Login denominado "MyLogin" del tipo SqlLogin. El comando especifica su base de datos predeterminada como "OtherDatabase" en la instancia del servidor denominada "MyServerInstance". Este comando le pide una contraseña para el inicio de sesión.

Ejemplo 2: Creación de un tipo de clave asimé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

Este comando crea un objeto Login denominado MyLogin del tipo AsymmetricKey. Especifica una clave asimétrica denominada MyKey. También asigna la credencial denominada MyCredential al nuevo objeto Login. El comando funciona en la instancia del servidor denominada MyServerInstance.

Parámetros

-AccessToken

Token de acceso que se usa para autenticarse en SQL Server, como alternativa a la autenticación de usuario o contraseña de Windows.

Esto se puede usar, por ejemplo, para conectarse a SQL Azure DB y SQL Azure Managed Instance usar o Service Principal .Managed Identity

El parámetro que se va a usar puede ser una cadena que representa el token o un PSAccessToken objeto tal como se devuelve mediante la ejecución Get-AzAccessToken -ResourceUrl https://database.windows.netde .

Este parámetro es nuevo en la versión 22 del módulo.

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

-AsymmetricKey

Especifique el nombre de la clave asimétrica para el objeto Login. Si el parámetro LoginType tiene el valor AsymmetricKey, especifique una clave asimétrica.

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

-Certificate

Especifique el nombre del certificado para el objeto Login. Si LoginType tiene el valor Certificate, especifique un certificado.

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

-ConnectionTimeout

Especifica el número de segundos que se esperarán a una conexión de servidor antes de que se agote el tiempo de espera. El valor del tiempo de espera debe ser un entero comprendido entre 0 y 65534. Si se especifica 0, los intentos de conexión no tienen tiempo de espera.

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

-Credential

Especifica un objeto PSCredential para la conexión a SQL Server. Para obtener un objeto de credencial, use el cmdlet Get-Credential. Para obtener más información, escriba Get-Help Get-Credential.

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

-CredentialName

Especifique el nombre de la credencial para el objeto Login.

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

-DefaultDatabase

Especifique la base de datos predeterminada para el objeto Login. El valor predeterminado es master.

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

-Enable

Indica que el objeto Login está habilitado. De forma predeterminada, los objetos Login están deshabilitados.

Los objetos de tipo WindowsGroup siempre están habilitados. Este parámetro no los afecta.

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

-Encrypt

Tipo de cifrado que se va a usar al conectarse a SQL Server.

Este valor se asigna a la Encrypt propiedad SqlConnectionEncryptOption del objeto SqlConnection del controlador Microsoft.Data.SqlClient.

En la versión 22 del módulo, el valor predeterminado es Optional (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "Obligatorio", lo que puede crear un cambio importante para los scripts existentes.

Este parámetro es nuevo en la versión 22 del 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 la directiva de expiración de contraseñas se aplica para el objeto Login. Este parámetro solo aplica objetos de tipo SqlLogin. Este parámetro implica el parámetro EnforcePasswordPolicy. No es necesario especificar ambos.

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

-EnforcePasswordPolicy

Indica que la directiva de contraseñas se aplica para el objeto Login. Este parámetro solo aplica objetos de tipo SqlLogin.

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

-GrantConnectSql

Indica que el objeto Login no tiene permisos denegados para conectarse al motor de base de datos. De forma predeterminada, se deniegan los permisos de inicio de sesión para conectarse al motor de base de datos.

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

-HostNameInCertificate

Nombre de host que se va a usar al validar el certificado TLS/SSL de SQL Server. Debe pasar este parámetro si la instancia de SQL Server está habilitada para Forzar cifrado y desea conectarse a una instancia mediante el nombre de host o el nombre corto. Si se omite este parámetro, es necesario pasar el nombre de dominio completo (FQDN) a -ServerInstance para conectarse a una instancia de SQL Server habilitada para forzar el cifrado.

Este parámetro es nuevo en la versión 22 del módulo.

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

-InputObject

Especifica un objeto SQL Server Management Objects (SMO) el SQL Server en el que opera este cmdlet.

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

-LoginName

Especifica un nombre para el objeto Login. La distinción entre mayúsculas y minúsculas es la misma que la de la instancia de SQL Server.

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

-LoginPSCredential

Especifica un objeto PSCredential que permite al objeto Login proporcionar el nombre y la contraseña sin un símbolo del sistema.

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

-LoginType

Especifica el tipo del objeto Login como un valor Microsoft.SqlServer.Management.Smo.LoginType. Los valores permitidos para este parámetro son los siguientes:

  • AsymmetricKey
  • Certificado
  • SqlLogin
  • WindowsGroup
  • WindowsUser

En este momento, el cmdlet no admite ExternalUser ni 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 el usuario debe cambiar la contraseña en el siguiente inicio de sesión. Este parámetro solo aplica objetos de tipo SqlLogin. Este parámetro implica el parámetro EnforcePasswordExpiration. No es necesario especificar ambos.

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

-Path

Especifica la ruta de acceso de la SQL Server en la que este cmdlet ejecuta la operación. El valor predeterminado es el directorio de trabajo actual.

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

-Script

Indica que este cmdlet devuelve un script de Transact-SQL que realiza la tarea que realiza este cmdlet.

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

-ServerInstance

Especifica el nombre de una instancia de SQL Server. Para la instancia predeterminada, especifique el nombre del equipo. Para las instancias con nombre, use el formato NombreDeEquipo\NombreDeInstancia.

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

-TrustServerCertificate

Indica si el canal se cifrará al pasar la cadena de certificados para validar la confianza.

En la versión 22 del módulo, el valor predeterminado es $true (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "$false", que puede crear un cambio importante para los scripts existentes.

Este parámetro es nuevo en la versión 22 del 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[]

Salidas

System.Object