Partager via


Simplifier la création de runbooks Service Management Automation avec des ressources globales

Les ressources globales sont disponibles pour tous les runbooks dans un environnement Automation. Pour les créer et les configurer, vous utilisez soit l'espace de travail Automatisation dans le portail de gestion, soit les applets de commande appropriées dans Windows PowerShell. À partir d'un Runbook, vous pouvez récupérer et définir des valeurs pour les ressources globales à l'aide des activités du module RunbookConstructs . Les applets de commande Windows PowerShell sont disponibles pour être utilisées dans les runbooks dans Service Management Automation, mais les activités sont recommandées car elles sont plus efficaces, car elles n’ont pas à fonctionner via le service web Automation.

Obtenir ou définir des informations d’identification

Les informations d'identification d'automatisation (Automation) sont soit un nom d'utilisateur et un mot de passe utilisables avec des commandes Windows PowerShell, soit un certificat téléchargé vers le serveur. Les propriétés d’une information d’identification sont stockées en toute sécurité dans la base de données Automation et sont accessibles dans le runbook avec l’activité Get-AutomationPSCredential ou Get-AutomationCertificate .

PowerShell pour la gestion des informations d’identification

Vous pouvez utiliser les applets de commande du tableau suivant pour créer et gérer des informations d’identification avec Windows PowerShell dans Service Management Automation.

Applets de commande Description
Get-SmaCertificate Récupère un certificat Automation.
Get-SmaCredential Récupère des informations d’identification PowerShell Automation.
Remove-SmaCertificate Supprime un certificat Automation.
Remove-SmaCredential Supprime des informations d’identification PowerShell Automation.
Set-SmaCertificate Crée un certificat ou définit les propriétés d'un certificat existant, notamment le chargement du fichier de certificat et la spécification du mot de passe d'un fichier .pfx.
Set-SmaCredential Crée des informations d’identification PowerShell Automation ou définit les propriétés d’une information d’identification existante.

PowerShell pour l’utilisation des informations d’identification

Vous pouvez utiliser les activités du tableau suivant pour accéder aux informations d’identification d’un runbook.

Activités Description
Get-AutomationCertificate Obtient un certificat à utiliser dans un Runbook.
Get-AutomationPSCredential Obtient un nom d'utilisateur/mot de passe à utiliser dans un Runbook.

Remarque

Vous devez éviter d’utiliser des variables dans le paramètre Name de Get-AutomationPSCredential et Get-AutomationCertificate , car cela peut compliquer la découverte des dépendances entre les runbooks et les variables Automation.

Créer des informations d’identification PowerShell dans le portail de gestion

  1. Sélectionnez l'espace de travail Automation .

  2. En haut de la fenêtre, sélectionnez Ressources.

  3. En bas de la fenêtre, sélectionnez Ajouter un paramètre.

  4. Sélectionnez Ajouter des informations d’identification.

  5. Dans la liste déroulante Type d’informations d’identification, sélectionnez Informations d’identification PowerShell.

  6. Entrez un nom pour les informations d’identification dans la zone Nom .

  7. Cliquez sur la flèche droite.

  8. Entrez les valeurs de chaque propriété.

  9. Cochez la case pour enregistrer les informations d’identification.

Créer un certificat dans le

Portail de gestion

  1. Sélectionnez l'espace de travail Automation .

  2. En haut de la fenêtre, sélectionnez Ressources.

  3. En bas de la fenêtre, sélectionnez Ajouter un paramètre.

  4. Sélectionnez Ajouter des informations d’identification.

  5. Dans la liste déroulante Type d’informations d’identification, sélectionnez Certificat.

  6. Entrez un nom pour le certificat dans la zone Nom .

  7. Cliquez sur la flèche droite.

  8. Sélectionnez Rechercher un fichier et accédez à un fichier .cer ou .pfx.

  9. Si vous avez sélectionné un fichier .pfx, indiquez son mot de passe.

  10. Cochez la case pour enregistrer le certificat.

Créer des informations d’identification avec PowerShell

Les exemples de commandes suivants montrent comment créer des informations d'identification.

$webServer = 'https://MyWebServer'
$port = 9090
$credName = 'MyCredential'
$user = 'contoso\MyUser'
$pwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pwd

Set-SmaCredential -WebServiceEndpoint $webServer -port $port -Name $credName -Value $cred

Pour créer un certificat PowerShell à l'aide de Windows PowerShell dans Service Management Automation

Les exemples de commandes suivants montrent comment créer un certificat en important un fichier de certificat.

$webServer = 'https://MyWebServer'
$port = 9090
$certName = 'MyCertificate'
$path = 'c:\certs\MyCertificate.pfx'
$certPwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force

Set-SmaCertificate -WebServiceEndpoint $webServer -port $port -Name $certName -Path $certPath -Password $certPwd

Utiliser des informations d’identification PowerShell dans un runbook

Vous pouvez récupérer des informations d'identification PowerShell dans un Runbook à l'aide de l'activité Get-AutomationPSCredential . Cela entraîne le retour d'un objet PSCredential que vous pouvez utiliser dans le flux de travail.

  • Les exemples de commandes suivants montrent comment utiliser les informations d’identification PowerShell dans un Runbook. Dans cet exemple, les informations d'identification sont utilisées avec une activité InlineScript pour exécuter un ensemble de commandes à l'aide d'autres informations d'identification.

    $myCredential = Get-AutomationPSCredential -Name 'MyCredential'
    InlineScript {
       <Commands>
    } -PSComputerName $ServerName -PSCredential $myCredential
    

Gérer les connexions SMA

Une connexion d'automatisation (Automation) contient les informations requises pour se connecter à un service ou une application à partir d'un Runbook. Ces informations sont définies dans le module de l'application. En règle générale, il s'agit d'informations telles que le nom d'utilisateur et le mot de passe, ainsi que le nom de l'ordinateur auquel se connecter. D’autres informations peuvent également être requises, telles qu’un certificat ou un ID d’abonnement. Les propriétés d’une connexion sont stockées en toute sécurité dans la base de données Automation et sont accessibles dans le runbook avec l’activité Get-AutomationConnection .

Applets de commande Windows PowerShell

Vous pouvez créer et gérer des informations d’identification avec les applets de commande Windows PowerShell dans le tableau suivant.

Applets de commande Description
Get-SmaConnection Récupère les valeurs de chaque champ dans une connexion particulière.
Get-SmaConnectionField Récupère les définitions de champ d'un type de connexion particulier.
Get-SmaConnectionType Récupère les types de connexion disponibles.
New-SmaConnection Crée une connexion.
Remove-SmaConnection Supprime une connexion existante.
Set-SmaConnectionFieldValue Définit la valeur d’un champ particulier d’une connexion existante.

Activités de Runbook

Vous pouvez accéder aux connexions dans un runbook avec les activités du tableau suivant.

Activités Description
Get-AutomationConnection Obtient une connexion à utiliser dans un Runbook.

Créer une connexion dans le portail de gestion

  1. Sélectionnez l'espace de travail Automation .

  2. En haut de la fenêtre, sélectionnez Ressources.

  3. En bas de la fenêtre, sélectionnez Ajouter un paramètre.

  4. Sélectionnez Ajouter une connexion.

  5. Dans la liste déroulante Type de connexion , sélectionnez un type de connexion.

  6. Entrez un nom pour la connexion dans la zone Nom .

  7. Cliquez sur la flèche droite.

  8. Entrez une valeur pour chaque propriété.

  9. Cochez la case pour enregistrer la connexion.

Créer une connexion avec Windows PowerShell

Les exemples de commandes suivants créent une connexion Virtual Machine Manager portant le nom MyVMMConnection.

Remarque

Nous utilisons une table de hachage pour définir les propriétés de la connexion. En effet, différents types de connexion nécessitent différents jeux de propriétés. Une connexion d'un autre type utilise un ensemble distinct de valeurs de champs.

Pour plus d’informations sur les tables de hachage, voir À propos des tables de hachage.

$webServer = 'https://MyWebServer'
$port = 9090
$connectionName = 'MyConnection'
$fieldValues = @{"Username"="MyUser";"Password"="password";"ComputerName"="MyComputer"}
New-SmaConnection -WebServiceEndpoint $webServer -port $port -Name $connectionName -ConnectionTypeName "VirtualMachineManager" -ConnectionFieldValues $fieldValues

Utiliser une connexion dans un runbook

Utilisez l’activité Get-AutomationConnection pour utiliser une connexion dans un runbook. Cette activité récupère les valeurs des différents champs de la connexion et les retourne sous forme de table de hachage, qui peut ensuite être utilisée avec les commandes appropriées dans le runbook.

Pour plus d’informations sur les tables de hachage, voir À propos des tables de hachage.

L'exemple de code suivant montre comment utiliser une connexion afin de fournir le nom d'ordinateur et les informations d'identification pour un bloc InlineScript qui exécute des commandes sur un autre ordinateur.

$con = Get-AutomationConnection -Name 'MyConnection'
$securepassword = ConvertTo-SecureString -AsPlainText -String $con.Password -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $con.Username, $securepassword
InlineScript {
   <Commands>
} -PSComputerName $con.ComputerName -PSCredential $cred

Simplifier le développement de runbooks avec des variables globales

Les variables Automation sont des valeurs disponibles pour tous les runbooks. Vous pouvez créer, modifier et les récupérer à partir du portail de gestion, de Windows PowerShell ou d’un runbook. Les variables Automation sont utiles pour les scénarios suivants :

  • Partager une valeur entre plusieurs Runbooks.

  • Partager une valeur entre plusieurs travaux du même Runbook.

  • Gérer une valeur à partir du Portail de gestion ou de la ligne de commande Windows PowerShell utilisée par les Runbooks.

Les variables Automation sont conservées afin qu’elles continuent d’être disponibles même si le runbook échoue. Cela permet également de définir une valeur par un runbook qui est ensuite utilisé par un autre ou utilisé par le même runbook la prochaine fois qu’il est exécuté.

Quand une variable est créée, vous devez spécifier son type de données à partir de la liste suivante. Cela permet au portail de gestion d’afficher le contrôle approprié pour la valeur de la variable. Vous pouvez uniquement affecter une valeur du type approprié à une variable.

  • Chaîne

  • Integer

  • Boolean

  • Datetime

Quand une variable est créée, vous pouvez spécifier qu'elle doit être stockée de manière chiffrée. Lorsqu’une variable est chiffrée, elle est stockée en toute sécurité dans la base de données SMA et sa valeur ne peut pas être récupérée à partir de l’applet de commande Get-SmaVariable . La seule façon dont une valeur chiffrée peut être récupérée provient de l’activité Get-AutomationVariable dans un runbook. Vous pouvez stocker plusieurs valeurs du type défini sur une variable unique en créant une table de hachage.

Applets de commande Windows PowerShell

Vous pouvez créer et gérer des variables avec les applets de commande Windows PowerShell dans le tableau suivant.

Applets de commande Description
Get-SmaVariable Récupère la valeur d'une variable existante.
Set-SmaVariable Crée une variable ou définit la valeur d'une variable existante.

Activités de Runbook

Vous pouvez accéder à des variables dans un runbook avec les activités du tableau suivant.

Activités Description
Get-AutomationVariable Récupère la valeur d'une variable existante.
Set-AutomationVariable Définit la valeur d'une variable existante.

Remarque

Vous devez éviter d’utiliser des variables dans le paramètre Name de Get-AutomationVariable, car cela peut compliquer la découverte des dépendances entre les runbooks et les variables Automation.

Créer une variable dans le portail de gestion

  1. Sélectionnez l'espace de travail Automation .

  2. En haut de la fenêtre, sélectionnez Ressources.

  3. En bas de la fenêtre, sélectionnez Ajouter un paramètre.

  4. Sélectionnez Ajouter une variable.

  5. Dans la liste déroulante Type , sélectionnez un type de données.

  6. Entrez un nom pour la variable dans la zone Nom .

  7. Cliquez sur la flèche droite.

  8. Entrez une valeur pour la variable et spécifiez s’il faut le chiffrer.

  9. Sélectionnez la coche pour enregistrer la nouvelle variable.

Pour créer une variable avec Windows PowerShell

L'applet de commande Set-SmaVariable crée une variable et définit la valeur d'une variable existante. Les exemples de commandes suivants montrent comment créer une variable de type chaîne.

$web = 'https://MySMAServer'
$port = 9090

Set-SMAVariable -WebServiceEndpoint $web -Port $port -Name 'MyVariable' -Value 'My String'

Utiliser une variable dans un runbook

  • L'exemple de code suivant montre comment définir et récupérer une variable dans un Runbook. Dans cet exemple, il est supposé que les variables de type entier nommé NumberOfIterations et NumberOfRunnings et une variable de type chaîne nommée SampleMessage ont déjà été créées.

    $NumberOfIterations = Get-AutomationVariable -Name 'NumberOfIterations'
    $NumberOfRunnings = Get-AutomationVariable -Name 'NumberOfRunnings'
    $SampleMessage = Get-AutomationVariable -Name 'SampleMessage'
    Write-Output "Runbook has been run $NumberOfRunnings times."
    for ($i = 1; $i -le $NumberOfIterations; $i++) {
       Write-Output "$i`: $SampleMessage"
    }
    Set-AutomationVariable -Name NumberOfRunnings -Value (NumberOfRunnings += 1)
    

Étapes suivantes