Add-SqlLogin

Crea un oggetto Login in un'istanza di SQL Server.

Sintassi

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

Descrizione

Il cmdlet Add-SqlLogin crea un oggetto Login in un'istanza di SQL Server.

Esempio

Esempio 1: Creare 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

Questo comando crea un oggetto Login denominato 'MyLogin' del tipo SqlLogin. Il comando specifica il database predefinito come 'OtherDatabase' nell'istanza del server denominata 'MyServerInstance'. Questo comando richiede una password per l'account di accesso.

Esempio 2: Creare un tipo di chiave asimmetrica

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

Questo comando crea un oggetto Login denominato MyLogin del tipo AsymmetricKey. Specifica una chiave asimmetrica denominata MyKey. Esegue anche il mapping delle credenziali denominate MyCredential al nuovo oggetto Login. Il comando opera nell'istanza del server denominata MyServerInstance.

Parametri

-AccessToken

Token di accesso usato per eseguire l'autenticazione per SQL Server, come alternativa all'autenticazione utente/password o a Windows.

Questa operazione può essere usata, ad esempio, per connettersi a SQL Azure DB e SQL Azure Managed Instance usando un Service Principal oggetto o .Managed Identity

Il parametro da usare può essere una stringa che rappresenta il token o un PSAccessToken oggetto restituito eseguendo Get-AzAccessToken -ResourceUrl https://database.windows.net.

Questo parametro è nuovo nella versione 22 del modulo.

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

-AsymmetricKey

Specificare il nome della chiave asimmetrica per l'oggetto Login. Se il parametro LoginType ha il valore AsymmetricKey, specificare una chiave asimmetrica.

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

-Certificate

Specificare il nome del certificato per l'oggetto Login. Se LoginType ha il valore Certificato, specificare un certificato.

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

-ConnectionTimeout

Specifica il numero di secondi per attendere una connessione server prima di un errore di timeout. Il valore di timeout deve essere un numero intero compreso tra 0 e 65534. Se si specifica 0, non si verifica alcun timeout dei tentativi di connessione.

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

-Credential

Specifica un oggetto PSCredential per la connessione a SQL Server. Per ottenere un oggetto credenziale, usare il cmdlet Get-Credential. Per altre informazioni, digitare Get-Help Get-Credential.

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

-CredentialName

Specificare il nome della credenziale per l'oggetto Login.

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

-DefaultDatabase

Specificare il database predefinito per l'oggetto Login. Il valore predefinito è master.

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

-Enable

Indica che l'oggetto Login è abilitato. Per impostazione predefinita, gli oggetti Login sono disabilitati.

Gli oggetti di tipo WindowsGroup sono sempre abilitati. Questo parametro non influisce su di essi.

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

-Encrypt

Tipo di crittografia da usare durante la connessione a SQL Server.

Questo valore esegue il Encrypt mapping alla proprietà SqlConnectionEncryptOption nell'oggetto SqlConnection del driver Microsoft.Data.SqlClient.

Nella versione 22 del modulo il valore predefinito è Optional (per la compatibilità con v21). Nella versione 23+ del modulo il valore predefinito sarà "Obbligatorio", che può creare una modifica di rilievo per gli script esistenti.

Questo parametro è nuovo nella versione 22 del modulo.

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

-EnforcePasswordExpiration

Indica che i criteri di scadenza della password vengono applicati per l'oggetto Login. Questo parametro si applica solo agli oggetti di tipo SqlLogin. Questo parametro implica il parametro EnforcePasswordPolicy. Non è necessario specificare entrambi.

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

-EnforcePasswordPolicy

Indica che i criteri password vengono applicati per l'oggetto Login. Questo parametro si applica solo agli oggetti di tipo SqlLogin.

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

-GrantConnectSql

Indica che l'oggetto Login non ha negato le autorizzazioni per connettersi al motore di database. Per impostazione predefinita, gli oggetti Login vengono negate le autorizzazioni per connettersi al motore di database.

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

-HostNameInCertificate

Nome host da usare per la convalida del certificato TLS/SSL di SQL Server. È necessario passare questo parametro se l'istanza di SQL Server è abilitata per Force Encryption e si vuole connettersi a un'istanza usando nome host/nome breve. Se questo parametro viene omesso, è necessario passare il nome di dominio completo (FQDN) a -ServerInstance per connettersi a un'istanza di SQL Server abilitata per Force Encryption.

Questo parametro è nuovo nella versione 22 del modulo.

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

-InputObject

Specifica un oggetto SMO (Management Objects) SQL Server il SQL Server in cui viene eseguito questo cmdlet.

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

-LoginName

Specifica un nome per l'oggetto Login. La distinzione tra maiuscole e minuscole è uguale a quella dell'istanza di SQL Server.

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

-LoginPSCredential

Specifica un oggetto PSCredential che consente all'oggetto Login di specificare il nome e la password senza una richiesta.

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

-LoginType

Specifica il tipo dell'oggetto Login come valore Microsoft.SqlServer.Management.Smo.LoginType. I valori validi per questo parametro sono:

  • AsymmetricKey
  • Certificato
  • SqlLogin
  • WindowsGroup
  • WindowsUser

Al momento, il cmdlet non supporta ExternalUser o 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 che l'utente deve modificare la password all'account di accesso successivo. Questo parametro si applica solo agli oggetti di tipo SqlLogin. Questo parametro implica il parametro EnforcePasswordExpiration. Non è necessario specificare entrambi.

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

-Path

Specifica il percorso del SQL Server in cui questo cmdlet esegue l'operazione. Il valore predefinito è la directory di lavoro corrente.

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

-Script

Indica che questo cmdlet restituisce uno script Transact-SQL che esegue l'attività eseguita da questo cmdlet.

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

-ServerInstance

Specifica il nome di un'istanza di SQL Server. Per l'istanza predefinita, specificare il nome del computer. Per le istanze denominate, usare il formato ComputerName\InstanceName.

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

-TrustServerCertificate

Indica se il canale verrà crittografato durante il bypass della catena di certificati per convalidare l'attendibilità.

Nella versione 22 del modulo il valore predefinito è $true (per la compatibilità con v21). Nella versione 23+ del modulo il valore predefinito sarà "$false", che può creare una modifica di rilievo per gli script esistenti.

Questo parametro è nuovo nella versione 22 del modulo.

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

Input

Microsoft.SqlServer.Management.Smo.Server

System.String[]

Output

System.Object