Usar cmdlets de PowerShell para que las herramientas de XRM se conecten a Dynamics 365 Customer Engagement (on-premises)

Los útiles de XRM le proporcionan los siguientes cmdlets de Windows PowerShell que puede utilizar para conectarse a Dynamics 365 Customer Engagement (on-premises) y recuperar las organizaciones a las que el usuario actual tiene acceso: Get-CrmConnection y Get-CrmOrganizations.

Nota

La documentación de cmdlets de PowerShell que es aplicable a usuarios de Dataverse ahora está disponible en la documentación de Power Apps en: Usar cmdlets de PowerShell en útiles de XRM para conectarse a Dataverse

Requisitos previos

  • Para usar los cmdlets de los útiles de XRM, necesita la versión 3.0 de PowerShell o posterior. Para comprobar la versión, abra una ventana de PowerShell y ejecute el siguiente comando: $Host

  • Establezca la directiva de ejecución para ejecutar los scripts de PowerShell firmados. Para ello, abra una ventana de PowerShell como administrador y ejecute el siguiente comando: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Adquiera el cmdlet Microsoft.Xrm.Tooling.CrmConnector.PowerShell

Antes de usar el cmdlet de PowerShell, debe instalarlo. Los cmdlets PowerShell de útiles XRM están disponible en la Galería de PowerShell aquí. Para descargar instalar el cmdlet

Abra PowerShell o PowerShell ISE en modo de administración, y ejecute el siguiente comando:

Install-Module -Name Microsoft.Xrm.Tooling.CrmConnector.PowerShell

Si instaló el módulo anteriormente, puede actualizarlo con el siguiente comando:

Update-Module -Name Microsoft.Xrm.Tooling.CrmConnector.PowerShell

Ahora está listo para usar el cmdlet de PowerShell. Para mostrar los cmdlets que registró, ejecute el comando siguiente en la ventana de PowerShell:

Get-Help “Crm”  

Uso del cmdlet para recuperar organizaciones de Dynamics 365 Customer Engagement (on-premises)

Use el cmdlet Get-CrmOrganizations para recuperar las organizaciones a las que tiene acceso.

  1. Especifique las credenciales para conectarse a la instancia de Dynamics 365 Customer Engagement (on-premises). Si ejecuta el siguiente comando se le pedirá que escriba su nombre de usuario y contraseña para conectarse a la instancia de Dynamics 365 Customer Engagement (on-premises) y se almacenará en la variable $Cred.

    $Cred = Get-Credential  
    
  2. Use el siguiente comando para recuperar sus organizaciones y almacenar la información en la variable $CRMOrgs:

    • Si va a conectarse al Dynamics 365 Server:

      $CRMOrgs = Get-CrmOrganizations –ServerUrl https://<CRM_Server_Host> –Credential $Cred  
      
    • Si va a conectarse a Dynamics 365 Server mediante la autenticación basada en notificaciones en el dominio de inicio especificado:

      $CRMOrgs = Get-CrmOrganizations –ServerUrl https://<CRM_Server_Host> –Credential $Cred –HomRealmURL https://<Identity_Provider_Address>  
      
  3. Sus credenciales suministradas se validan al ejecutar el comando en el paso 2. Tras la ejecución correcta del comando, escriba el siguiente comando, y presione ENTRAR para mostrar las organizaciones a las que tiene acceso:

    $CRMOrgs  
    

    Información de la organización de Dynamics 365 Customer Engagement (on-premises).

    Propina

    Puede usar la variable que se usó para almacenar las organizaciones de Dynamics 365 Customer Engagement (on-premises) recuperadas (en este caso, $CRMOrgs) con el cmdlet Get-CrmConnection para conectarse a Dynamics 365 Customer Engagement (on-premises). Para especificar el nombre de la organización, utilice el siguiente comando: $CRMOrgs.UniqueName.

    Si hay más de un valor de organización almacenado en la variable $CRMOrgs, puede referirse a la organización nth con el siguiente comando: $CRMOrgs[n-1]. Por ejemplo, para referirse al nombre único de la segunda organización de la variable $CRMOrgs, use el siguiente comando: $CRMOrgs[1].UniqueName.

Uso del cmdlet para conectarse a Dynamics 365 Customer Engagement (on-premises)

Use el cmdlet Get-CrmConnection para conectarse a una instancia de Dynamics 365 Customer Engagement (on-premises). El cmdlet le permite usar el control común de inicio de sesión de los útiles de XRM para especificar sus credenciales y conectarse a Dynamics 365 Customer Engagement (on-premises) o especificar sus credenciales como parámetros en línea. Más información: Usar el control de inicio de sesión común de los útiles de XRM

Importante

Antes de usar el cmdlet Get-CrmConnection, asegúrese de que usa el siguiente comando de aplicar el uso de TLS 1.2 por PowerShell para conectarse a la instancia de Dynamics 365 Customer Engagement (on-premises):
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
Más información acerca de los requisitos de TLS 1.2 para conexión de Customer Engagement: Entrada de blog: Próximas actualizaciones de seguridad de conexión de Dynamics 365 Customer Engagement (on-premises)

Conexión a Dynamics 365 Customer Engagement (on-premises) mediante el control de inicio de sesión común

  1. Si desea usar el control de inicio de sesión común para proporcionar sus credenciales para conectarse a Dynamics 365 Customer Engagement (on-premises), use el siguiente comando. La información de conexión se almacena en la variable $CRMConn para poder usarla más adelante.

    $CRMConn = Get-CrmConnection -InteractiveMode  
    
  2. Se abre el cuadro de diálogo LoginControl. Especifique las credenciales para conectarse a la instancia y haga clic en Iniciar sesión.

Conexión a Dynamics 365 Customer Engagement (on-premises) especificando las credenciales en línea

  1. Para conectarse a Dynamics 365 Customer Engagement (on-premises), use los comandos siguientes. Tenga en cuenta que estos comandos usan la variable $Cred que se creó anteriormente para almacenar las credenciales mientras se recuperaban las organizaciones. La información de conexión se guarda en la variable $CRMConn:

    • Si va a conectarse al Dynamics 365 Server:

      $CRMConn = Get-CrmConnection –ServerUrl https://<CRM_Server_Host> -Credential $Cred -OrganizationName <OrgName>  
      
    • Si va a conectarse a Dynamics 365 Server mediante la autenticación basada en notificaciones en el dominio de inicio especificado:

      $CRMConn = Get-CrmConnection –ServerUrl https://<CRM_Server_Host> -Credential $Cred -OrganizationName <OrgName> –HomRealmURL https://<Identity_Provider_Address>  
      

    Nota

    Para el parámetro OrganizationName de todos los comandos anteriores, puede especificar el nombre único o el nombre descriptivo de la organización. También puede usar el nombre único o el nombre descriptivo de la organización que recuperó mediante el cmdlet Get-CrmOrganizations y que almacenó en la variable $CRMOrgs. Por ejemplo, puede usar $CRMOrgs[x].UniqueName o $CRMOrgs[x].FriendlyName.

  2. Sus credenciales suministradas se validan al ejecutar el comando en el paso 1. Tras la ejecución correcta del cmdlet, escriba el siguiente comando, y presione ENTRAR para mostrar la información y el estado de conexión:

    $CRMConn  
    

    Información y estado de la conexión de Dynamics 365 Customer Engagement.

Consultar también

Usar la API de útiles XRM para conectarse a Dataverse
Crear aplicaciones cliente de Windows mediante las herramientas XRM
Blog: Módulo de PowerShell para realizar operaciones de datos y manipular la configuración de usuarios y del sistema en CRM