Partager via


Exemple de fonctions et d'actions de l'API Web (PowerShell)

Cet exemple PowerShell version 7.4.0 montre comment appeler des fonctions et des actions liées et indépendantes, y compris des actions personnalisées, à l’aide de l’API Web Microsoft Dataverse. Cet exemple implémente les opérations Dataverse et la sortie de la console détaillées dans l’exemple Fonctions et actions de l’API web.

Cet exemple utilise les fonctions d’assistance PowerShell de l’API Web Dataverse pour gérer l’authentification et fournir des fonctions réutilisables pour effectuer des opérations courantes. Ces scripts sont référencés à l’aide du dot sourcing avec les lignes suivantes :

. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1

Note

Cet exemple doit fonctionner avec Windows, Linux et macOS, mais n’a été testé que sur Windows.

Prerequisites

Avant d’exécuter cet exemple, vous devez lire ces articles qui expliquent les concepts et les modèles utilisés par ces exemples :

Ces articles ont les mêmes conditions préalables.

Installer ou vérifier que les éléments suivants sont installés

Vérifier l’installation

  1. Ouvrez Visual Studio Code.

  2. Dans le menu Terminal, sélectionnez Nouveau terminal.

  3. Dans le volet de navigation de Visual Studio Code, sélectionnez l’icône de l’extension PowerShell.

  4. Copiez et collez le script suivant dans la fenêtre de terminal Visual Studio Code :

    Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString()
    Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).Version
    
  5. Appuyez sur Entrée. La sortie doit ressembler à ce qui suit :

    PowerShell Version: 7.4.0
    PowerShell Az version: 11.1.0
    

Si vous ne voyez pas les résultats comme celui-ci, installez ou mettez à jour les prérequis.

Vous aurez également besoin de

  • Un compte d’utilisateur valide pour un environnement Dataverse
  • URL de l’environnement Dataverse auquel vous souhaitez vous connecter. Consultez Afficher les ressources du développeur pour découvrir comment le trouver. Il semble quelque chose comme ceci : https://yourorg.crm.dynamics.com/, où yourorg.crm est différent.
  • Compréhension de base du langage de script PowerShell

Comment exécuter cet exemple

  1. Clonez ou téléchargez le référentiel PowerApps-Samples .

  2. Ouvrir le fichier à l’aide FunctionsAndActions.ps1 de Visual Studio Code

  3. Modifiez cette ligne pour utiliser l’URL de l’environnement auquel vous souhaitez vous connecter :

    Connect 'https://yourorg.crm.dynamics.com/' # change this

  4. (Facultatif) Définissez la $deleteCreatedRecords variable $false si vous ne souhaitez pas supprimer les enregistrements créés par cet exemple.

  5. Appuyez sur F5 pour exécuter l’exemple.

  6. La première fois que vous exécutez l’exemple, une fenêtre de navigateur s’ouvre. Dans la fenêtre du navigateur, entrez ou sélectionnez les informations d’identification que vous souhaitez utiliser pour vous authentifier.

Pour vous connecter en tant qu’utilisateur différent, exécutez la commandeDisconnect-AzAccount et réessayez.

Code

Le code de cet exemple se trouve à : PowerApps-Samples/dataverse/webapi/PS/FunctionsAndActions/FunctionsAndActions.ps1

Montre ce qui suit

Cet exemple comprend neuf régions :

Section 1 : Fonction non liée WhoAmI

Opérations : appelez la fonction WhoAmI pour récupérer des informations sur l’utilisateur actuel.

Section 2 : Fonction non liée FormatAddress

Opérations:

  • Appelez la fonction FormatAddress avec des paramètres pour une adresse aux États-Unis.
  • Appelez la même fonction avec les paramètres d’une adresse au Japon pour illustrer une mise en forme différente.

Section 3 : Fonction non liée InitializeFrom

Opérations:

  • Créez un enregistrement de compte comme l'enregistrement original.
  • Appelez la fonction InitializeFrom pour obtenir des données pour un nouvel enregistrement en fonction de l’original.
  • Créez un enregistrement de compte à l’aide des données retournées par InitializeFrom.

Section 4 : Fonction non liée RetrieveCurrentOrganization

Opérations : appelez la fonction RetrieveCurrentOrganization pour récupérer des informations sur l’organisation actuelle.

Section 5 : Fonction non liée RetrieveTotalRecordCount

Opérations : appelez la fonction RetrieveTotalRecordCount pour récupérer le nombre total d’enregistrements pour les tables spécifiées.

Section 6 : API personnalisée IsSystemAdmin de la fonction liée

Opérations:

  • Détectez si l’API sample_IsSystemAdmin personnalisée est installée dans l’organisation.
  • Si ce n’est pas le cas, importez la solution managée contenant l’API personnalisée.
  • Récupérez les enregistrements utilisateur système et testez chacun d’eux à l’aide de la sample_IsSystemAdmin fonction pour déterminer s’ils ont le rôle de sécurité Administrateur système.

Section 7 : Action non liée GrantAccess

Opérations:

  • Créez un enregistrement de compte à partager.
  • Récupérez un utilisateur activé autre que l’utilisateur actuel.
  • Utilisez la fonction RetrievePrincipalAccess pour vérifier les droits d’accès de l’utilisateur.
  • Utilisez l’action GrantAccess pour accorder des droits d’accès supplémentaires à l’utilisateur.
  • Vérifiez à nouveau que les droits d’accès ont été accordés à l’aide de RetrievePrincipalAccess.

Section 8 : Action liée AddPrivilegesRole

Opérations:

  • Créez un rôle de sécurité associé à l’unité commerciale de l’utilisateur actuel.
  • Récupérez le rôle avec des privilèges développés pour afficher les privilèges par défaut.
  • Récupérez des informations sur des privilèges spécifiques à ajouter au rôle.
  • Utilisez l’action AddPrivilegesRole pour ajouter des privilèges au rôle.
  • Récupérez à nouveau le rôle pour confirmer que les privilèges ont été ajoutés.

Section 9 : Supprimer des exemples d’enregistrements

Opérations : une référence à chaque enregistrement créé dans cet exemple a été ajoutée à une liste lors de sa création. Cette section effectue une boucle dans cette liste et supprime chaque enregistrement.

Nettoyage

Par défaut, cet exemple supprime tous les enregistrements créés dans celui-ci. Si vous souhaitez afficher les enregistrements créés une fois l’exemple terminé, modifiez la deleteCreatedRecords variable false et vous serez invité à décider si vous souhaitez supprimer les enregistrements.

Voir aussi

Utiliser l’API web Dataverse
Utiliser des fonctions API Web
Utiliser des actions API Web
Démarrage rapide : API Web avec PowerShell et Visual Studio Code
Utiliser PowerShell et Visual Studio Code avec l’API Web Dataverse
Exemples d’API web
Exemple de fonctions et d’actions de l’API Web
Exemple de fonctions et d′actions de l′API Web (C#)
Exemple de fonctions et d’actions de l’API Web (JavaScript côté client)