Connect-AzureAD

Si connette con un account autenticato per usare le richieste di cmdlet di Active Directory.

Sintassi

Connect-AzureAD
       [-AzureEnvironmentName <EnvironmentName>]
       [-TenantId <String>]
       [-Credential <PSCredential>]
       [-AccountId <String>]
       [-LogLevel <LogLevel>]
       [-LogFilePath <String>]
       [-InformationAction <ActionPreference>]
       [-InformationVariable <String>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzureAD
       [-AzureEnvironmentName <EnvironmentName>]
       -TenantId <String>
       -CertificateThumbprint <String>
       -ApplicationId <String>
       [-LogLevel <LogLevel>]
       [-LogFilePath <String>]
       [-InformationAction <ActionPreference>]
       [-InformationVariable <String>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzureAD
       [-AzureEnvironmentName <EnvironmentName>]
       [-TenantId <String>]
       -AadAccessToken <String>
       [-MsAccessToken <String>]
       -AccountId <String>
       [-LogLevel <LogLevel>]
       [-LogFilePath <String>]
       [-InformationAction <ActionPreference>]
       [-InformationVariable <String>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Descrizione

Il cmdlet Connect-AzureAD connette un account autenticato da usare per le richieste di cmdlet di Azure Active Directory.

È possibile usare questo account autenticato solo con i cmdlet di Azure Active Directory.

Esempio

Esempio 1: Connettere una sessione di PowerShell a un tenant

PS C:\> Connect-AzureAD -Confirm

Questo comando connette la sessione corrente di PowerShell a un tenant di Azure Active Directory. Il comando richiede un nome utente e una password per il tenant a cui ci si vuole connettere. Il parametro Confirm richiede la conferma.

Se l'autenticazione a più fattori è abilitata per le credenziali, è necessario accedere usando l'opzione interattiva o usare l'autenticazione dell'entità servizio.

Esempio 2: Connettere una sessione usando una variabile

PS C:\> $Credential = Get-Credential
PS C:\> Connect-AzureAD -Credential $Credential

Il primo comando ottiene le credenziali utente e quindi le archivia nella variabile $Credential.

Il secondo comando connette la sessione di PowerShell corrente usando le credenziali in $Credential.

Questo account esegue l'autenticazione con Azure Active Directory usando le credenziali dell'ID organizzazione. Non è possibile usare l'autenticazione a più fattori o le credenziali dell'account Microsoft per eseguire i cmdlet di Azure Active Directory con questo account.

Esempio 3: Connettere una sessione come entità servizio

# Login to Azure AD PowerShell With Admin Account
Connect-AzureAD 

# Create the self signed cert
$currentDate = Get-Date
$endDate = $currentDate.AddYears(1)
$notAfter = $endDate.AddYears(1)
$pwd = "<password>"
$thumb = (New-SelfSignedCertificate -CertStoreLocation cert:\localmachine\my -DnsName com.foo.bar -KeyExportPolicy Exportable -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -NotAfter $notAfter).Thumbprint
$pwd = ConvertTo-SecureString -String $pwd -Force -AsPlainText
Export-PfxCertificate -cert "cert:\localmachine\my\$thumb" -FilePath c:\temp\examplecert.pfx -Password $pwd

# Load the certificate
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate("C:\temp\examplecert.pfx", $pwd)
$keyValue = [System.Convert]::ToBase64String($cert.GetRawCertData())


# Create the Azure Active Directory Application
$application = New-AzureADApplication -DisplayName "test123" -IdentifierUris "https://test123"
New-AzureADApplicationKeyCredential -ObjectId $application.ObjectId -CustomKeyIdentifier "Test123" -StartDate $currentDate -EndDate $endDate -Type AsymmetricX509Cert -Usage Verify -Value $keyValue

# Create the Service Principal and connect it to the Application
$sp=New-AzureADServicePrincipal -AppId $application.AppId

# Give the Service Principal Reader access to the current tenant (Get-AzureADDirectoryRole)
Add-AzureADDirectoryRoleMember -ObjectId 5997d714-c3b5-4d5b-9973-ec2f38fd49d5 -RefObjectId $sp.ObjectId

# Get Tenant Detail
$tenant=Get-AzureADTenantDetail
# Now you can login to Azure PowerShell with your Service Principal and Certificate
Connect-AzureAD -TenantId $tenant.ObjectId -ApplicationId  $sp.AppId -CertificateThumbprint $thumb

Questo comando autentica l'utente in Azure Active Directory come entità servizio.

Parametri

-AadAccessToken

Specifica un token di accesso di Azure Active Directory Graph.

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

-AccountId

Specifica l'ID di un account. È necessario specificare l'UPN dell'utente durante l'autenticazione con un token di accesso utente.

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

-ApplicationId

Specifica l'ID applicazione dell'entità servizio.

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

-AzureEnvironmentName

Specifica il nome dell'ambiente di Azure. I valori validi per questo parametro sono:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment
  • AzureGermanyCloud

Il valore predefinito è AzureCloud.

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

-CertificateThumbprint

Specifica l'identificazione personale del certificato di un certificato X.509 con chiave pubblica digitale di un account utente autorizzato a eseguire questa azione.

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

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

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

-Credential

Specifica un oggetto PSCredential. Per altre informazioni sull'oggetto PSCredential, digitare Get-Help Get-Credential.

L'oggetto PSCredential fornisce l'ID utente e la password per le credenziali dell'ID organizzazione.

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

-InformationAction

Specifica la modalità di risposta di questo cmdlet a un evento informativo. I valori validi per questo parametro sono:

  • Continua
  • Ignora
  • Verifica
  • SilentlyContinue
  • Arresto
  • Sospendi
Type:ActionPreference
Aliases:infa
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InformationVariable

Specifica una variabile in cui archiviare un messaggio di evento informativo.

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

-LogFilePath

Percorso in cui viene scritto il file di log per questa sessione di PowerShell. Specificare un valore qui se è necessario deviare dal percorso predefinito del file di log di PowerShell.

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

-LogLevel

Specifica il livello di log. I valori accdeptable per questo parametro sono:

  • Info
  • Errore
  • Avviso
  • Nessuno

Il valore predefinito è Info.

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

-MsAccessToken

Specifica un token di accesso di Microsoft Graph.

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

-TenantId

Specifica l'ID di un tenant.

Se non si specifica questo parametro, l'account viene autenticato con il tenant home.

È necessario specificare il parametro TenantId per l'autenticazione come entità servizio o quando si usa l'account Microsoft.

Type:String
Aliases:Domain, TenantDomain
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

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