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.
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
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>
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
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 cmdletGet-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ónnth
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
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
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
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 cmdletGet-CrmOrganizations
y que almacenó en la variable$CRMOrgs
. Por ejemplo, puede usar$CRMOrgs[x].UniqueName
o$CRMOrgs[x].FriendlyName
.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
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