Freigeben über


Connect-AzureAD

Stellt eine Verbindung mit einem authentifizierten Konto her, um Active Directory-Cmdlet-Anforderungen zu verwenden.

Syntax

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

Beschreibung

Das Cmdlet Connect-AzureAD stellt eine Verbindung mit einem authentifizierten Konto her, das für Azure Active Directory-Cmdlet-Anforderungen verwendet werden soll.

Sie können dieses authentifizierte Konto nur mit Azure Active Directory-Cmdlets verwenden.

Beispiele

Beispiel 1: Verbinden einer PowerShell-Sitzung mit einem Mandanten

PS C:\> Connect-AzureAD -Confirm

Dieser Befehl verbindet die aktuelle PowerShell-Sitzung mit einem Azure Active Directory-Mandanten. Der Befehl fordert Sie zur Eingabe eines Benutzernamens und kennworts für den Mandanten auf, mit dem Sie eine Verbindung herstellen möchten. Der Confirm-Parameter fordert Sie zur Bestätigung auf.

Wenn die mehrstufige Authentifizierung für Ihre Anmeldeinformationen aktiviert ist, müssen Sie sich mit der interaktiven Option anmelden oder die Dienstprinzipalauthentifizierung verwenden.

Beispiel 2: Verbinden einer Sitzung mithilfe einer Variablen

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

Der erste Befehl ruft die Benutzeranmeldeinformationen ab und speichert sie dann in der variablen $Credential.

Der zweite Befehl verbindet die aktuelle PowerShell-Sitzung mithilfe der Anmeldeinformationen in $Credential.

Dieses Konto authentifiziert sich bei Azure Active Directory mithilfe von Anmeldeinformationen der Organisations-ID. Sie können keine mehrstufige Authentifizierung oder Microsoft-Kontoanmeldeinformationen verwenden, um Azure Active Directory-Cmdlets mit diesem Konto auszuführen.

Beispiel 3: Verbinden einer Sitzung als Dienstprinzipal

# 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

Mit diesem Befehl wird der Benutzer bei Azure Active Directory als Dienstprinzipal authentifiziert.

Parameter

-AadAccessToken

Gibt ein Azure Active Directory Graph-Zugriffstoken an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AccountId

Gibt die ID eines Kontos an. Sie müssen den UPN des Benutzers angeben, wenn Sie sich mit einem Benutzerzugriffstoken authentifizieren.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ApplicationId

Gibt die Anwendungs-ID des Dienstprinzipals an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AzureEnvironmentName

Gibt den Namen der Azure-Umgebung an. Zulässige Werte für diesen Parameter:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment
  • AzureGermanyCloud

Der Standardwert ist AzureCloud.

Typ:EnvironmentName
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CertificateThumbprint

Gibt den Zertifikatfingerabdruck eines X.509-Zertifikats für einen digitalen öffentlichen Schlüssel eines Benutzerkontos an, das über die Berechtigung zum Ausführen dieser Aktion verfügt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Credential

Gibt ein PSCredential-Objekt an. Um weitere Informationen zum PSCredential-Objekt zu erhalten, geben Sie Get-Help Get-Credential ein.

Das PSCredential-Objekt stellt die Benutzer-ID und das Kennwort für Anmeldeinformationen der Organisations-ID bereit.

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InformationAction

Gibt an, wie dieses Cmdlet auf ein Informationsereignis reagiert. Zulässige Werte für diesen Parameter:

  • Weiter
  • Ignorieren
  • Diagnosetool
  • SilentlyContinue
  • Beenden
  • Angehalten
Typ:ActionPreference
Aliase:infa
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InformationVariable

Gibt eine Variable an, in der eine Informationsereignismeldung gespeichert werden soll.

Typ:String
Aliase:iv
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-LogFilePath

Der Pfad, in den die Protokolldatei für diese PowerShell-Sitzung geschrieben wird. Geben Sie hier einen Wert an, wenn Sie vom Standardmäßigspeicherort der PowerShell-Protokolldatei abweichen müssen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-LogLevel

Gibt die Protokollebene an. Die zulässigen Werte für diesen Parameter sind:

  • Info
  • Fehler
  • Warnung
  • Keine

Der Standardwert ist Info.

Typ:LogLevel
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MsAccessToken

Gibt ein Microsoft Graph-Zugriffstoken an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TenantId

Gibt die ID eines Mandanten an.

Wenn Sie diesen Parameter nicht angeben, wird das Konto beim Basismandanten authentifiziert.

Sie müssen den TenantId-Parameter angeben, um sich als Dienstprinzipal oder bei Verwendung eines Microsoft-Kontos zu authentifizieren.

Typ:String
Aliase:Domain, TenantDomain
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False