Activités PowerShell
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 MID Server qui utilise ces activités. Les MID Servers 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.
Le module ServiceNow d’extension Orchestration 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, consultez Pack d’activités PowerShell
Activité PowerShell d’exécution héritée
L’activité Exécuter PowerShell exécute des Windows commandes PowerShell sur un MID Server.
Valeurs du résultat
- Succès
- Échec
Entrées de bloc-notes
Les informations écrites sur Stdout par le script d’exécution sont capturées et renvoyées à l’activité dans la variable activity.output . Ces informations peuvent être analysées, traitées ou enregistrées (dans une variable de bloc-notes, par exemple) en vue d’un traitement ultérieur dans le script de capteur de l’activité.
stdout est retourné dans activity.output et disponible pour être traité.Variables d'entrée
| Champ | Description |
|---|---|
| Nom d'hôte | Adresse IP de l’ordinateur cible Windows . Cette valeur est mappée à la variable $computer pour une utilisation dans les commandes (voir l’exemple dans le champ Commande ). Une variable d’informations d’identification PowerShell appelée $cred 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 un ordinateur distant pointé par la variable hostname , la commande est la suivante :
Si aucune information d’identification n’est authentifiée sur l’ordinateur, la commande s’exécute dans le contexte de l’utilisateur du MID Server. Vous ne pouvez pas exécuter à la fois une commande et un fichier de script. Lorsque vous spécifiez une commande, la variable Fichier de script est masquée. |
| 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 output. Toute erreur provenant de la sonde est contenue dans une variable nommée error. |
| Fichier de script | Le champ Activer la synchronisation des fichiers de script pour Windows Sécurité renforcée. Vous ne pouvez pas exécuter à la fois un fichier de script et une commande. Lorsque vous sélectionnez un fichier de script, la variable Commande est masquée. |
| Variables de script PowerShell | Paramètres supplémentaires, au format JSON, utilisés par le fichier de script spécifié. |
États
| État | Description |
|---|---|
| Exécution | Le moteur de workflow sait qu’il doit démarrer la fonction onExecute de l’activité. |
| Terminé | 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. |
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 $credCodes de résultats RH
Lorsqu’un script PowerShell rencontre une erreur, l’ordinateur Windows peut renvoyer un code de résultat RH 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 RHesult. En cas d’échec d’un script PowerShell, vous pouvez utiliser le code RHesult pour déplacer le workflow selon une condition spécifique.
Par exemple, lors de la réinitialisation d’un mot de passe Active Directory par 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 RHesult -2146022651. Pour utiliser ce code, créez une condition d’activité avec la valeur Conditionactivity.hresult = -2146022651. Si le script PowerShell renvoie ce code lors de l’exécution de l’activité, le workflow passe par cette nouvelle condition.