Créer une activité PowerShell

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 5 minutes de lecture
  • Créer une activité PowerShell personnalisée renvoyer des données à un workflow à partir d’un hôte à l’aide de Microsoft PowerShell.

    Avant de commencer

    Rôle requis : activity_creator ou workflow_admin

    Pourquoi et quand exécuter cette tâche

    ServiceNow prend en charge PowerShell 3.0 à 5.1.

    Procédure

    1. Créez une activité personnalisée.
      Cette action crée une activité personnalisée à l’aide d’un modèle.
    2. Après avoir défini les propriétés générales et créé des variables d’entrée, configurez la commande d’exécution PowerShell.
      OptionDescription
      Mapper les variables d’entrée Utilisez les variables que vous avez créées pour configurer la commande qu’Orchestration exécute sur le serveur MID.
      Hôte cible Nom d’hôte ou adresse IP du serveur cible pour cette activité PowerShell.
      Type de script Type de script PowerShell à exécuter sur l’hôte PowerShell. Options disponibles :
      • Commande PowerShell personnalisée
      • Fichier de script Serveur MID
      Fichier de script Serveur MID Le fichier de script Serveur MID contient les scripts PowerShell. Ce champ est disponible lorsque le type de script sélectionné est Fichier de script de Serveur MID.
      Commande Commande PowerShell que l’activité exécute. Ce champ est disponible lorsque le type de script sélectionné est la commande PowerShell personnalisée. Vous pouvez créer vos commandes en faisant glisser et en déplaçant des variables d’entrée du générateur de variables dans ce champ.
      Variables PowerShell Paires nom-valeur à transmettre à l’hôte avec PowerShell. Vous pouvez créer ces variables manuellement ou faire glisser les variables d’entrée dans le champ Valeur . Les variables d’entrée chiffrées conservent leur chiffrement, quels que soient les paramètres de type de données dans ce champ. Si vous saisissez une valeur et sélectionnez le type de données Chiffré , votre valeur s’affiche en texte brut. Il n’est chiffré que lorsqu’il passe à la file d’attente ECC.
      Utiliser un compte de service MID Si cette option est activée, cette activité s’authentifie sur l’hôte cible à l’aide des informations d’identification du compte de service du Serveur MID uniquement, sans essayer d’autres informations d’identification.
      Remarque :
      Le champ de balise d’informations d’identification n’est pas disponible.
      Balise d’informations d’identification Balise d’informations d’identification que cette activité doit utiliser pour exécuter les commandes PowerShell sur l’hôte. Si ce champ est laissé vide, le serveur MID teste toutes les informations d’identification disponibles jusqu’à ce qu’il en trouve une valide, en terminant par le compte de service du serveur MID. Si une balise d’informations d’identification est définie, le serveur MID essaie les informations d’identification avec cette balise spécifiée uniquement, mais n’essaie pas le compte de service du serveur MID.
      Remarque :
      Ce champ n’est pas disponible lorsque la case Utiliser le compte de service MID est cochée.
      Options de Serveur MID requises Serveur MID à utiliser pour interroger PowerShell, par options. Par défaut, le système sélectionne un serveur MID PowerShell.
      Remarque :
      Vous pouvez mapper automatiquement les valeurs des paramètres d’une charge utile de test aux variables de l’onglet Sorties . Reportez-vous à la section Variables de sortie de mappage automatique.

    Que faire ensuite

    Terminez la création de votre activité PowerShell en créant des variables de sortie, en créant une règle d’analyse ou desconditions. Reportez-vous à la rubrique Créer des activités personnalisées pour connaître les options de votre modèle.

    Paramètres d’exécution du modèle PowerShell

    Vous utilisez les paramètres d’exécution pour créer le script de processus d’entrée dans le formulaire Prétraitement du concepteur d’activité.

    Pour obtenir des descriptions des champs de commande Powershell, reportez-vous à la table de Configurer la commande d’exécution PowerShell.
    Remarque :
    Vous devez utiliser le préfixe executionParam. avec toutes les variables de cette table.
    Tableau 1. Exécution Powershell Paramètres
    Nom Variable Type Utilisation
    Source source Chaîne Hôte cible sur lequel exécuter la commande.
    Type de script script_type Énumération Type de script à exécuter. Les types possibles sont les suivants :
    • commander: Commande PowerShell personnalisée.
    • lime: Identifie le fichier de script de Serveur MID à exécuter.
    Commande commande Chaîne Commande envoyée au MID Server pour qu’il s’exécute sur l’hôte cible.
    MidScriptFile (en anglais seulement) midScriptFile (en anglais seulement) Référence Référence sys_id du fichier de script de Serveur MID à exécuter, lorsque le script_type est fichier.
    Variables Powershell variables powershell Tableau de la carte de hachage Carte de hachage des objets JavaScript avec le nom, la valeur et le type de chaque objet. Le type de chaque objet peut être brut, chiffré, booléen ou nul, correspondant au type de variable PowerShell sélectionné dans l’onglet entrées. Par exemple, vous pouvez saisir :
    var newParameter = {"name":"parameterName","value":"parameterValue", "type": "plain" };
    executionParam.powershellVariables.push(newParameter);
    Balise d’informations d’identification credential_tag Chaîne Balise d’informations d’identification spécifique que cette activité doit utiliser pour exécuter les commandes PowerShell sur l’hôte.
    Capacités MID Capacités MID Chaîne (séparée par des virgules) Liste des options de Serveur MID requises.
    Options de valeur valueCapabilities (en anglais seulement) Tableau de la carte de hachage Valeurs d’aptitude utilisées pour sélectionner le serveur MID. Pour plus d’informations, consultez Options de Serveur MID. Si des options supplémentaires sont affectées par valeur, utilisez cet exemple pour personnaliser la sélection du Serveur MID :
    var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'};
    executionParam.valueCapabilities.push(valueCapability);

    Paramètres de post-traitement Powershell et analyse de la charge utile

    Utilisez ces paramètres pour créer un script de post-traitement, une analyse de la charge utile et un balisage.

    Tableau 2. Paramètres de post-traitement Powershell
    Nom Variable Type Utilisation
    Balises balises Carte de hachage des valeurs de balises à renvoyer à partir de la commande PowerShell. Contient les balises utilisées pour extraire la sortie à l’aide des commandes PowerShell. La sortie de la balise est délimitée par des signes de pourcentage doubles, comme dans %%tagname%% ... %%. Configurez la commande en utilisant le format de cet exemple :
    Write-Host %%tagname1%%
    output1 line 1
    output1 line 2
    …
    Write-Host%%
    
    Write-Host %%tagname2%%
    output2 line 1
    output2 line 2
    …
    Write-Host%%

    Les balises renvoyées sont des objets de carte de hachage JavaScript dans lesquels chaque clé est préfixée par une balise accompagnée du tagname.

    {"__text__": "", 
    "tagtagname1":"output1 line1\noutput1 line2\n", 
    "tagtagname2":"output2 line1\noutput2 line2\n"}
    Hresult hRésultat Chaîne Contient n’importe quel hresult retourné par la commande PowerShell. Si aucun résultat hn’est retourné, ce paramètre est nul.
    Sortie sortie Chaîne Contient la sortie brute de la commande PowerShell.
    EccSysID (en anglais seulement) eccSysID Chaîne Contient l’ID de référence associé au message d’entrée File d’attente ECC renvoyé par l’activité.
    Messages d’erreur Messages d’erreur Chaîne Contient tous les messages d’erreur récupérés à partir de la commande PowerShell. Cette valeur est nulle s’il n’y a pas de messages d’erreur.