Tutorial: Erstellen von Dienstprinzipalen und Rollenzuweisungen mit PowerShellTutorial: Create service principals and role assignments by using PowerShell

Dienstprinzipale sind Identitäten, die Sie in Azure Active Directory erstellen können, um Rollen und Berechtigungen für einen bestimmten Zweck zuzuweisen.Service principals are identities that you can create in Azure Active Directory to assign roles and permissions for a specific purpose. In Windows Virtual Desktop können Sie einen Dienstprinzipal für folgende Zwecke erstellen:In Windows Virtual Desktop, you can create a service principal to:

  • Automatisieren von bestimmten Verwaltungsaufgaben für Windows Virtual Desktop.Automate specific Windows Virtual Desktop management tasks.
  • Verwenden als Anmeldeinformationen anstelle von MFA-Benutzern beim Ausführen einer Azure Resource Manager-Vorlage für Windows Virtual Desktop.Use as credentials in place of MFA-required users when running any Azure Resource Manager template for Windows Virtual Desktop.

In diesem Tutorial lernen Sie Folgendes:In this tutorial, learn how to:

  • Erstellen Sie einen Dienstprinzipal in Azure Active Directory.Create a service principal in Azure Active Directory.
  • Erstellen einer Rollenzuweisung in Windows Virtual Desktop.Create a role assignment in Windows Virtual Desktop.
  • Anmelden bei Windows Virtual Desktop mit dem Dienstprinzipal.Sign in to Windows Virtual Desktop by using the service principal.

VoraussetzungenPrerequisites

Bevor Sie Dienstprinzipale und Rollenzuweisungen erstellen können, müssen Sie drei Schritte ausführen:Before you can create service principals and role assignments, you need to do three things:

  1. Installieren Sie das Azure AD-Modul.Install the AzureAD module. Führen Sie zum Installieren des Moduls PowerShell als Administrator und dann den folgenden Befehl aus:To install the module, run PowerShell as an administrator and run the following cmdlet:

    Install-Module AzureAD
    
  2. Laden Sie das Windows Virtual Desktop-PowerShell-Modul herunter, und importieren Sie es.Download and import the Windows Virtual Desktop PowerShell module.

  3. Befolgen Sie alle Anweisungen in diesem Artikel in ein und derselben PowerShell-Sitzung.Follow all instructions in this article in the same PowerShell session. Der Prozess funktioniert möglicherweise nicht, wenn Sie Ihre PowerShell-Sitzung unterbrechen, indem Sie das Fenster schließen und es später erneut öffnen.The process might not work if you interrupt your PowerShell session by closing the window and reopening it later.

Erstellen eines Dienstprinzipals in Azure Active DirectoryCreate a service principal in Azure Active Directory

Nachdem Sie die Voraussetzungen in Ihrer PowerShell-Sitzung erfüllt haben, können Sie die folgenden PowerShell-Cmdlets ausführen, um in Azure einen mehrinstanzenfähigen Dienstprinzipal zu erstellen.After you’ve fulfilled the prerequisites in your PowerShell session, run the following PowerShell cmdlets to create a multitenant service principal in Azure.

Import-Module AzureAD
$aadContext = Connect-AzureAD
$svcPrincipal = New-AzureADApplication -AvailableToOtherTenants $true -DisplayName "Windows Virtual Desktop Svc Principal"
$svcPrincipalCreds = New-AzureADApplicationPasswordCredential -ObjectId $svcPrincipal.ObjectId

Anzeigen Ihrer Anmeldeinformationen in PowerShellView your credentials in PowerShell

Zeigen Sie vor der Erstellung der Rollenzuweisung für Ihren Dienstprinzipal Ihre Anmeldeinformationen an, und notieren Sie sie zur späteren Verwendung.Before you create the role assignment for your service principal, view your credentials and write them down for future reference. Das Kennwort ist besonders wichtig, da Sie es nicht mehr abrufen können, nachdem Sie diese PowerShell-Sitzung geschlossen haben.The password is especially important because you won’t be able to retrieve it after you close this PowerShell session.

Hier sind die drei Anmeldeinformationen, die Sie sich notieren sollten, und die Cmdlets angegeben, die Sie zum Abrufen ausführen müssen:Here are the three credentials you should write down and the cmdlets you need to run to get them:

  • Password (Kennwort):Password:

    $svcPrincipalCreds.Value
    
  • Mandanten-ID:Tenant ID:

    $aadContext.TenantId.Guid
    
  • Anwendungs-ID:Application ID:

    $svcPrincipal.AppId
    

Erstellen einer Rollenzuweisung in Windows Virtual Desktop (Vorschauversion)Create a role assignment in Windows Virtual Desktop Preview

Als Nächstes müssen Sie eine Rollenzuweisung erstellen, damit sich der Dienstprinzipal bei Windows Virtual Desktop anmelden kann.Next, you need to create a role assignment so the service principal can sign in to Windows Virtual Desktop. Achten Sie darauf, dass Sie sich mit einem Konto anmelden, das über Berechtigungen zum Erstellen von Rollenzuweisungen verfügt.Make sure to sign in with an account that has permissions to create role assignments.

Zunächst müssen Sie das Windows Virtual Desktop-PowerShell-Modul herunterladen und importieren, um es in Ihrer PowerShell-Sitzung verwenden zu können.First, download and import the Windows Virtual Desktop PowerShell module to use in your PowerShell session if you haven't already.

Führen Sie die folgenden PowerShell-Cmdlets aus, um eine Verbindung mit Windows Virtual Desktop herzustellen und Ihre Mandanten anzuzeigen:Run the following PowerShell cmdlets to connect to Windows Virtual Desktop and display your tenants.

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Get-RdsTenant

Wenn Sie den Mandantennamen für den Mandanten ermittelt haben, für den Sie eine Rollenzuweisung erstellen möchten, verwenden Sie diesen Namen im folgenden Cmdlet:When you find the tenant name for the tenant you want to create a role assignment for, use that name in the following cmdlet:

$myTenantName = "<Windows Virtual Desktop Tenant Name>"
New-RdsRoleAssignment -RoleDefinitionName "RDS Owner" -ApplicationId $svcPrincipal.AppId -TenantName $myTenantName

Anmelden mit dem DienstprinzipalSign in with the service principal

Nachdem Sie eine Rollenzuweisung für den Dienstprinzipal erstellt haben, müssen Sie sicherstellen, dass die Anmeldung an Windows Virtual Desktop mit dem Dienstprinzipal möglich ist, indem Sie das folgende Cmdlet ausführen:After you create a role assignment for the service principal, make sure the service principal can sign in to Windows Virtual Desktop by running the following cmdlet:

$creds = New-Object System.Management.Automation.PSCredential($svcPrincipal.AppId, (ConvertTo-SecureString $svcPrincipalCreds.Value -AsPlainText -Force))
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com" -Credential $creds -ServicePrincipal -AadTenantId $aadContext.TenantId.Guid

Vergewissern Sie sich nach dem Anmelden, dass alles funktioniert, indem Sie einige Windows Virtual Desktop-PowerShell-Cmdlets mit dem Dienstprinzipal testen.After you've signed in, make sure everything works by testing a few Windows Virtual Desktop PowerShell cmdlets with the service principal.

Nächste SchritteNext steps

Wenn Sie den Dienstprinzipal erstellt und ihm eine Rolle in Ihrem Windows Virtual Desktop-Mandanten zugewiesen haben, können Sie ihn zum Erstellen eines Hostpools verwenden.After you've created the service principal and assigned it a role in your Windows Virtual Desktop tenant, you can use it to create a host pool. Weitere Informationen zu Hostpools finden Sie im Tutorial zum Erstellen eines Hostpools in Windows Virtual Desktop.To learn more about host pools, continue to the tutorial for creating a host pool in Windows Virtual Desktop.

Tutorial: Create a host pool with Azure Marketplace (Tutorial: Erstellen eines Hostpools mit Azure Marketplace)Windows Virtual Desktop host pool tutorial