Fichiers PowerShell du MID Server

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • Les fonctions PowerShell sont stockées dans des fichiers de script (*.ps1) qui utilisent une extension de nom de fichier de module de script PowerShell (*.psm1).

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

    PSScript.ps1

    Ce script effectue quelques tâches, telles que le test des informations d’identification, le chiffrement de mot de passe et l’exécution de scripts configurés dans Orchestration Activity Designer 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 MID Server que vous spécifiez. Il existe des variables spéciales qui 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
    AD testCredentilAD
    SCCM de testCredentilSCCM

    Si aucun type d’informations d’identification n’est transmis au script PSScrip.ps1, le MID Server 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 MID Server exécute la fonction de test correspondante pour ce type d’informations d’identification.

    Codes de sortie

    Ces codes de sortie sont renvoyés par le script PSScript.ps1 et consignés dans le fichier journal du MID Server.

    Tableau 1. Codes de sortie PSScript.ps1
    Type Fonction de test
    0 La commande/le script PowerShell s’est 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 Syntaxe incorrecte transmise au script.
    3 Toutes les informations d’identification, y compris le compte de service de Serveur MID, ont échoué dans l’exécution de la commande/du script.
    4 Test et exécution réussis l’activité, mais une erreur a été renvoyée. L’utilisateur de l’exemple est introuvable.

    DiagnosticsUtil.psm1

    Le MID Server utilise ce fichier de module pour effectuer la journalisation PowerShell qui facilite le débogage de toute activité Orchestration à l’aide d’un 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 Consignez 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 « En cours d’exécution getHostName $target :[valeur réelle de $target] ».
    • Fonction avec plusieurs paramètres : SNCLog-ParameterInfo @(« Running functionName », $param 1, $param 2, $param 3)
    SNCObfuscate-valeur Utilisez cet utilitaire pour chiffrer les valeurs à des fins de sécurité. La fonction affiche « $variableName »:***, où *** est la valeur obfusquée. Exemple :
    SNCObfuscate-Value $password
    Remarque :
    Le message de débogage se lit comme suit : « $password : *** ».

    Credentials.psm1

    Le MID Server utilise ce fichier de module pour tester l’accès à un hôte cible. Le MID Server parcourt toutes les Windows informations d’identification stockées dans sa table des informations d’identification à l’aide des fonctions de type d’accès suivantes, sauf si un type d’informations d’identification (credType) est défini pour l’activité PowerShell. 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 MID Server 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 DirectoryEntry l’objet intégré.
    testInformations d’identificationExchange 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 à distance PowerShell intégrée sur un hôte distant. WinRM est configuré par défaut sur les serveurs Exchange.
    testInformations d’identificationSCCM 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 à distance 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 MID Server exécute le script/la commande PowerShell sous le compte du service MID Server.

    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 MID Server, ce dernier contourne toutes les informations d’identification de la table Informations d’identification et utilise le compte du service MID Server. Si l’hôte cible n’est pas le MID Server, 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 MID Server utilise le compte de service du MID Server.

    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és Active Directory .

    Échange.psm1

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

    SCCM.psm1

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