---
sourceDocument: Xanadu : créer des intégrations avec des applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/integrate-applications

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Xanadu : créer des intégrations avec des applications

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# Activités PowerShell

# Activités PowerShell {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes de lecture

PowerShell est basé sur . Windows NET Framework et est conçu pour contrôler et automatiser l'administration des machines et des Windows applications.

PowerShell doit être installé sur n'importe quel serveur MID qui utilise ces activités. Les serveurs MID utilisant PowerShell doivent être installés sur un système d'exploitation pris en charge Windows . ServiceNow prend en charge PowerShell 3.0 à 5.1.{#c_OrchestrPowerShellActivities__ph_Supported_PowerShell_Versions}

Le module ServiceNow [d'extension Orchestration](https://servicenow-prod.fluidtopics.net/jSBrfgYlFlFNJLD21OIGMQ "Utiliser Orchestration les activités dans un Workflow pour s’intégrer à des systèmes tiers.") ajoute ces activités PowerShell de base aux workflows. Pour obtenir des instructions sur l'utilisation des activités du pack d'activités PowerShell, voir [Pack d'activités PowerShell](https://servicenow-prod.fluidtopics.net/w4AleOL8hFVGQhdozf2A5Q "PowerShell est basé sur . Windows NET Framework et est conçu pour contrôler et automatiser l’administration des machines et des Windows applications.")

## Activité PowerShell d'exécution héritée {#ariaid-title2}

L'activité Exécuter PowerShell exécute Windows des commandes PowerShell sur un serveur MID.
Important :  
Cette activité est déconseillée et n'est pas disponible pour les nouveaux workflows. Pour remplacer la fonctionnalité de cette activité, utilisez le [modèle d'activité Powershell](https://servicenow-prod.fluidtopics.net/df1pdHr67_G_s_WOZTmooQ#t_CreateAPowershellActivity "Créer une activité PowerShell personnalisée renvoyer des données à un workflow à partir d’un hôte à l’aide de Microsoft PowerShell.") pour créer une activité personnalisée et incluse dans le champ d'application. Les workflows d'une version précédente qui utilisent l'activité Exécuter PowerShell peuvent continuer à le faire.

### Valeurs de résultat

Le concepteur de workflow peut affecter une valeur de résultat à l'aide d'activity.result à partir d'un champ de script de l'activité. Par défaut, le succès ou l'échec des commandes PowerShell utilisées détermine la valeur de résultat de l'activité Exécuter PowerShell. Les valeurs de résultat possibles sont les suivantes :

* Réussite
* Échec
{#r_RunPowershellActivity__ul_oqc_yxs_hp}

### Entrées de bloc-notes

Les informations écrites sur <var class="keyword varname">stdout par le script d’exécution</var> sont capturées et renvoyées à l'activité dans la variable<var class="keyword varname"> activity.output</var> . Ces informations peuvent être analysées, traitées ou enregistrées (dans une variable de bloc-notes, par exemple) pour un traitement ultérieur dans le script de capteur de l'activité.  
Par exemple, vous pouvez exécuter la commande get-date pour obtenir l'heure actuelle du serveur MID. Ce script de capteur enregistre la totalité de la sortie reçue, mais nous pouvons la traiter pour revenir et gagner uniquement le temps.Figure 1. Activité PowerShell  
Remarque :  
Il s'agit d'un exemple trop simplifié. Dans la plupart des cas, le script fonctionne sur un ordinateur distant Windows . Cependant, le principal est le même : tout ce qui est écrit dans `stdout` est retourné dans `activity.output` et disponible pour le traitement.

### Variables d'entrée

{#r_RunPowershellActivity__table_kh2_mys_hp__entry__2}

| Champ | Description |
|-|-|
| Nom d'hôte | Adresse IP de l'ordinateur cible Windows . Cette valeur est mappée à la variable <var class="keyword varname">$computer</var> à utiliser dans les commandes (voir l'exemple dans le champ Commande ). Une variable d'informations d'identification PowerShell appelée <var class="keyword varname">$cred</var> qui est basée sur les informations de la table Informations d'identification s'authentifie sur l'ordinateur pointé par le ServiceNownom d'hôte. |
| Commande | Entrez la commande PowerShell à exécuter. Par exemple, pour exécuter une requête WMI simple sur une machine distante pointée par la variable <var class="keyword varname">hostname</var> , la commande est : get-wmiobject <class> -computer $computer -credential $cred Si aucune information d'identification ne s'authentifie sur l'ordinateur, la commande s'exécute dans le contexte de l'utilisateur du Serveur MID. Vous ne pouvez pas exécuter à la fois une commande et un fichier de script. La spécification d'une commande masque la variable <var class="keyword varname">du fichier de script</var> . |
| Script de capteur | Script à exécuter à l'aide des résultats de la sonde. La sortie de la sonde est contenue dans une variable nommée <var class="keyword varname">output</var>. Toute erreur provenant de la sonde est contenue dans une variable nommée <var class="keyword varname">error</var>. |
| Fichier de script | Le champ [Activer la synchronisation des fichiers de script pour Windows Sécurité renforcée](https://www.servicenow.com/docs/access?context=mid-server-script-attach&version=xanadu&pubname=xanadu-servicenow-platform&section=c_EnableScriptFileSyncWinESecure&ft:locale=en-US). Vous ne pouvez pas exécuter à la fois un fichier de script et une commande. Lors de la sélection d'un fichier de script, la variable <var class="keyword varname">Commande</var> est masquée. |
| Variables de script PowerShell | Paramètres supplémentaires, au format JSON, utilisés par le fichier de script spécifié. |
[Tableau 1. Variables d'entrée]

{#r_RunPowershellActivity__table_kh2_mys_hp}

### États

L'état de l'activité indique au moteur de workflow ce qu'il doit faire avec l'activité.{#r_RunPowershellActivity__table_zvx_mzs_hp__entry__2}

| État | Description |
|-|-|
| Exécution | Le moteur de workflow sait démarrer la fonction onExecute de l'activité. |
| Fermer | L'activité s'est terminée. Affichez la valeur de résultat pour connaître le résultat de l'activité. |
| Annulé | Cette activité, ou le workflow qui contient cette activité, a été annulée. |
[Tableau 2. États]

{#r_RunPowershellActivity__table_zvx_mzs_hp}  
Ajoutez des variables de workflow pour la ligne de commande à l'aide de la syntaxe normale des variables de workflow. Dans l'exemple ci-dessus, si la \<class\> se trouvait dans une variable d'entrée de workflow appelée <var class="keyword varname">myclass</var>, la commande ressemblerait à ceci :

    get-wmiobject $ {workflow. inputs. myclass } -computer $computer --credential $cred
    Similarly  if the variable  is a scratchpad variable named myclass , the command would look like :
    get -wmiobject $ {workflow. scratchpad. myclass } -computer $computer --credential $cred

## Codes de résultat RH {#ariaid-title3}

Lorsqu'un script PowerShell rencontre une erreur, l'ordinateur Windows peut renvoyer un code HResult dans le cadre du message d'erreur.

Les activités PowerShell peuvent lire et interpréter ce code. Toutes les erreurs PowerShell n'incluent pas de code HResult. En cas d'échec d'un script PowerShell, vous pouvez utiliser le code HResult pour déplacer le workflow dans une condition spécifique.

Par exemple, lors de la réinitialisation d'un mot de passe Active Directory sur un mot de passe qui ne répond pas aux exigences de la politique, telles que la longueur minimale ou la complexité, le script PowerShell renvoie le code de résultat RH -2146022651. Pour utiliser ce code, créez une condition d'activité avec la valeur Condition<var class="keyword varname">activity.hresult = -2146022651</var>. Si le script PowerShell renvoie ce code lors de l'exécution de l'activité, le workflow passe par cette nouvelle condition.

