Fichiers PowerShell de Serveur MID

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 4 minutes de lecture
  • Les fonctions PowerShell sont stockées dans des fichiers de script (*.ps1) qui utilisent une extension de nom de fichier du module de script PowerShell (*.psm1).

    Les fonctions PowerShell sont utilisées par les fichiers de script du Serveur MID PowerShell inclus dans ces packs d’activités :
    • Active Directory
    • Échanger
    • SCCM
    • PowerShell

    PSScript.ps1

    Ce script effectue quelques tâches, telles que le test d’informations d’identification, le chiffrement des mots de passe et l’exécution de scripts configurés dans le Concepteur d’activité d’orchestration ou dans les fichiers de script MID. Toutefois, ce document se concentre sur la façon dont PSScript.ps1 utilise le module credential.psm1 pour tester l’accès aux hôtes distants.

    Les variables PowerShell sont généralement utilisées directement dans la commande d’exécution PowerShell ou comme arguments dans le fichier de script de Serveur MID que vous spécifiez. Des variables spéciales sont transmises à PSScript.ps1, telles que credType.
    Figure 1. Utilisation de credType dans les paramètres d’exécution
    Utilisation de credType dans les paramètres d’exécution

    credTypes PowerShell

    Types d’informations d’identification PowerShell :

    Type Description
    WMI testCredentialWMI
    Échanger testCredentilExchange
    ANNONCE testCredentilAD
    SCCM testCredentilSCCM

    Si aucun type d’informations d’identification n’est transmis au script PSScrip.ps1, le serveur MID utilise par défaut la fonction de test WMI pour tester l’accès à l’hôte cible. Si un type d’informations d’identification est utilisé, le serveur MID exécute la fonction de test correspondante pour ce type d’informations d’identification.

    Codes de sortie

    Ces codes de sortie sont renvoyés à partir du script PSScript.ps1 et enregistrés dans le fichier journal du serveur MID.

    Tableau 1. Codes de sortie PSScript.ps1
    Type Fonction de test
    0 Commande/script PowerShell exécuté avec succès.
    1 Le test s’est terminé avec succès, mais la commande/le script n’a pas pu s’exécuter.
    2 Une syntaxe incorrecte a été transmise au script.
    3 Toutes les informations d’identification, y compris le compte de service Serveur MID, échec de l’exécution de la commande/du script.
    4 Test réussi et activité exécutée, mais une erreur a été renvoyée. L’exemple d’utilisateur est introuvable.

    DiagnosticsUtil.psm1

    Le Serveur MID utilise ce fichier de module pour effectuer la journalisation PowerShell qui facilite le débogage de toute activité Orchestration à l’aide du scripting PowerShell. Vous pouvez également ajouter des instructions de débogage directement aux scripts personnalisés.
    Tableau 2. Utilitaires de diagnostic PowerShell
    Utilitaire Description
    SNCLog-DebugInfo Consignez un message de débogage pour un script PowerShell ou une activité d’orchestration PowerShell. Exemples :
    • SNCLog-DebugInfo -message "Mon message de débogage... "
    • SNCLog-DebugInfo « Mon message de débogage »
    SNCLog-ParameterInfo Consigner une valeur de paramètre de fonction. Pour « function getHostName{ param( [String] $target ) », la première valeur de la table de hachage PowerShell est une chaîne indiquant quelle fonction s’exécute et les valeurs de chacun des paramètres de fonction. Exemples :
    • Fonction avec un seul paramètre : SNCLog-ParameterInfo @(« Running getHostName », $target)
      Remarque :
      Le message de débogage affiche « Running getHostName $target :[valeur réelle de $target] ».
    • Fonction avec plusieurs paramètres : SNCLog-ParameterInfo @(« Running functionName », $param 1, $param 2, $param 3)
    Valeur SNCObfuscate Utilisez cet utilitaire pour chiffrer les valeurs à des fins de sécurité. La fonction affiche « $variableName »:***, où *** est la valeur obscurcie. Exemple :
    SNCObfuscate-Value $password
    Remarque :
    Le message de débogage se lit comme suit : « $password : *** ».

    Credentials.psm1

    Le Serveur MID utilise ce fichier de module pour tester l’accès à un hôte cible. Le Serveur MID parcourt en boucle toutes les Windows informations d’identification stockées dans sa table d’informations d’identification à l’aide des fonctions de type d’accès suivantes, à moins que l’activité PowerShell ne définisse un type d’informations d’identification (credType). Toutes les ServiceNow® activités PowerShell créées sont codées en dur pour utiliser un type d’informations d’identification spécifique. Par conséquent, le Serveur MID teste uniquement l’accès aux informations d’identification par rapport à la fonction désignée.
    Tableau 3. Fonctions de test PowerShell
    Fonction Description
    testCredentialWMI Teste l’utilisateur et le mot de passe donnés sur l’hôte cible à l’aide de l’objet Get-WMI .
    testCredentilAD Teste l’utilisateur et le mot de passe donnés sur l’hôte cible à l’aide de l’objet intégré DirectoryEntry .
    testCredentialExchange Teste l’utilisateur et le mot de passe donnés pour créer une session sur un hôte Exchange. Ce test utilise la fonctionnalité d’accès distant PowerShell intégrée sur un hôte distant. WinRM est configuré par défaut sur les serveurs Exchange.
    testCredentialSCCM Teste l’utilisateur et le mot de passe donnés pour créer une session sur un serveur SCCM. Ce test utilise la fonctionnalité d’accès distant PowerShell intégrée sur un hôte distant. Ce test nécessite la configuration de WinRM.
    testNoCredentialAccessWMI Teste l’utilisateur et le mot de passe donnés sur l’hôte cible à l’aide de l’objet Get-WMI . Ce test est utilisé lorsqu’aucun credType n’est utilisé.
    Remarque :
    Si le test réussit à l’aide de l’une de ces fonctions, ces informations d’identification sont utilisées pour exécuter le script/la commande PowerShell. Si les tests ne parviennent pas à accéder à l’hôte cible à l’aide de ces fonctions, le Serveur MID exécute le script/la commande PowerShell sous le compte du service du Serveur MID.

    Ce diagramme illustre la dépendance du comportement de sélection des informations d’identification sur l’hôte ciblé par l’activité PowerShell. Si l’hôte cible est l’adresse IP ou le nom d’hôte du Serveur MID, le Serveur MID contourne toutes les informations d’identification de la table Informations d’identification et utilise le compte du service du Serveur MID. Si l’hôte cible n’est pas le Serveur MID, toutes les Windows informations d’identification sont utilisées en premier. Si toutes les informations d’identification de la table Informations d’identification échouent lors de l’exécution de l’activité PowerShell, le Serveur MID utilise le compte de service Serveur MID.

    Figure 2. Critères de sélection des informations d’identification PowerShell
    Critères de sélection des informations d’identification PowerShell

    ActiveDirectory.psm1

    Ce fichier de module stocke les fonctions utilisées par les scripts PowerShell fournis avec le pack d’activité Active Directory .

    Exchange.psm1

    Ce fichier de module stocke les fonctions utilisées par les scripts PowerShell fournis avec le pack d’activité Exchange .

    SCCM.psm1

    Ce fichier de module stocke les fonctions utilisées par les scripts PowerShell fournis avec le pack d’activités SCCM .