Creare uno script di installazione automatica per il connettore del proxy di applicazione di Azure ADCreate an unattended installation script for the Azure AD Application Proxy connector

Questo argomento descrive come creare uno script di Windows PowerShell che consente l'installazione automatica e la registrazione per il connettore del proxy di applicazione di Azure AD.This topic helps you create a Windows PowerShell script that enables unattended installation and registration for your Azure AD Application Proxy connector.

Questa funzionalità è utile quando si vuole:This capability is useful when you want to:

  • Installare il connettore in istanze di Windows Server che non hanno un'interfaccia utente abilitata o che non sono accessibili con Desktop remoto.Install the connector on Windows servers that don't have user interface enabled, or that you can't access with Remote Desktop.
  • Installare e registrare più connettori in una sola volta.Install and register many connectors at once.
  • Integrare l'installazione e la registrazione del connettore come parte di un'altra procedura.Integrate the connector installation and registration as part of another procedure.
  • Creare un'immagine server standard che contiene i bit del connettore, ma che non è registrata.Create a standard server image that contains the connector bits but is not registered.

Per il corretto funzionamento del connettore del proxy di applicazione, è necessario registrarlo nella directory di Azure AD usando un nome utente e una password di amministratore globale.For the Application Proxy connector to work, it has to be registered with your Azure AD directory using a global administrator and password. Queste informazioni vengono in genere immesse durante l'installazione del connettore in una finestra di dialogo popup, ma in alternativa è possibile usare PowerShell per automatizzare il processo.Ordinarily this information is entered during Connector installation in a pop-up dialog box, but you can use PowerShell to automate this process instead.

Per l'installazione automatica sono previsti due passaggi.There are two steps for an unattended installation. In primo luogo, installare il connettore.First, install the connector. In secondo luogo, registrare il connettore in Azure AD.Second, register the connector with Azure AD.

Installare il connettoreInstall the connector

Per installare il connettore senza registrazione, seguire questa procedura:Use the following steps to install the connector without registering it:

  1. Aprire un prompt dei comandi.Open a command prompt.
  2. Eseguire il comando seguente, dove il parametro /q significa che l'installazione non è interattiva.Run the following command, in which the /q means quiet installation. Durante un'installazione di questo tipo non viene chiesto di accettare il contratto di licenza con l'utente finale.A quiet installation doesn't prompt you to accept the End-User License Agreement.

     AADApplicationProxyConnectorInstaller.exe REGISTERCONNECTOR="false" /q
    

Registrare il connettore in Azure Active DirectoryRegister the connector with Azure AD

Esistono due metodi da usare per registrare il connettore:There are two methods you can use to register the connector:

  • Registrare il connettore con un oggetto credenziali di Windows PowerShellRegister the connector using a Windows PowerShell credential object
  • Registrare il connettore con un token creato offlineRegister the connector using a token created offline

Registrare il connettore con un oggetto credenziali di Windows PowerShellRegister the connector using a Windows PowerShell credential object

  1. Creare un oggetto credenziali di Windows PowerShell $cred che contiene un nome utente e una password di amministratore per la directory.Create a Windows PowerShell Credentials object $cred that contains an administrative username and password for your directory. Eseguire il comando seguente sostituendo <username> e <password>:Run the following command, replacing <username> and <password>:

     $User = "<username>"
     $PlainPassword = '<password>'
     $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
     $cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $SecurePassword
    
  2. Passare a C:\Programmi\Microsoft AAD App Proxy Connector ed eseguire lo script seguente usando l'oggetto $cred creato:Go to C:\Program Files\Microsoft AAD App Proxy Connector and run the following script using the $cred object that you created:

     RegisterConnector.ps1 -modulePath "C:\Program Files\Microsoft AAD App Proxy Connector\Modules\" -moduleName "AppProxyPSModule" -Authenticationmode Credentials -Usercredentials $cred
    

Registrare il connettore con un token creato offlineRegister the connector using a token created offline

  1. Creare un token offline usando la classe AuthenticationContext con i valori in questo frammento di codice:Create an offline token using the AuthenticationContext class using the values in this code snippet:

     using System;
     using System.Diagnostics;
     using Microsoft.IdentityModel.Clients.ActiveDirectory;
    
     class Program
     {
     #region constants
     /// <summary>
     /// The AAD authentication endpoint uri
     /// </summary>
     static readonly Uri AadAuthenticationEndpoint = new Uri("https://login.microsoftonline.com/common/oauth2/token?api-version=1.0");
    
     /// <summary>
     /// The application ID of the connector in AAD
     /// </summary>
     static readonly string ConnectorAppId = "55747057-9b5d-4bd4-b387-abf52a8bd489";
    
     /// <summary>
     /// The reply address of the connector application in AAD
     /// </summary>
     static readonly Uri ConnectorRedirectAddress = new Uri("urn:ietf:wg:oauth:2.0:oob");
    
     /// <summary>
     /// The AppIdUri of the registration service in AAD
     /// </summary>
     static readonly Uri RegistrationServiceAppIdUri = new Uri("https://proxy.cloudwebappproxy.net/registerapp");
    
     #endregion
    
     #region private members
     private string token;
     private string tenantID;
     #endregion
    
     public void GetAuthenticationToken()
     {
         AuthenticationContext authContext = new AuthenticationContext(AadAuthenticationEndpoint.AbsoluteUri);
    
         AuthenticationResult authResult = authContext.AcquireToken(RegistrationServiceAppIdUri.AbsoluteUri,
             ConnectorAppId,
             ConnectorRedirectAddress,
             PromptBehavior.Always);
    
         if (authResult == null || string.IsNullOrEmpty(authResult.AccessToken) || string.IsNullOrEmpty(authResult.TenantId))
         {
             Trace.TraceError("Authentication result, token or tenant id returned are null");
             throw new InvalidOperationException("Authentication result, token or tenant id returned are null");
         }
    
         token = authResult.AccessToken;
         tenantID = authResult.TenantId;
     }
    
  2. Dopo aver ottenuto il token, creare una SecureString con il token:Once you have the token, create a SecureString using the token:

    $SecureToken = $Token | ConvertTo-SecureString -AsPlainText -Force

  3. Eseguire il comando Windows PowerShell seguente, sostituendo <tenant GUID> con l'ID della directory:Run the following Windows PowerShell command, replacing <tenant GUID> with your directory ID:

    RegisterConnector.ps1 -modulePath "C:\Program Files\Microsoft AAD App Proxy Connector\Modules\" -moduleName "AppProxyPSModule" -Authenticationmode Token -Token $SecureToken -TenantId <tenant GUID>

Passaggi successiviNext steps