D365 for Operations : Service Admin

En tant que partenaire, il y a des outils dont je n'ai pas accès. Aujourd'hui, j'ai appris que le client peut s'ajouter lui-même au projet d'implantation dans LCS, ceci sans y être invité. Ça fait du sens bien entendu. Les utilisateur avec la permission Service Admin dans Azure Active Directory ont accès à un onglet supplémentaire dans LCS. 



Cet onglet permet de voir tous les projets existant dans l'organisation. Ensuite, il est possible pour cette personne de s'ajouter aux projets en tant que Owner.




VSTS: The request requires authentication.

Suite à l'ajout d'un compte externe au projet Visual Studio, l'utilisateur n'était pas capable de se connecter au projet. Le message d'erreur suivant s'affichait:

401 NOT AUTHORIZED
The request requires authentication.


Afin d'avoir accès au projet, il faut s'assurer que l'utilisateur externe accepte l'invitation reçue par courriel.

SQL Server: Method not found:'System.Collections.Specialized.StringCollection

Suite au déploiement d'un environnement de développement sur la plate-forme 11, je recevais le message d'erreur suivant lorsque je tentais d'aller dans les propriétés d'une base de données.

Cannot show requested dialog. (SqlMgmt)

Method not found:'System.Collections.Specialized.StringCollection
Microsoft.SqlServer.Management.Smo.Server.GetPropertyNames(System.Type)'
(SqlManagerUI)




Pour corriger le problème, j'ai mis à jour SQL Serveur Management Studio (SMSS) avec la version dernière version 16. X qui se trouve ici.

D365 for Operations : Object reference not set to an instance of an object (AOS)

Lors de déploiements de D365 for Opération (on-premises), j'ai fait face à un problème assez difficile à diagnostiquer. Selon LCS, le déploiement a échoué, mais le cluster Service Fabric semble était en bonne santé. Toutefois, j'ai pu trouver les messages d'erreur suivante dans le journal d'événement du serveur AOS:

The application requested process termination through System.Environment.FailFast(string message)
Message: Tearing the process down due to unhandled exception.

Bref, le service AOS à krasher, mais je ne sais pas pourquoi. J'ai aussi trouvé le message suivant dans les logs de l'application:

Service host process 5356 registered service type AXService
Event occurred:
Name: RT-AXServiceConfig
Properties:
IsSuccessful: True
StartDateTime: 10/10/2017 21:08:20
EndDateTime: 10/10/2017 21:08:22
Metrics:
LatencyMilliseconds: 2352.2598
Starting web server on http://+:20003/
Listening on http://10.0.2.20:20003/
Event occurred:
Name: RT-AosInit
Properties:
IsSuccessful: True
StartDateTime: 10/10/2017 21:08:24
EndDateTime: 10/10/2017 21:08:57
Metrics:
LatencyMilliseconds: 33135.2908
System.NullReferenceException: Object reference not set to an instance of an object.

Selon cette erreur, je pouvais comprendre que le service AOS tentait d'activer le service web et échouait. J'avais obtenu l'erreur Object reference not set to an instance of an object dans un autre cas et le problème était le compte service qui ne pouvait pas lire la clef privée du certificat. Après avoir vérifié les certificats, j'ai voulu accéder à AX en utilisant l'URL suivant:  https://ax.mathdax.ca/namespaces/AXSF/

C'est à ce moment que j'ai réalisé que je n'avais pas d'entrée DNS pour ax.mathdax.ca, ce qui représentait certainement un problème. Après avoir créer une entrée DNS pour ax.mathdax.ca, je pouvais me connecter au service web de l'AOS, mais j'avais un problème de certificate. J'imagine que c'est à ce moment que j'ai réalisé que tous mes certificates étaient configurer pour ax.mathdax.local et que cela pouvait causer problème. J'ai donc redéployé mon environnement en utilisant le bon URL dans le champ : The DNS hostname of the Microsoft Dynamics 365 instances. Ensuite, le déploiement a fonctionné.

D365 for Operations : Comment réinitialiser le compte Admin

Après avoir restauré la base de données démo de Contoso pour D365 for Opérations, je devais reseter le compte administrateur de la base de données. Quoique le processus soit simple, je voulais le documenter. 

Il suffit simplement d'exécuter le script suivant:

.\Reset-DatabaseUser.ps1 -DatabaseServer 'SERVERNAME' -DatabaseName - 'NAME'


 


Le script va mettre à jour le compte admin avec l'information 'NT AUTHORITY'.





Lors du prochain redémarrage du service AOS, le service va mettre à jour le compte en utilisant la valeur Provisioning_AdminPrincipalName.