

• Le AWS Systems Manager CloudWatch tableau de bord ne sera plus disponible après le 30 avril 2026. Les clients peuvent continuer à utiliser CloudWatch la console Amazon pour consulter, créer et gérer leurs CloudWatch tableaux de bord Amazon, comme ils le font aujourd'hui. Pour plus d'informations, consultez la [documentation Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# AWS Systems Manager Maintenance Windows
<a name="maintenance-windows"></a>

Maintenance Windows, un outil de AWS Systems Manager, vous aide à définir un calendrier indiquant quand effectuer des actions potentiellement perturbatrices sur vos nœuds, telles que l'application de correctifs à un système d'exploitation, la mise à jour de pilotes ou l'installation de logiciels ou de correctifs.

**Note**  
State Manager et Maintenance Windows peuvent effectuer certains types de mises à jour similaires sur vos nœuds gérés. Votre choix dépend de la nécessité d'automatiser la conformité du système ou d'effectuer des tâches hautement prioritaires et sensibles au temps pendant les périodes que vous spécifiez.  
Pour de plus amples informations, veuillez consulter [Choisir entre State Manager et Maintenance Windows](state-manager-vs-maintenance-windows.md).

Vous pouvez ainsi planifier des actions sur de nombreux autres types de AWS ressources, tels que les buckets Amazon Simple Storage Service (Amazon S3), les AWS Key Management Service files d'attente Amazon Simple AWS KMS Queue Service (Amazon SQS), les clés (), etc. Maintenance Windows 

Pour obtenir la liste complète des types de ressources pris en charge que vous pouvez inclure dans une cible de fenêtre de maintenance, consultez les [sections Ressources que vous pouvez utiliser avec Groupes de ressources AWS et Éditeur de balises](https://docs.aws.amazon.com/ARG/latest/userguide/supported-resources.html#supported-resources-console) dans le *guide de Groupes de ressources AWS l'utilisateur*. Pour vos premiers pas dans Maintenance Windows, ouvrez [Systems Manager console](https://console.aws.amazon.com//systems-manager/maintenance-windows). Dans le panneau de navigation, sélectionnez **Maintenance Windows**.

Chaque fenêtre de maintenance comporte un calendrier, une durée maximale, un ensemble de cibles enregistrées (les nœuds gérés ou autres AWS ressources sur lesquelles on agit) et un ensemble de tâches enregistrées. Vous pouvez ajouter des balises à vos fenêtres de maintenance lorsque vous les créez ou les mettez à jour. Les balises sont des clés qui facilitent l'identification et le tri de vos ressources au sein de votre organisation. Vous pouvez également spécifier les dates avant ou après lesquelles une fenêtre de maintenance ne doit pas s'exécuter, et vous pouvez sélectionner le fuseau horaire international pour la planification de la fenêtre de maintenance. 

Pour obtenir une explication des relations entre les différentes options liées à la planification pour les fenêtres de maintenance, consultez [Options de planification de la fenêtre de maintenance et de période active](maintenance-windows-schedule-options.md).

Pour de plus amples informations sur l'utilisation de l'option `--schedule`, veuillez consulter [Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md).

**Types de tâches pris en charge**  
Avec les fenêtres de maintenance, vous pouvez exécuter quatre types de tâches :
+ Commands inRun Command, un outil de Systems Manager

  Pour plus d’informations sur Run Command, consultez [AWS Systems Manager Run Command](run-command.md).
+ Flux de travail dans Automation, un outil de Systems Manager

  Pour de plus amples informations sur les flux de travail Automation, veuillez consulter [AWS Systems Manager Automatisation](systems-manager-automation.md).
+ Fonctions dans AWS Lambda

  Pour plus d'informations sur les fonctions Lambda, consultez [Mise en route avec Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) dans le *Guide du développeur AWS Lambda *.
+ Tâches dans AWS Step Functions
**Note**  
Les tâches de fenêtre de maintenance prennent uniquement en charge les flux de travail de machine d’état Standard Step Functions. Elles ne prennent pas en charge les flux de travail de machine d’état Express. Pour plus d’informations sur les types de flux de travail de machine d’état, consultez [Flux de travail Standard vs. Express](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html) dans le *Guide du développeur AWS Step Functions *.

  Pour plus d'informations sur Step Functions, consultez le *[Guide du développeur AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/)*.

Cela signifie que vous pouvez utiliser les fenêtres de maintenance pour effectuer les tâches suivantes sur vos cibles sélectionnées.
+ Installer ou mettre à jour des applications.
+ Appliquer des correctifs.
+ Installer ou mettre à jour l'SSM Agent.
+ Exécutez PowerShell des commandes et des scripts shell Linux à l'aide d'une Run Command tâche Systems Manager.
+ Créer des Amazon Machine Images (AMIs), amorcer des logiciels et configurer des nœuds à l'aide d'une tâche Systems Manager Automation.
+ Exécutez AWS Lambda des fonctions qui appellent des actions supplémentaires, telles que l'analyse de vos nœuds à la recherche de mises à jour de correctifs.
+ Exécutez des machines d' AWS Step Functions état pour effectuer des tâches telles que la suppression d'un nœud d'un environnement Elastic Load Balancing, l'application de correctifs au nœud, puis le réajout du nœud dans l'environnement Elastic Load Balancing.
+ Ciblez les nœuds hors ligne en spécifiant un groupe de AWS ressources comme cible.

**Note**  
Une ou plusieurs cibles doivent être spécifiées pour des tâches de fenêtre de maintenance de type Run Command. En fonction de la tâche, les cibles sont facultatives pour les autres types de tâches de la fenêtre de maintenance (Automation AWS Lambda, et AWS Step Functions). Pour de plus amples informations sur l'exécution de tâches qui ne spécifient pas de cibles, consultez [Enregistrement de tâches de fenêtre de maintenance sans cibles](maintenance-windows-targetless-tasks.md).

**EventBridge soutien**  
Cet outil Systems Manager est pris en charge en tant que type d'*événement* dans les EventBridge règles d'Amazon. Pour plus d’informations, consultez [Surveillance des événements de Systems Manager avec Amazon EventBridge](monitoring-eventbridge-events.md) et [Référence : modèles et types d' EventBridge événements Amazon pour Systems Manager](reference-eventbridge-events.md).

**Topics**
+ [Configuration de Maintenance Windows](setting-up-maintenance-windows.md)
+ [Création et gestion de fenêtres de maintenance à l’aide de la console](sysman-maintenance-working.md)
+ [Didacticiels](maintenance-windows-tutorials.md)
+ [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md)
+ [Options de planification de la fenêtre de maintenance et de période active](maintenance-windows-schedule-options.md)
+ [Enregistrement de tâches de fenêtre de maintenance sans cibles](maintenance-windows-targetless-tasks.md)
+ [Résolution des problèmes liés aux fenêtres de maintenance](troubleshooting-maintenance-windows.md)

# Configuration de Maintenance Windows
<a name="setting-up-maintenance-windows"></a>

Pour que les utilisateurs de votre Compte AWS puissent créer et planifier des tâches de fenêtre de maintenance à l’aide de Maintenance Windows, un des outils d’AWS Systems Manager, ils doivent bénéficier des autorisations nécessaires. De plus, vous devez créer un rôle de service IAM pour les fenêtres de maintenance ainsi que la politique IAM associée.

**Avant de commencer**  
Outre les autorisations que vous configurez dans cette section, les entités IAM (utilisateurs, rôles ou groupes) qui travailleront avec les fenêtres de maintenance devraient déjà disposer d’autorisations générales relatives aux fenêtres de maintenance. Vous pouvez accorder ces autorisations en attribuant la politique IAM `AmazonSSMFullAccess` aux entités, ou une politique IAM personnalisée qui fournit un ensemble plus restreint d’autorisations d’accès pour Systems Manager qui couvre les tâches de fenêtre de maintenance.

**Topics**
+ [Contrôler l’accès aux fenêtres de maintenance à l’aide de la console](configuring-maintenance-window-permissions-console.md)
+ [Contrôlez l'accès aux fenêtres de maintenance à l'aide du AWS CLI](configuring-maintenance-window-permissions-cli.md)

# Contrôler l’accès aux fenêtres de maintenance à l’aide de la console
<a name="configuring-maintenance-window-permissions-console"></a>

Les procédures suivantes décrivent comment utiliser la AWS Systems Manager console pour créer les autorisations et les rôles requis pour les fenêtres de maintenance.

**Topics**
+ [Tâche 1 : créer une politique personnalisée pour votre rôle de service de fenêtre de maintenance à l’aide de la console](#create-custom-policy-console)
+ [Tâche 2 : créer un rôle de service personnalisé pour les fenêtres de maintenance à l’aide de la console](#create-custom-role-console)
+ [Tâche 3 : accorder des autorisations aux utilisateurs spécifiés pour enregistrer les tâches de la fenêtre de maintenance à l’aide de la console](#allow-maintenance-window-access-console)
+ [Tâche 4 : empêcher les utilisateurs spécifiés d’enregistrer les tâches de la fenêtre de maintenance à l’aide de la console](#deny-maintenance-window-access-console)

## Tâche 1 : créer une politique personnalisée pour votre rôle de service de fenêtre de maintenance à l’aide de la console
<a name="create-custom-policy-console"></a>

Les tâches de la fenêtre de maintenance nécessitent un rôle IAM afin de fournir les autorisations requises pour s'exécuter sur les ressources cibles. Les autorisations sont fournies via une politique IAM attachée au rôle. Les types de tâches que vous exécutez et vos autres exigences opérationnelles déterminent le contenu de cette politique. Nous fournissons une politique de base que vous pouvez adapter à vos besoins. En fonction des tâches et des types de tâches exécutées par vos fenêtres de maintenance, il se peut que vous n'ayez pas besoin de toutes les autorisations de cette politique, et que vous deviez inclure des autorisations supplémentaires. Vous attachez cette politique au rôle que vous créez ultérieurement dans [Tâche 2 : créer un rôle de service personnalisé pour les fenêtres de maintenance à l’aide de la console](#create-custom-role-console).

**Pour créer une politique personnalisée à l’aide de la console**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le volet de navigation, sélectionnez **Politiques**, puis **Créer une politique**.

1. Dans la zone **Éditeur de politique**, sélectionnez **JSON**.

1. Remplacez le contenu par défaut par ce qui suit :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:SendCommand",
                   "ssm:CancelCommand",
                   "ssm:ListCommands",
                   "ssm:ListCommandInvocations",
                   "ssm:GetCommandInvocation",
                   "ssm:GetAutomationExecution",
                   "ssm:StartAutomationExecution",
                   "ssm:ListTagsForResource",
                   "ssm:DescribeInstanceInformation",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "states:DescribeExecution",
                   "states:StartExecution"
               ],
               "Resource": [
                   "arn:aws:states:*:*:execution:*:*",
                   "arn:aws:states:*:*:stateMachine:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:*:*:function:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "resource-groups:ListGroups",
                   "resource-groups:ListGroupResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/maintenance-window-role-name",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": [
                           "ssm.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Modifiez le contenu JSON en fonction des besoins des tâches de maintenance que vous exécutez dans votre compte. Les modifications que vous apportez sont spécifiques à vos opérations planifiées. 

   Par exemple :
   + Vous pouvez fournir des Amazon Resource Names (ARNs) pour des fonctions et des machines d'état spécifiques au lieu d'utiliser des qualificatifs génériques (\$1).
   + Si vous ne prévoyez pas d'exécuter AWS Step Functions des tâches, vous pouvez supprimer les `states` autorisations et (ARNs).
   + Si vous ne prévoyez pas d'exécuter AWS Lambda des tâches, vous pouvez supprimer les `lambda` autorisations et ARNs.
   + Si vous ne prévoyez pas d'exécuter des tâches d'automatisation, vous pouvez supprimer les autorisations `ssm:GetAutomationExecution` et `ssm:StartAutomationExecution`.
   + Ajoutez des autorisations supplémentaires qui peuvent être nécessaires à l'exécution des tâches. Par exemple, certaines actions Automation utilisent des piles AWS CloudFormation . Par conséquent, les autorisations `cloudformation:CreateStack`, `cloudformation:DescribeStacks` et `cloudformation:DeleteStack` sont requises. 

     Autre exemple, le runbook d'automatisation `AWS-CopySnapshot` requiert des autorisations pour créer un instantané Amazon Elastic Block Store (Amazon EBS). Par conséquent, la fonction du service a besoin de l'autorisation `ec2:CreateSnapshot`. 

     Pour plus d’informations sur les autorisations de rôle requises par les dossiers d’exploitation d’automatisation, consultez les descriptions du dossier d’exploitation dans la [référence du dossier d’exploitation de AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html).

1. Une fois les révisions de la politique terminées, choisissez **Suivant**.

1. Dans la zone **Nom de la politique**, saisissez un nom qui identifie la politique attachée au rôle de service que vous créez. Par exemple : **my-maintenance-window-role-policy**.

1. (Facultatif) Dans la zone **Ajouter des balises**, ajoutez une ou plusieurs paires clé-valeur de balises pour organiser, suivre ou contrôler l’accès à cette politique. 

1. Choisissez **Create Policy** (Créer une politique).

   Notez le nom que vous avez spécifié pour la politique. Vous y faites référence dans la procédure suivante, [Tâche 2 : créer un rôle de service personnalisé pour les fenêtres de maintenance à l’aide de la console](#create-custom-role-console).

## Tâche 2 : créer un rôle de service personnalisé pour les fenêtres de maintenance à l’aide de la console
<a name="create-custom-role-console"></a>

La politique que vous avez créée dans la tâche précédente est attachée au rôle de service de fenêtre de maintenance que vous créez dans cette tâche. Lorsque les utilisateurs enregistrent une tâche de fenêtre de maintenance, ils spécifient ce rôle IAM dans le cadre de la configuration de la tâche. Les autorisations de ce rôle permettent à Systems Manager d'exécuter des tâches dans les fenêtres de maintenance en votre nom.

**Important**  
Auparavant, la console Systems Manager vous permettait de choisir le rôle lié au service IAM AWS géré `AWSServiceRoleForAmazonSSM` à utiliser comme rôle de maintenance pour vos tâches. L'utilisation de ce rôle et de la politique associée, `AmazonSSMServiceRolePolicy`, pour les tâches de la fenêtre de maintenance n'est plus recommandée. Si vous utilisez ce rôle pour des tâches de fenêtre de maintenance maintenant, nous vous encourageons à cesser de l'utiliser. Créez plutôt votre propre rôle IAM qui permet la communication entre Systems Manager et d'autres acteurs Services AWS lorsque les tâches de votre fenêtre de maintenance s'exécutent.

Utilisez la procédure suivante pour créer un rôle de service personnalisé pour les Maintenance Windows, afin que Systems Manager puisse exécuter des tâches Maintenance Windows en votre nom. Vous attachez la politique que vous avez créée dans la tâche précédente au rôle de service que vous créez.

**Pour créer un rôle de service personnalisé pour les fenêtres de maintenance à l’aide de la console**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le volet de navigation, sélectionnez **Rôles**, puis **Créer un rôle**.

1. Pour **Select trusted entity** (Sélectionner une entité de confiance), effectuez les choix suivants :

   1. Pour **Type d’entité de confiance**, choisissez **Service AWS **.

   1. Pour **Cas d’utilisation**, choisissez **Systems Manager**

   1. Sélectionnez **Systems Manager**.

      L’image suivante met en évidence l’emplacement de l’option Systems Manager.  
![\[Systems Manager est l’une des options du cas d’utilisation.\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/iam_use_cases_for_MWs.png)

1. Choisissez **Suivant**. 

1. Dans la zone **Politiques d’autorisation**, dans le champ de recherche, saisissez le nom de la politique que vous avez créée dans [Tâche 1 : créer une politique personnalisée pour votre rôle de service de fenêtre de maintenance à l’aide de la console](#create-custom-policy-console), cochez la case en regard de son nom, puis sélectionnez **Suivant**.

1. Dans **Role name** (Nom du rôle), saisissez un nom qui identifie celui-ci en tant que rôle Maintenance Windows. Par exemple : **my-maintenance-window-role**.

1. (Facultatif) Modifiez la description du rôle par défaut pour refléter l'objectif de ce rôle. Par exemple : **Performs maintenance window tasks on your behalf**.

1. Pour **Étape 1 : sélectionner les entités approuvées**, vérifiez que la politique suivante est affichée dans la zone **Politique d’approbation**.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "ssm.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Pour **Étape 2 : ajouter des autorisations**, vérifiez que la politique que vous avez créée dans [Tâche 1 : créer une politique personnalisée pour votre rôle de service de fenêtre de maintenance à l’aide de la console](#create-custom-policy-console) est présente.

1. (Facultatif) Dans **Étape 3 : ajouter des balises**, ajoutez une ou plusieurs paires clé-valeur de balises pour organiser, suivre ou contrôler l’accès pour ce rôle. 

1. Sélectionnez **Créer un rôle**. Le système vous renvoie à la page **Rôles**.

1. Sélectionnez le nom du rôle IAM que vous venez de créer.

1. Copier le nom du rôle et notez le nom de rôle et la valeur de l'**ARN** de la zone **Summary** (Récapitulatif). Les utilisateurs de votre compte spécifient ces informations lorsqu'ils créent des fenêtres de maintenance.

## Tâche 3 : accorder des autorisations aux utilisateurs spécifiés pour enregistrer les tâches de la fenêtre de maintenance à l’aide de la console
<a name="allow-maintenance-window-access-console"></a>

L’octroi aux utilisateurs d’autorisations pour accéder au rôle de service personnalisé de la fenêtre de maintenance leur permet de l’utiliser avec leurs tâches de fenêtre de maintenance. Cela s’ajoute aux autorisations que vous leur avez déjà accordées pour travailler avec les commandes de l’API Systems Manager pour l’outil Maintenance Windows. Ce rôle IAM indique les autorisations nécessaires pour exécuter une tâche de fenêtre de maintenance. Par conséquent, un utilisateur ne peut pas enregistrer de tâches avec une fenêtre de maintenance à l’aide de votre rôle de service personnalisé s’il n’a pas la possibilité de transmettre ces autorisations IAM.

Lorsque vous enregistrez une tâche avec une fenêtre de maintenance, vous spécifiez un rôle de service pour exécuter les opérations de la tâche. C'est le rôle que le service endossera lorsqu'il exécutera des tâches en votre nom. Avant cela, pour enregistrer la tâche elle-même, affectez la politique `PassRole` IAM à une entité IAM (comme un compte ou un groupe). Cela permet à l’entité IAM de spécifier, lors de l’enregistrement de ces tâches dans la fenêtre de maintenance, le rôle à utiliser lors de l’exécution des tâches. Pour en savoir plus, reportez-vous à [Octroi d’autorisations à un utilisateur pour transférer un rôle à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dans le *Guide de l’utilisateur IAM*.

**Pour configurer les autorisations permettant aux utilisateurs d’enregistrer les tâches de la fenêtre de maintenance**

Si une entité IAM (utilisateur, rôle ou groupe) est configurée avec des autorisations d’administrateur, l’utilisateur ou le rôle IAM a accès aux fenêtres de maintenance. Pour les entités IAM sans autorisations d'administrateur, un administrateur doit accorder les autorisations suivantes à l'entité IAM. Voici les autorisations minimales requises pour enregistrer des tâches dans une fenêtre de maintenance :
+ La politique gérée `AmazonSSMFullAccess`, ou une politique qui fournit des autorisations comparables.
+ Les autorisations `iam:PassRole` et `iam:ListRoles` suivantes.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "iam:PassRole",
              "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
          },
          {
              "Effect": "Allow",
              "Action": "iam:ListRoles",
              "Resource": "arn:aws:iam::111122223333:role/"
          },
          {
              "Effect": "Allow",
              "Action": "iam:ListRoles",
              "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
          }
      ]
  }
  ```

------

  *my-maintenance-window-role*représente le nom du rôle de service de fenêtre de maintenance personnalisé que vous avez créé précédemment.

  *account-id*représente l'identifiant de votre Compte AWS. L'ajout de cette autorisation pour la ressource `arn:aws:iam::account-id:role/` permet à un utilisateur d'afficher et de choisir parmi les rôles client dans la console lorsqu'il crée une tâche de fenêtre de maintenance. L'ajout de cette autorisation pour `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` permet à un utilisateur de choisir le rôle lié au service Systems Manager dans la console lorsqu'il crée une tâche de fenêtre de maintenance. 

  Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
  + Utilisateurs et groupes dans AWS IAM Identity Center :

    Créez un jeu d’autorisations. Suivez les instructions de la rubrique [Création d’un jeu d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) du *Guide de l’utilisateur AWS IAM Identity Center *.
  + Utilisateurs gérés dans IAM par un fournisseur d’identité :

    Créez un rôle pour la fédération d’identité. Suivez les instructions de la rubrique [Création d’un rôle pour un fournisseur d’identité tiers (fédération)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dans le *Guide de l’utilisateur IAM*.
  + Utilisateurs IAM :
    + Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la rubrique [Création d’un rôle pour un utilisateur IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.
    + (Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la rubrique [Ajout d’autorisations à un utilisateur (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) du *Guide de l’utilisateur IAM*.

**Pour configurer des autorisations pour les groupes autorisés à enregistrer des tâches de fenêtre de maintenance en utilisant la console**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, sélectionnez **User groups** (Groupes d'utilisateurs).

1. Dans la liste des groupes, sélectionnez le nom du groupe auquel vous voulez attribuer l’autorisation `iam:PassRole`, ou créez d’abord un nouveau groupe si nécessaire 

1. Sous l'onglet **Permissions** (Autorisations), sélectionnez **Add permissions, create inline policy** (Ajouter des autorisations, Créer une politique en ligne).

1. Dans la zone **Éditeur de politique**, sélectionnez **JSON** et remplacez le contenu par défaut de la boîte par ce qui suit.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
           }
       ]
   }
   ```

------

   *my-maintenance-window-role*représente le nom du rôle de fenêtre de maintenance personnalisé que vous avez créé précédemment.

   *account-id*représente l'identifiant de votre Compte AWS. L'ajout de cette autorisation pour la ressource `arn:aws:iam::account-id:role/` permet à un utilisateur d'afficher et de choisir parmi les rôles client dans la console lorsqu'il crée une tâche de fenêtre de maintenance. L'ajout de cette autorisation pour `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` permet à un utilisateur de choisir le rôle lié au service Systems Manager dans la console lorsqu'il crée une tâche de fenêtre de maintenance. 

1. Choisissez **Suivant**.

1. Sur la page **Vérifier et créer**, saisissez un nom dans la zone **Nom de la politique** pour identifier la politique `PassRole`, tel que **my-group-iam-passrole-policy**, puis sélectionnez **Créer une politique**.

## Tâche 4 : empêcher les utilisateurs spécifiés d’enregistrer les tâches de la fenêtre de maintenance à l’aide de la console
<a name="deny-maintenance-window-access-console"></a>

Vous pouvez refuser l'`ssm:RegisterTaskWithMaintenanceWindow`autorisation aux utilisateurs de votre site Compte AWS auxquels vous ne souhaitez pas enregistrer des tâches dans les fenêtres de maintenance. Cela fournit une couche de prévention supplémentaire pour les utilisateurs qui ne devraient pas enregistrer les tâches de la fenêtre de maintenance.

**Pour configurer des autorisations pour les groupes qui ne sont pas autorisés à enregistrer des tâches de fenêtre de maintenance en utilisant la console**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, sélectionnez **User groups** (Groupes d'utilisateurs).

1. Dans la liste des groupes, sélectionnez le nom du groupe auquel vous voulez refuser l’autorisation `ssm:RegisterTaskWithMaintenanceWindow`, ou créez d’abord un nouveau groupe si nécessaire.

1. Sous l'onglet **Permissions** (Autorisations), sélectionnez **Add permissions, create inline policy** (Ajouter des autorisations, Créer une politique en ligne).

1. Dans la zone **Éditeur de politique**, choisissez **JSON**, puis remplacez le contenu par défaut de la boîte par ce qui suit.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "ssm:RegisterTaskWithMaintenanceWindow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Choisissez **Suivant**.

1. Sur la page **Vérifier et créer**, saisissez un nom dans la zone **Nom de la politique** pour identifier cette politique, tel que **my-groups-deny-mw-tasks-policy**, puis sélectionnez **Créer une politique**.

# Contrôlez l'accès aux fenêtres de maintenance à l'aide du AWS CLI
<a name="configuring-maintenance-window-permissions-cli"></a>

Les procédures suivantes décrivent comment utiliser le AWS Command Line Interface (AWS CLI) pour créer les autorisations et les rôles requis pour Maintenance Windows un outil dans AWS Systems Manager.

**Topics**
+ [Tâche 1 : créer des fichiers de politique d’approbation et de politique gérée par le client au format JSON](#create-custom-policy-json-files-cli)
+ [Tâche 2 : créer et vérifier un rôle de service personnalisé pour les fenêtres de maintenance à l'aide du AWS CLI](#create-custom-role-cli)
+ [Tâche 3 : accorder des autorisations aux utilisateurs spécifiés pour enregistrer les tâches de la fenêtre de maintenance à l'aide du AWS CLI](#allow-maintenance-window-access-cli)
+ [Tâche 4 : Empêcher les utilisateurs spécifiés d'enregistrer les tâches de la fenêtre de maintenance à l'aide du AWS CLI](#deny-maintenance-window-access-cli)

## Tâche 1 : créer des fichiers de politique d’approbation et de politique gérée par le client au format JSON
<a name="create-custom-policy-json-files-cli"></a>

Les tâches de la fenêtre de maintenance nécessitent un rôle IAM afin de fournir les autorisations requises pour s'exécuter sur les ressources cibles. Les autorisations sont fournies via une politique IAM attachée au rôle. Les types de tâches que vous exécutez et vos autres exigences opérationnelles déterminent le contenu de cette politique. Nous fournissons une politique de base que vous pouvez adapter à vos besoins. En fonction des tâches et des types de tâches exécutées par vos fenêtres de maintenance, il se peut que vous n'ayez pas besoin de toutes les autorisations de cette politique, et que vous deviez inclure des autorisations supplémentaires. 

Dans cette tâche, vous spécifiez les autorisations nécessaires pour votre rôle de fenêtre de maintenance personnalisé dans une paire de fichiers JSON. Vous attachez cette politique au rôle que vous créez ultérieurement dans [Tâche 2 : créer et vérifier un rôle de service personnalisé pour les fenêtres de maintenance à l'aide du AWS CLI](#create-custom-role-cli). 

**Pour créer des fichiers de politique d’approbation et de politique gérée par le client**

1. Copiez et collez la politique d'approbation suivante dans un fichier texte. Enregistrez ce fichier avec le nom et l’extension de fichier suivants : **mw-role-trust-policy.json**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "ssm.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Copiez et collez la politique JSON suivante dans un autre fichier texte. Dans le même répertoire où vous avez créé le premier fichier, enregistrez ce fichier avec le nom et l’extension de fichier suivants : **mw-role-custom-policy.json**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:SendCommand",
                   "ssm:CancelCommand",
                   "ssm:ListCommands",
                   "ssm:ListCommandInvocations",
                   "ssm:GetCommandInvocation",
                   "ssm:GetAutomationExecution",
                   "ssm:StartAutomationExecution",
                   "ssm:ListTagsForResource",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "states:DescribeExecution",
                   "states:StartExecution"
               ],
               "Resource": [
                   "arn:aws:states:*:*:execution:*:*",
                   "arn:aws:states:*:*:stateMachine:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:*:*:function:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "resource-groups:ListGroups",
                   "resource-groups:ListGroupResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/maintenance-window-role-name",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": [
                           "ssm.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Modifiez le contenu de `mw-role-custom-policy.json` en fonction des besoins des tâches de maintenance que vous exécutez dans votre compte. Les modifications que vous apportez sont spécifiques à vos opérations planifiées. 

   Par exemple :
   + Vous pouvez fournir des Amazon Resource Names (ARNs) pour des fonctions et des machines d'état spécifiques au lieu d'utiliser des qualificatifs génériques (\$1).
   + Si vous ne prévoyez pas d'exécuter AWS Step Functions des tâches, vous pouvez supprimer les `states` autorisations et (ARNs).
   + Si vous ne prévoyez pas d'exécuter AWS Lambda des tâches, vous pouvez supprimer les `lambda` autorisations et ARNs.
   + Si vous ne prévoyez pas d'exécuter des tâches d'automatisation, vous pouvez supprimer les autorisations `ssm:GetAutomationExecution` et `ssm:StartAutomationExecution`.
   + Ajoutez des autorisations supplémentaires qui peuvent être nécessaires à l'exécution des tâches. Par exemple, certaines actions Automation utilisent des piles AWS CloudFormation . Par conséquent, les autorisations `cloudformation:CreateStack`, `cloudformation:DescribeStacks` et `cloudformation:DeleteStack` sont requises. 

     Autre exemple, le runbook d'automatisation `AWS-CopySnapshot` requiert des autorisations pour créer un instantané Amazon Elastic Block Store (Amazon EBS). Par conséquent, la fonction du service a besoin de l'autorisation `ec2:CreateSnapshot`. 

     Pour plus d’informations sur les autorisations de rôle requises par les dossiers d’exploitation d’automatisation, consultez les descriptions du dossier d’exploitation dans la [référence du dossier d’exploitation de AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html).

   Enregistrez à nouveau le fichier après avoir effectué les modifications nécessaires.

## Tâche 2 : créer et vérifier un rôle de service personnalisé pour les fenêtres de maintenance à l'aide du AWS CLI
<a name="create-custom-role-cli"></a>

La politique que vous avez créée dans la tâche précédente est attachée au rôle de service de fenêtre de maintenance que vous créez dans cette tâche. Lorsque les utilisateurs enregistrent une tâche de fenêtre de maintenance, ils spécifient ce rôle IAM dans le cadre de la configuration de la tâche. Les autorisations de ce rôle permettent à Systems Manager d'exécuter des tâches dans les fenêtres de maintenance en votre nom.

**Important**  
Auparavant, la console Systems Manager vous permettait de choisir le rôle lié au service IAM AWS géré `AWSServiceRoleForAmazonSSM` à utiliser comme rôle de maintenance pour vos tâches. L'utilisation de ce rôle et de la politique associée, `AmazonSSMServiceRolePolicy`, pour les tâches de la fenêtre de maintenance n'est plus recommandée. Si vous utilisez ce rôle pour des tâches de fenêtre de maintenance maintenant, nous vous encourageons à cesser de l'utiliser. Créez plutôt votre propre rôle IAM qui permet la communication entre Systems Manager et les autres Services AWS lorsque les tâches de votre fenêtre de maintenance sont exécutées.

Dans cette tâche, vous exécutez des commandes CLI pour créer votre rôle de service pour les fenêtres de maintenance, en ajoutant le contenu de la politique à partir des fichiers JSON que vous avez créés. 

**Créez un rôle de service personnalisé pour les fenêtres de maintenance à l'aide du AWS CLI**

1. Ouvrez le AWS CLI et exécutez la commande suivante dans le répertoire où vous avez placé `mw-role-custom-policy.json` et`mw-role-trust-policy.json`. La commande crée un rôle de service de fenêtre de maintenance appelé `my-maintenance-window-role` et y attache la *politique d’approbation*.

------
#### [ Linux & macOS ]

   ```
   aws iam create-role \
       --role-name "my-maintenance-window-role" \
       --assume-role-policy-document file://mw-role-trust-policy.json
   ```

------
#### [ Windows ]

   ```
   aws iam create-role ^
       --role-name "my-maintenance-window-role" ^
       --assume-role-policy-document file://mw-role-trust-policy.json
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "Role": {
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17", 		 	 	 		 	 	 
               "Statement": [
                   {
                       "Action": "sts:AssumeRole",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "ssm.amazonaws.com"
                       }
                   }
               ]
           },
           "RoleId": "AROAIIZKPBKS2LEXAMPLE",
           "CreateDate": "2024-08-19T03:40:17.373Z",
           "RoleName": "my-maintenance-window-role",
           "Path": "/",
           "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role"
       }
   }
   ```
**Note**  
Notez les valeurs de `RoleName` et `Arn`. Vous les incluez dans la commande suivante.

1. Exécutez la commande suivante pour attacher la *politique gérée par le client* au rôle. Remplacez l'*account-id*espace réservé par votre propre identifiant Compte AWS 

------
#### [ Linux & macOS ]

   ```
   aws iam attach-role-policy \
       --role-name "my-maintenance-window-role" \
       --policy-arn "arn:aws:iam::account-id:policy/mw-role-custom-policy.json"
   ```

------
#### [ Windows ]

   ```
   aws iam attach-role-policy ^
       --role-name "my-maintenance-window-role" ^
       --policy-arn "arn:aws:iam::account-id:policy/mw-role-custom-policy.json"
   ```

------

1. Exécutez la commande suivante pour vérifier que votre rôle a été créé et que la politique d’approbation a été attachée.

   ```
   aws iam get-role --role-name my-maintenance-window-role
   ```

   La commande renvoie des informations semblables à ce qui suit :

   ```
   {
       "Role": {
           "Path": "/",
           "RoleName": "my-maintenance-window-role",
           "RoleId": "AROA123456789EXAMPLE",
           "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role",
           "CreateDate": "2024-08-19T14:13:32+00:00",
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17", 		 	 	 		 	 	 
               "Statement": [
                   {
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "ssm.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole"
                   }
               ]
           },
           "MaxSessionDuration": 3600,
           "RoleLastUsed": {
               "LastUsedDate": "2024-08-19T14:30:44+00:00",
               "Region": "us-east-2"
           }
       }
   }
   ```

1. Exécutez la commande suivante pour vérifier que la politique gérée par le client a été attachée au rôle.

   ```
   aws iam list-attached-role-policies --role-name my-maintenance-window-role
   ```

   La commande renvoie des informations semblables à ce qui suit :

   ```
   {
       "AttachedPolicies": [
           {
               "PolicyName": "mw-role-custom-policy",
               "PolicyArn": "arn:aws:iam::123456789012:policy/mw-role-custom-policy"
           }
       ]
   }
   ```

## Tâche 3 : accorder des autorisations aux utilisateurs spécifiés pour enregistrer les tâches de la fenêtre de maintenance à l'aide du AWS CLI
<a name="allow-maintenance-window-access-cli"></a>

L’octroi aux utilisateurs d’autorisations pour accéder au rôle de service personnalisé de la fenêtre de maintenance leur permet de l’utiliser avec leurs tâches de fenêtre de maintenance. Cela s’ajoute aux autorisations que vous leur avez déjà accordées pour travailler avec les commandes de l’API Systems Manager pour l’outil Maintenance Windows. Ce rôle IAM indique les autorisations nécessaires pour exécuter une tâche de fenêtre de maintenance. Par conséquent, un utilisateur ne peut pas enregistrer de tâches avec une fenêtre de maintenance à l’aide de votre rôle de service personnalisé s’il n’a pas la possibilité de transmettre ces autorisations IAM.

Lorsque vous enregistrez une tâche avec une fenêtre de maintenance, vous spécifiez un rôle de service pour exécuter les opérations de la tâche. C'est le rôle que le service endossera lorsqu'il exécutera des tâches en votre nom. Avant cela, pour enregistrer la tâche elle-même, affectez la politique `PassRole` IAM à une entité IAM (comme un compte ou un groupe). Cela permet à l’entité IAM de spécifier, lors de l’enregistrement de ces tâches dans la fenêtre de maintenance, le rôle à utiliser lors de l’exécution des tâches. Pour en savoir plus, reportez-vous à [Octroi d’autorisations à un utilisateur pour transférer un rôle à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dans le *Guide de l’utilisateur IAM*.

**Pour configurer les autorisations pour les utilisateurs autorisés à enregistrer les tâches de la fenêtre de maintenance à l'aide du AWS CLI**

1. Copiez et collez la politique Gestion des identités et des accès AWS (IAM) suivante dans un éditeur de texte et enregistrez-la sous le nom et l'extension de fichier suivants :`mw-passrole-policy.json`.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
           }
       ]
   }
   ```

------

   *my-maintenance-window-role*Remplacez-le par le nom du rôle de fenêtre de maintenance personnalisé que vous avez créé précédemment.

   Remplacez *account-id* par l'identifiant de votre Compte AWS. L'ajout de cette autorisation pour la ressource `arn:aws:iam::account-id:role/` permet aux utilisateurs du groupe d'afficher et de choisir parmi les rôles clients dans la console lorsqu'ils créent une tâche de fenêtre de maintenance. L'ajout de cette autorisation pour `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` permet aux utilisateurs du groupe de choisir le rôle lié au service Systems Manager dans la console lorsqu'ils créent une tâche de fenêtre de maintenance. 

1. Ouvrez le AWS CLI.

1. Selon que vous attribuez l’autorisation à une entité IAM (utilisateur ou groupe), exécutez l’une des commandes suivantes.
   + **Pour une entité IAM :**

------
#### [ Linux & macOS ]

     ```
     aws iam put-user-policy \
         --user-name "user-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-user-policy ^
         --user-name "user-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Pour*user-name*, spécifiez l'utilisateur qui affecte les tâches aux fenêtres de maintenance. Pour*policy-name*, spécifiez le nom que vous souhaitez utiliser pour identifier la politique, par exemple**my-iam-passrole-policy**. Pour*path-to-document*, spécifiez le chemin d'accès au fichier que vous avez enregistré à l'étape 1. Par exemple : `file://C:\Temp\mw-passrole-policy.json`
**Note**  
Pour autoriser un utilisateur à enregistrer des tâches pour les fenêtres de maintenance à l’aide de la console Systems Manager, vous devez également affecter la politique `AmazonSSMFullAccess` à votre compte (ou une politique IAM qui fournit un ensemble plus petit d’autorisations d’accès pour Systems Manager qui couvre les tâches de la fenêtre de maintenance). Exécutez la commande suivante pour attribuer la politique `AmazonSSMFullAccess` à votre utilisateur.  

     ```
     aws iam attach-user-policy \
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \
         --user-name "user-name"
     ```

     ```
     aws iam attach-user-policy ^
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^
         --user-name "user-name"
     ```
   + **Pour un groupe IAM** :

------
#### [ Linux & macOS ]

     ```
     aws iam put-group-policy \
         --group-name "group-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-group-policy ^
         --group-name "group-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Pour*group-name*, spécifiez le groupe dont les membres attribuent des tâches aux fenêtres de maintenance. Pour*policy-name*, spécifiez le nom que vous souhaitez utiliser pour identifier la politique, par exemple**my-iam-passrole-policy**. Pour*path-to-document*, spécifiez le chemin d'accès au fichier que vous avez enregistré à l'étape 1. Par exemple : `file://C:\Temp\mw-passrole-policy.json`
**Note**  
Pour autoriser les membres d'un groupe à enregistrer des tâches pour les fenêtres de maintenance à l'aide de la console Systems Manager, vous devez également affecter la politique `AmazonSSMFullAccess` à votre groupe. Exécutez la commande suivante pour attribuer cette politique à votre groupe.  

     ```
     aws iam attach-group-policy \
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \
         --group-name "group-name"
     ```

     ```
     aws iam attach-group-policy ^
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^
         --group-name "group-name"
     ```

1. Exécutez la commande suivante pour vérifier que la politique a bien été attribuée au groupe.

------
#### [ Linux & macOS ]

   ```
   aws iam list-group-policies \
       --group-name "group-name"
   ```

------
#### [ Windows ]

   ```
   aws iam list-group-policies ^
       --group-name "group-name"
   ```

------

## Tâche 4 : Empêcher les utilisateurs spécifiés d'enregistrer les tâches de la fenêtre de maintenance à l'aide du AWS CLI
<a name="deny-maintenance-window-access-cli"></a>

Vous pouvez refuser l'`ssm:RegisterTaskWithMaintenanceWindow`autorisation aux utilisateurs de votre site Compte AWS auxquels vous ne souhaitez pas enregistrer des tâches dans les fenêtres de maintenance. Cela fournit une couche de prévention supplémentaire pour les utilisateurs qui ne devraient pas enregistrer les tâches de la fenêtre de maintenance.

Selon que vous refusez l'autorisation `ssm:RegisterTaskWithMaintenanceWindow` à un utilisateur individuel ou à un groupe, utilisez l'une des procédures suivantes pour empêcher les utilisateurs d'enregistrer des tâches avec une fenêtre de maintenance. 

**Pour configurer les autorisations pour les utilisateurs qui ne sont pas autorisés à enregistrer les tâches de la fenêtre de maintenance à l'aide du AWS CLI**

1. Copiez et collez la politique IAM suivante dans un éditeur de texte et enregistrez-la avec le nom et l'extension suivants : **deny-mw-tasks-policy.json**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "ssm:RegisterTaskWithMaintenanceWindow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Ouvrez le AWS CLI.

1. Selon que vous attribuez l’autorisation à une entité IAM (utilisateur ou groupe), exécutez l’une des commandes suivantes.
   + **Pour un utilisateur :**

------
#### [ Linux & macOS ]

     ```
     aws iam put-user-policy \
         --user-name "user-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-user-policy ^
         --user-name "user-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Pour*user-name*, spécifiez l'utilisateur pour empêcher l'attribution de tâches aux fenêtres de maintenance. Pour*policy-name*, spécifiez le nom que vous souhaitez utiliser pour identifier la politique, par exemple**my-deny-mw-tasks-policy**. Pour*path-to-document*, spécifiez le chemin d'accès au fichier que vous avez enregistré à l'étape 1. Par exemple : `file://C:\Temp\deny-mw-tasks-policy.json`
   + **Pour un groupe :**

------
#### [ Linux & macOS ]

     ```
     aws iam put-group-policy \
         --group-name "group-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-group-policy ^
         --group-name "group-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Pour*group-name*, spécifiez le groupe dont vous souhaitez empêcher l'attribution de tâches aux fenêtres de maintenance. Pour*policy-name*, spécifiez le nom que vous souhaitez utiliser pour identifier la politique, par exemple**my-deny-mw-tasks-policy**. Pour*path-to-document*, spécifiez le chemin d'accès au fichier que vous avez enregistré à l'étape 1. Par exemple : `file://C:\Temp\deny-mw-tasks-policy.json`

1. Exécutez la commande suivante pour vérifier que la politique a bien été attribuée au groupe.

------
#### [ Linux & macOS ]

   ```
   aws iam list-group-policies \
       --group-name "group-name"
   ```

------
#### [ Windows ]

   ```
   aws iam list-group-policies ^
       --group-name "group-name"
   ```

------

# Création et gestion de fenêtres de maintenance à l’aide de la console
<a name="sysman-maintenance-working"></a>

Cette section explique comment créer, configurer, mettre à jour et supprimer des fenêtres de maintenance à l'aide de la AWS Systems Manager console. Cette section fournit également des informations sur la gestion des cibles et des tâches d'une fenêtre de maintenance.

**Important**  
Nous vous recommandons de créer et de configurer au préalable des fenêtres de maintenance dans un environnement de test. 

**Avant de commencer**  
Avant de créer une fenêtre de maintenance, vous devez configurer l'accès à Maintenance Windows un outil dans AWS Systems Manager. Pour de plus amples informations, veuillez consulter [Configuration de Maintenance Windows](setting-up-maintenance-windows.md).

**Topics**
+ [Création d’une fenêtre de maintenance à l’aide de la console](sysman-maintenance-create-mw.md)
+ [Affectation de cibles à une fenêtre de maintenance à l’aide de la console](sysman-maintenance-assign-targets.md)
+ [Affectation de tâches à une fenêtre de maintenance à l’aide de la console](sysman-maintenance-assign-tasks.md)
+ [Désactivation ou activation d’une fenêtre de maintenance à l’aide de la console](sysman-maintenance-disable.md)
+ [Mise à jour ou suppression des ressources de fenêtre de maintenance à l’aide de la console](sysman-maintenance-update.md)

# Création d’une fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-create-mw"></a>

Dans cette procédure, vous créez une fenêtre de maintenance dans Maintenance Windows, un outil d’ AWS Systems Manager. Vous pouvez spécifier ses options de base, telles que le nom, la planification et la durée. Dans les étapes ultérieures, vous allez choisir les cibles, ou les ressources, qu'elle met à jour, ainsi que les tâches qui s'exécutent lors de l'exécution de cette fenêtre de maintenance.

**Note**  
Pour obtenir une explication des relations entre les différentes options liées à la planification pour les fenêtres de maintenance, consultez [Options de planification de la fenêtre de maintenance et de période active](maintenance-windows-schedule-options.md).  
Pour de plus amples informations sur l'utilisation de l'option `--schedule`, consultez [Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md).

**Pour créer une fenêtre de maintenance à l’aide de la console**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. Sélectionnez **Create maintenance window (Créer une fenêtre de maintenance)**.

1. Pour **Name (Nom)**, saisissez un nom évocateur pour vous aider à identifier cette fenêtre de maintenance.

1. (Facultatif) Pour **Description**, saisissez une description pour définir la façon dont cette fenêtre de maintenance sera utilisée.

1. (Facultatif) Si vous souhaitez autoriser l'exécution d'une tâche de fenêtre de maintenance sur des nœuds gérés, même si vous n'avez pas enregistré ces nœuds comme cibles, sélectionnez **Allow unregistered targets** (Autoriser les cibles non enregistrées). 

   Lorsque vous sélectionnez cette option, vous pouvez sélectionner les nœuds non enregistrés (par ID de nœud) lorsque vous enregistrez une tâche auprès de la fenêtre de maintenance. 

   Si vous ne sélectionnez pas cette option, vous devez choisir des cibles enregistrées au préalable lorsque vous enregistrez une tâche avec la fenêtre de maintenance.

1. Spécifiez un programme pour la fenêtre de maintenance à l'aide d'une des trois options de programmation.

   Pour plus d'informations sur la création d' cron/rate expressions, consultez[Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md).

1. Pour **Durée**, entrez le nombre d'heures pendant lequel la fenêtre de maintenance devra s'exécuter. La valeur que vous spécifiez détermine l'heure de fin de la fenêtre de maintenance en fonction de l'heure de démarrage. Aucune tâche de fenêtre de maintenance n'est autorisée à démarrer après l'heure de fin résultante moins le nombre d'heures que vous spécifiez pour **Stop initiating tasks (Arrêt de l'initialisation de tâches)** à l'étape suivante.

   Par exemple, si la fenêtre de maintenance commence à 15 h, que la durée est de trois heures et que la valeur de **Stop initiating tasks (Arrêt de l'initialisation de tâches)** est d'une heure, aucune tâche de fenêtre de maintenance ne peut commencer après 17 h.

1. Dans le champ **Stop initiating tasks (Arrêter le lancement des tâches)**, entrez le nombre d'heures avant la fin de la fenêtre de maintenance pendant lequel le système doit cesser de planifier l'exécution de nouvelles tâches.

1. (Facultatif) Pour **Window start date** (Fenêtre de date de début), spécifiez la date et l'heure, au format ISO-8601 étendu, où vous voulez que la fenêtre de maintenance devienne active. Cela vous permet de retarder l'activation de la fenêtre de maintenance jusqu'à la date ultérieure spécifiée.
**Note**  
Vous ne pouvez pas spécifier une date et une heure de début antérieures à l’heure et à la date actuelles.

1. (Facultatif) Pour **Window start date** (Fenêtre de date de début), spécifiez la date et l'heure, au format ISO-8601 étendu, où vous voulez que la fenêtre de maintenance devienne inactive. Cela vous permet de définir une date et une heure futures après lesquelles la fenêtre de maintenance ne s'exécutera plus.

1. (Facultatif) Dans **Schedule timezone** (Fuseau horaire de planification), indiquez le fuseau horaire sur lequel doit se baser l'exécution des fenêtres de maintenance planifiées, au format IANA (Internet Assigned Numbers Authority). Par exemple : « America/Los\$1Angeles", "etc/UTC", or "Asia/Seoul ».

   Pour plus d'informations sur les formats valides, consultez [Time Zone Database](https://www.iana.org/time-zones) sur le site web de l'IANA.

1. (Facultatif) Pour **Schedule offset** (Décalage de planification), saisissez le nombre de jours à attendre après la date et l'heure spécifiées par une expression cron ou rate avant d'exécuter la fenêtre de maintenance. Vous pouvez spécifier une valeur entre un et six jours.
**Note**  
Cette option n'est disponible que si vous avez spécifié une planification en saisissant manuellement une expression cron ou rate.

1. (Facultatif) Dans la zone **Gérer les balises**, appliquez une ou plusieurs name/value paires de clés de balise à la fenêtre de maintenance.

   Les balises sont des métadonnées facultatives que vous affectez à une ressource. Les balises vous permettent de classer une ressource de différentes façons, par exemple, par objectif, par propriétaire ou par environnement. Par exemple, vous pouvez baliser une fenêtre de maintenance pour identifier le type de tâches qu'elle exécute, les types de cibles et l'environnement dans lequel elle s'exécute. Dans ce cas, vous pouvez spécifier les name/value paires de clés suivantes :
   + `Key=TaskType,Value=AgentUpdate`
   + `Key=OS,Value=Windows`
   + `Key=Environment,Value=Production`

1. Sélectionnez **Create maintenance window (Créer une fenêtre de maintenance)**. Le système vous renvoie à la page de la fenêtre de maintenance. L'état de la fenêtre de maintenance que vous venez de créer est **Enabled (Activé)**.

# Affectation de cibles à une fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-assign-targets"></a>

Dans cette procédure, vous pouvez enregistrer une cible avec une fenêtre de maintenance. En d'autres termes, vous spécifiez sur quelles ressources la fenêtre de maintenance effectue des actions.

**Note**  
Si une seule tâche de fenêtre de maintenance est enregistrée avec plusieurs cibles, ses appels de tâches se produisent en séquence et non en parallèle. Si votre tâche doit s'exécuter sur plusieurs cibles simultanément, enregistrez une tâche pour chaque cible individuellement et attribuez à chaque tâche le même niveau de priorité.

**Pour affecter des cibles à une fenêtre de maintenance à l’aide de la console**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. Dans la liste des fenêtres de maintenance, sélectionnez la fenêtre de maintenance à laquelle ajouter les cibles.

1. Sélectionnez **Actions**, puis **Register targets (Enregistrer les cibles)**.

1. (Facultatif) Pour **Target Name (Nom de cible)**, saisissez un nom pour les cibles.

1. (Facultatif) Sous **Description**, entrez une description.

1. (Facultatif) Pour les **informations sur le propriétaire**, spécifiez les informations à inclure dans tout EventBridge événement Amazon déclenché lors de l'exécution de tâches pour ces cibles dans cette fenêtre de maintenance.

   Pour plus d'informations sur l'utilisation EventBridge pour surveiller les événements de Systems Manager, consultez[Surveillance des événements de Systems Manager avec Amazon EventBridge](monitoring-eventbridge-events.md).

1. Dans la zone **Targets (Cibles)**, sélectionnez l'une des options décrites dans le tableau suivant.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/sysman-maintenance-assign-targets.html)

1. Sélectionnez **Register target (Enregistrer la cible)**.

Si vous souhaitez attribuer d'autres cibles à cette fenêtre de maintenance, sélectionnez l'onglet **Targets (Cibles)**, puis sélectionnez **Register targets (Enregistrer des cibles)**. Avec cette option, vous pouvez choisir d'autres méthodes de ciblage. Par exemple, si vous cibliez auparavant les nœuds par ID de nœud, vous pouvez enregistrer de nouvelles cibles et de nouveaux nœuds cibles en spécifiant les balises appliquées aux nœuds gérés ou en choisissant des types de ressources dans un groupe de ressources.

# Affectation de tâches à une fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-assign-tasks"></a>

Dans cette procédure, vous ajoutez une tâche à une fenêtre de maintenance. Les tâches sont les actions qui sont effectuées lors de l'exécution d'une fenêtre de maintenance.

Les quatre types de tâches peuvent être ajoutés à une fenêtre de maintenance :
+ Commandes de l'AWS Systems Manager Run Command
+ Flux de travail Systems Manager Automation
+ AWS Step Functions tâches
+ AWS Lambda fonctions
**Important**  
La politique IAM pour Maintenance Windows exige que vous donniez un préfixe `SSM` à la fonction Lambda (ou alias). Avant de procéder à l'enregistrement de ce type de tâche, mettez à jour son nom AWS Lambda pour inclure`SSM`. Par exemple, si votre nom de fonction Lambda est `MyLambdaFunction`, remplacez-le par `SSMMyLambdaFunction`.

**Pour attribuer des tâches à une fenêtre de maintenance**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. Dans la liste des fenêtres de maintenance, sélectionnez une fenêtre de maintenance.

1. Sélectionnez **Actions**, puis sélectionnez l'option pour le type de tâche que vous voulez enregistrer avec la fenêtre de maintenance.
   + **Enregistrer une tâche d'exécution de commande**
   + **Enregistrer la tâche Automation**
   + **Enregistrer une tâche Lambda**
   + **Enregistrer la tâche Step Functions**
**Note**  
Les tâches de fenêtre de maintenance prennent uniquement en charge les flux de travail de machine d’état Standard Step Functions. Elles ne prennent pas en charge les flux de travail de machine d’état Express. Pour plus d’informations sur les types de flux de travail de machine d’état, consultez [Flux de travail Standard vs. Express](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html) dans le *Guide du développeur AWS Step Functions *.

1. (Facultatif) Pour **Name (Nom)**, saisissez un nom pour la tâche.

1. (Facultatif) Sous **Description**, entrez une description.

1. Dans **New task invocation cutoff (Nouvelle limite d'appel de tâches)**, si vous ne souhaitez pas que de nouveaux appels de tâches soient lancés une fois le délai attribué à la fenêtre de maintenance écoulé, sélectionnez **Enabled (Activé)**.

   Lorsque cette option n'est *pas* activée, la tâche continue de s'exécuter une fois le délai écoulé et lance de nouveaux appels de tâches jusqu'à ce que celles-ci soient accomplies. 
**Note**  
L'état des tâches qui ne sont pas terminées lorsque vous activez cette option est `TIMED_OUT`. 

1. Pour cette étape, choisissez l’onglet correspondant au type de tâche sélectionné.

------
#### [ Fonctionnalité Exécuter la commande ]

   1. Dans la liste des **documents Command**, choisissez le document Command Systems Manager (document SSM) qui définit les tâches à exécuter.

   1. Pour **Version du document**, sélectionnez la version de document à utiliser.

   1. Pour **Priorité de tâche**, spécifiez la priorité de cette tâche. Zéro (`0`) est la priorité la plus élevée. Les tâches d'une fenêtre de maintenance sont planifiées par ordre de priorité des tâches qui ont la même priorité planifiée en parallèle.

------
#### [ Automation ]

   1.  Dans la liste des **documents Automation**, choisissez le dossier d’exploitation Automation qui définit les tâches à exécuter.

   1. Pour **Document version (Version du document)**, sélectionnez la version du runbook à utiliser.

   1. Pour **Priorité de tâche**, spécifiez la priorité de cette tâche. Zéro (`0`) est la priorité la plus élevée. Les tâches d'une fenêtre de maintenance sont planifiées par ordre de priorité des tâches qui ont la même priorité planifiée en parallèle.

------
#### [ Lambda ]

   1. Dans **Paramètres Lambda**, sélectionnez une fonction Lambda dans la liste.

   1. (Facultatif) Indiquez un contenu pour **Payload** (Charge utile), **Client Context** (Contexte client) ou **Qualifier** (Qualificateur) que vous souhaitez inclure.
**Note**  
Dans certains cas, vous pouvez utiliser un *pseudo‑paramètre* dans votre valeur `Payload`. Une fois que la tâche de fenêtre de maintenance s’exécute, elle transmet les valeurs correctes au lieu des paramètres fictifs. Pour plus d'informations, consultez [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md).

   1. Pour **Priorité de tâche**, spécifiez la priorité de cette tâche. Zéro (`0`) est la priorité la plus élevée. Les tâches d'une fenêtre de maintenance sont planifiées par ordre de priorité des tâches qui ont la même priorité planifiée en parallèle.

------
#### [ Step Functions ]

   1. Dans **Paramètres Step Functions**, sélectionnez une machine d’état dans la liste.

   1. (Facultatif) Indiquez un nom pour l'exécution de la machine d'état et tout contenu pour **Input** (Entrée) que vous souhaitez inclure.
**Note**  
Dans certains cas, vous pouvez utiliser un *pseudo‑paramètre* dans votre valeur `Input`. Une fois que la tâche de fenêtre de maintenance s’exécute, elle transmet les valeurs correctes au lieu des paramètres fictifs. Pour plus d'informations, consultez [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md).

   1. Pour **Priorité de tâche**, spécifiez la priorité de cette tâche. Zéro (`0`) est la priorité la plus élevée. Les tâches d'une fenêtre de maintenance sont planifiées par ordre de priorité des tâches qui ont la même priorité planifiée en parallèle.

------

1. Dans la zone **Cibles**, sélectionnez l'une des options suivantes :
   + **Sélection de groupes cibles enregistrés** : sélectionnez une ou plusieurs cibles de fenêtre de maintenance que vous avez enregistrées avec la fenêtre de maintenance actuelle.
   + **Sélection de cibles non enregistrées** : sélectionnez les ressources disponibles une par une comme cibles pour la tâche.

     Si, contrairement à vos attentes, un nœud géré ne figure pas dans la liste, consultez [Résolution des problèmes de disponibilité des nœuds gérés](fleet-manager-troubleshooting-managed-nodes.md) pour obtenir des conseils de dépannage.
   + **Cible de tâche non requise** : les cibles de la tâche peuvent déjà être spécifiées dans d'autres fonctions pour toutes les tâches à l'exception des tâches de type Run Command.

     Spécifiez une ou plusieurs cibles pour des tâches de fenêtre de maintenance de type Run Command. En fonction de la tâche, les cibles sont facultatives pour les autres types de tâches de la fenêtre de maintenance (Automation AWS Lambda, et AWS Step Functions). Pour de plus amples informations sur l'exécution de tâches qui ne spécifient pas de cibles, consultez [Enregistrement de tâches de fenêtre de maintenance sans cibles](maintenance-windows-targetless-tasks.md).
**Note**  
Dans la plupart des cas, il est inutile de spécifier explicitement une cible pour une tâche d'automatisation. Par exemple, supposons que vous créiez une tâche de type Automation pour mettre à jour une Amazon Machine Image (AMI) pour Linux à l'aide du runbook `AWS-UpdateLinuxAmi`. Lorsque la tâche s'exécute, l'AMI est mise à jour avec les derniers packages de distribution Linux et les logiciels Amazon disponibles. Ces mises à jour sont déjà installées sur les nouvelles instances créées à partir de l'AMI. Comme l'ID de l'AMI à mettre à jour est spécifié dans les paramètres d'entrée du runbook, il est inutile de spécifier à nouveau une cible dans la tâche de la fenêtre de maintenance.

1. *Tâches Automation uniquement :*

   Dans **Paramètres d'entrée**, fournissez des valeurs pour tous les paramètres requis ou facultatifs nécessaires à l'exécution de votre tâche.
**Note**  
Dans certains cas, vous pouvez utiliser un *pseudo‑paramètre* pour certaines valeurs de paramètres d’entrée. Une fois que la tâche de fenêtre de maintenance s’exécute, elle transmet les valeurs correctes au lieu des paramètres fictifs. Pour plus d'informations, consultez [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md).

1. Pour **Rate control (Contrôle de débit)** :
   + Dans **Concurrency (Simultanéité)**, spécifiez un nombre ou un pourcentage de nœuds gérés sur lesquels exécuter simultanément la commande.
**Note**  
Si vous avez sélectionné des cibles en spécifiant des balises appliquées aux nœuds gérés ou en spécifiant AWS des groupes de ressources, et que vous n'êtes pas certain du nombre de nœuds gérés ciblés, limitez le nombre de cibles pouvant exécuter le document en même temps en spécifiant un pourcentage.
   + Dans **Error threshold (Seuil d'erreur)**, indiquez quand arrêter l'exécution de la commande sur les autres nœuds gérés après l'échec de celle-ci sur un certain nombre ou un certain pourcentage de nœuds. Si, par exemple, vous spécifiez trois erreurs, Systems Manager cesse d'envoyer la commande à la réception de la quatrième erreur. Les nœuds gérés sur lesquels la commande est toujours en cours de traitement peuvent également envoyer des erreurs.

1. (Facultatif) Pour **rôle de service IAM**, choisissez un rôle pour permettre à Systems Manager d’exécuter les tâches de fenêtre de maintenance.

   Si vous ne spécifiez pas d’ARN de rôle de service, Systems Manager utilise un rôle lié à un service dans votre compte. Ce rôle n’apparaît pas dans le menu déroulant. S’il n’existe aucun rôle lié au service approprié pour Systems Manager dans votre compte, il sera créé lors de l’enregistrement de la tâche. 
**Note**  
Pour améliorer la posture de sécurité, nous vous recommandons vivement de créer une politique personnalisée et un rôle de service personnalisé pour exécuter les tâches de votre fenêtre de maintenance. La politique peut être conçue de manière à fournir uniquement les autorisations nécessaires pour les tâches spécifiques de votre fenêtre de maintenance. Pour de plus amples informations, veuillez consulter [Configuration de Maintenance Windows](setting-up-maintenance-windows.md).

1. *Tâches Run Command uniquement :*

   (Facultatif) Pour **Output options** (Options de sortie), procédez de l'une des manières suivantes :
   + Cochez la case **Activer l'écriture dans S3** pour enregistrer la sortie de la commande dans un fichier. Saisissez les noms de compartiment et de préfixe (dossier) dans les zones.
   + Cochez la case **CloudWatch de sortie** pour écrire la sortie complète dans Amazon CloudWatch Logs. Entrez le nom d'un groupe de CloudWatch journaux Logs.
**Note**  
Les autorisations qui permettent d'écrire des données dans un compartiment S3 ou dans CloudWatch des journaux sont celles du profil d'instance attribué au nœud, et non celles de l'utilisateur IAM effectuant cette tâche. Pour plus d’informations, consultez la section [Configurer des autorisations d’instance requises pour Systems Manager](setup-instance-permissions.md). En outre, si le compartiment ou le groupe de journaux S3 spécifié se trouve dans un autre compartiment Compte AWS, vérifiez que le profil d'instance associé au nœud dispose des autorisations nécessaires pour écrire dans ce compartiment.

1. *Tâches Run Command uniquement :*

   Dans la section **SNS notifications (Notifications SNS)**, si vous souhaitez envoyer des notifications sur le statut d'exécution des commandes, cochez la case **Enable SNS notifications (Activer les notifications SNS)**.

   Pour plus d'informations sur la configuration des notifications Amazon SNS pour Run Command, consultez [Surveillance des changements d'état du Systems Manager à l'aide des notifications Amazon SNS](monitoring-sns-notifications.md).

1. *Tâches Run Command uniquement :*

   Dans la section **Parameters (Paramètres)**, spécifiez les paramètres du document. 
**Note**  
Dans certains cas, vous pouvez utiliser un *pseudo‑paramètre* pour certaines valeurs de paramètres d’entrée. Une fois que la tâche de fenêtre de maintenance s’exécute, elle transmet les valeurs correctes au lieu des paramètres fictifs. Pour plus d'informations, consultez [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md).

1. *Tâches Automation et Run Command uniquement :*

   (Facultatif) Dans la zone **CloudWatch d'****alarme, pour Nom** de l'alarme, choisissez une CloudWatch alarme existante à appliquer à votre tâche de surveillance. 

   Si l’alarme s’active, la tâche est arrêtée.
**Note**  
Pour associer une CloudWatch alarme à votre tâche, le principal IAM qui exécute la tâche doit être autorisé à effectuer l'`iam:createServiceLinkedRole`action. Pour plus d'informations sur les CloudWatch alarmes, consultez la section [Utilisation des CloudWatch alarmes Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html).

1. En fonction de votre type de tâche, choisissez l’une des options suivantes :
   + **Enregistrer une tâche d'exécution de commande**
   + **Enregistrer la tâche Automation**
   + **Enregistrer une tâche Lambda**
   + **Enregistrer la tâche Step Functions**

# Désactivation ou activation d’une fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-disable"></a>

Vous pouvez désactiver ou activer une fenêtre de maintenance dans Maintenance Windows, un des outils d’ AWS Systems Manager. Vous pouvez choisir une fenêtre de maintenance à la fois pour désactiver ou activer son exécution. Vous pouvez également sélectionner plusieurs ou toutes les fenêtres de maintenance pour les activer et les désactiver.

Cette section explique comment désactiver ou activer une fenêtre de maintenance à l'aide de la console Systems Manager. Pour des exemples illustrant comment procéder à l'aide de AWS Command Line Interface (AWS CLI), voir[Tutoriel : Mettre à jour une fenêtre de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-update.md). 

**Topics**
+ [Désactivation d’une fenêtre de maintenance à l’aide de la console](#sysman-maintenance-disable-mw)
+ [Activation d’une fenêtre de maintenance à l’aide de la console](#sysman-maintenance-enable-mw)

## Désactivation d’une fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-disable-mw"></a>

Vous pouvez désactiver une fenêtre de maintenance pour suspendre une tâche pendant une période spécifiée, et elle restera disponible pour être réactivée ultérieurement.

**Pour désactiver une fenêtre de maintenance**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. À l'aide de la case en regard de la fenêtre de maintenance à désactiver, sélectionnez une ou plusieurs fenêtres de maintenance.

1. Choisissez **Désactiver la fenêtre de maintenance** dans le menu **Actions**. Le système vous invite à confirmer vos actions. 

## Activation d’une fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-enable-mw"></a>

Vous pouvez activer une fenêtre de maintenance pour reprendre une tâche.

**Note**  
Si la fenêtre de maintenance utilise une planification de fréquence et que la date de début est actuellement définie sur une date et une heure passées, la date et l’heure actuelles sont utilisées comme date de début de la fenêtre de maintenance. Vous pouvez modifier la date de début de la fenêtre de maintenance avant ou après son activation. Pour plus d'informations, consultez [Mise à jour ou suppression des ressources de fenêtre de maintenance à l’aide de la console](sysman-maintenance-update.md).

**Pour activer une fenêtre de maintenance**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. Cochez la case correspondant à la fenêtre de maintenance pour l’activer.

1. Choisissez **Actions, Activer la fenêtre de maintenance**. Le système vous invite à confirmer vos actions. 

# Mise à jour ou suppression des ressources de fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-update"></a>

Vous pouvez mettre à jour ou supprimer une fenêtre dans Maintenance Windows, un outil d’ AWS Systems Manager. Vous pouvez également mettre à jour ou supprimer les cibles ou tâches d'une fenêtre de maintenance. Si vous modifiez les détails d'une fenêtre de maintenance, vous pouvez modifier le programme, les cibles et les tâches. Vous pouvez également spécifier les noms et descriptions des fenêtres, cibles et tâches, ce qui vous aide à mieux comprendre leur utilité et facilite la gestion de votre file d'attente de fenêtres.

Cette section présente comment mettre à jour ou supprimer une fenêtre de maintenance, des cibles et des tâches à l'aide de la console Systems Manager. Pour voir des exemples de la façon de procéder à l'aide de l' AWS Command Line Interface (AWS CLI), consultez [Tutoriel : Mettre à jour une fenêtre de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-update.md). 

**Topics**
+ [Mise à jour ou suppression d’une fenêtre de maintenance à l’aide de la console](#sysman-maintenance-update-mw)
+ [Mise à jour ou désenregistrement de cibles de fenêtre de maintenance à l’aide de la console](#sysman-maintenance-update-target)
+ [Mise à jour ou désenregistrement de tâches de fenêtre de maintenance à l’aide de la console](#sysman-maintenance-update-tasks)

## Mise à jour ou suppression d’une fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-update-mw"></a>

Vous pouvez mettre à jour une fenêtre de maintenance pour modifier son nom, sa description et sa planification, et si la fenêtre doit autoriser les cibles non enregistrées ou non.

**Pour mettre à jour ou supprimer une fenêtre de maintenance**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. Sélectionnez le bouton en regard de la fenêtre de maintenance à mettre à jour ou supprimer, puis exécutez l'une des tâches suivantes :
   + Sélectionnez **Delete (Supprimer)**. Le système vous invite à confirmer vos actions. 
   + Sélectionnez **Edit** (Modifier). Sur la page **Edit maintenance window** (Modifier la fenêtre de maintenance), modifiez les valeurs et options souhaitées, puis sélectionnez **Save changes** (Enregistrer les modifications).

     Pour de plus amples informations sur les choix de configuration que vous pouvez effectuer, veuillez consulter [Création d’une fenêtre de maintenance à l’aide de la console](sysman-maintenance-create-mw.md).

## Mise à jour ou désenregistrement de cibles de fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-update-target"></a>

Vous pouvez mettre à jour les cibles d'une fenêtre de maintenance ou annuler leur enregistrement. Si vous choisissez de mettre à jour une cible de fenêtre de maintenance, vous pouvez spécifier un nouveau nom, une nouvelle description ou un nouveau propriétaire. Vous pouvez également choisir différentes cibles. 

**Pour mettre à jour ou supprimer les cibles d'une fenêtre de maintenance**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. Sélectionnez le nom de la fenêtre de maintenance à mettre à jour, puis l'onglet **Tabs** (Onglets), et exécutez l'une des tâches suivantes :
   + Pour mettre à jour les cibles, sélectionnez le bouton en regard de la cible à mettre à jour, puis **Edit** (Modifier).
   + Pour annuler l'enregistrement de cibles, cliquez sur le bouton à côté de la cible dont l'enregistrement doit être annulé, puis sélectionnez **Deregister target** (Désenregistrer la cible). Dans la boite de dialogue **Désenregistrer une cible de fenêtre de maintenance**, sélectionnez **Annuler l'enregistrement**.

## Mise à jour ou désenregistrement de tâches de fenêtre de maintenance à l’aide de la console
<a name="sysman-maintenance-update-tasks"></a>

Vous pouvez mettre à jour les tâches d'une fenêtre de maintenance ou annuler leur enregistrement. Si vous choisissez de mettre à jour une tâche, vous pouvez spécifier un nouveau nom de tâche, une nouvelle description ou un nouveau propriétaire. Pour les tâches Automation et Run Command, vous pouvez choisir un autre document SSM pour les tâches. Toutefois, vous ne pouvez pas modifier une tâche pour modifier son type. Par exemple, si vous avez créé une tâche Automation, vous ne pouvez pas modifier cette tâche et la remplacer par une tâche Run Command. 

**Pour mettre à jour ou supprimer les tâches d’une fenêtre de maintenance à l’aide de la console**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**. 

1. Sélectionnez le nom de la fenêtre de maintenance que vous souhaitez mettre à jour.

1. Sélectionnez l'onglet **Tasks** (Tâches), puis le bouton en regard de la tâche à mettre à jour.

1. Effectuez l'une des actions suivantes :
   + Pour annuler l'enregistrement d'une tâche, sélectionnez **Deregister task** (Annuler l'enregistrement de la tâche).
   + Pour modifier la tâche, sélectionnez **Edit (Modifier)**. Modifiez les valeurs et options de votre choix, puis sélectionnez **Edit task** (Modifier la tâche).

# Didacticiels
<a name="maintenance-windows-tutorials"></a>

Les tutoriels de cette section vous montrent comment effectuer des tâches courantes lorsque vous travaillez avec des fenêtres de maintenance.

**Exécuter les opérations prérequises**  
Avant d'essayer ces didacticiels, exécutez les opérations prérequises suivantes :
+ **Configurer l'AWS CLI sur votre machine locale** – Avant de pouvoir exécuter des commandes sur l'AWS CLI, vous devez installer et configurer l'interface de ligne de commande sur votre ordinateur local. Pour plus d'informations, consultez la section [Installation ou mise à jour de la version la plus récente de l'AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) et [Installation d'Outils AWS pour PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).
+ **Vérifier les rôles et les autorisations des fenêtres de maintenance** – Un administrateur AWS de votre compte doit accorder à l'Gestion des identités et des accès AWS (IAM) les autorisations dont vous avez besoin pour gérer les fenêtres de maintenance depuis l'interface de ligne de commande. Pour plus d'informations, consultez [Configuration de Maintenance Windows](setting-up-maintenance-windows.md).
+ **Créer ou configurer une instance compatible avec Systems Manager** – Pour suivre les didacticiels, vous avez besoin d'au moins une instance Amazon Elastic Compute Cloud (Amazon EC2), configurée pour une utilisation avec Systems Manager. Cela signifie que SSM Agent est installé sur l'instance et qu'un profil d'instance IAM pour Systems Manager est attaché à l'instance. 

  Nous vous recommandons de lancer une instance à partir d'une instance Amazon Machine Image (AMI) géré par AWS avec l'agent préinstallé. Pour de plus amples informations, consultez [Trouver les AMIs avec SSM Agent préinstallé](ami-preinstalled-agent.md).

  Pour plus d'informations sur l'installation de SSM Agent sur une instance, consultez les rubriques suivantes :
  + [Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour Windows Server](manually-install-ssm-agent-windows.md)
  + [Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour Linux](manually-install-ssm-agent-linux.md)

  Pour plus d’informations sur la configuration des autorisations IAM pour Systems Manager sur votre instance, consultez la section [Configurer des autorisations d’instance requises pour Systems Manager](setup-instance-permissions.md).
+ **Créer des ressources supplémentaires en fonction des besoins** – Run Command, un outil de Systems Manager, inclut nombreuses tâches ne nécessitent pas la création de ressources autres que celles répertoriées dans cette rubrique sur les prérequis. Pour cette raison, nous fournissons une tâche Run Command simple que vous pourrez utiliser lors de votre première utilisation des didacticiels. Comme décrit précédemment dans cette rubrique, vous avez également besoin d'une instance (EC2) configurée pour une utilisation avec Systems Manager. Une fois que vous avez configuré cette instance, vous pouvez enregistrer une simple tâche Run Command. 

  L’outil Maintenance Windows de Systems Manager prend en charge les quatre types de tâches suivants : 
  + Commandes de l'Run Command
  + Flux de travail Systems Manager Automation
  + Fonctions AWS Lambda
  + Tâches AWS Step Functions

  En général, si une tâche de fenêtre de maintenance que vous souhaitez exécuter nécessite des ressources supplémentaires, vous devez les créer en premier. Par exemple, si vous souhaitez une fenêtre de maintenance qui exécute une fonction AWS Lambda, créez la fonction Lambda avant de commencer ; pour une tâche Run Command, créez le compartiment S3 dans lequel vous pouvez enregistrer la sortie de commande (si vous envisagez de le faire) ; et ainsi de suite.

**Topics**
+ [Tutoriels : Créez et gérez des fenêtres de maintenance à l'aide du AWS CLI](maintenance-window-tutorial-cli.md)
+ [Tutoriel : créer une fenêtre de maintenance pour l’application de correctifs à l’aide de la console](maintenance-window-tutorial-patching.md)

# Tutoriels : Créez et gérez des fenêtres de maintenance à l'aide du AWS CLI
<a name="maintenance-window-tutorial-cli"></a>

Cette section inclut des didacticiels qui vous aident à apprendre à utiliser l' AWS Command Line Interface (AWS CLI) pour effectuer les opérations suivantes :
+ Créer et configurer une fenêtre de maintenance
+ Afficher des informations concernant une fenêtre de maintenance
+ Afficher des informations sur les tâches des fenêtres de maintenance et l'exécution des tâches
+ Mettre à jour une fenêtre de maintenance
+ Supprimer une fenêtre de maintenance

**Gardez une trace des ressources IDs**  
Au fur et à mesure que vous effectuez les tâches de ces AWS CLI didacticiels, suivez les ressources IDs générées par les commandes que vous exécutez. Vous utilisez un grand nombre de ceux-ci comme entrées pour les commandes ultérieures. Par exemple, lors de la création de la fenêtre de maintenance, le système vous fournit un ID de fenêtre de maintenance dans le format suivant :

```
{
   "WindowId":"mw-0c50858d01EXAMPLE"
}
```

Notez les éléments suivants générés par le système, IDs car les didacticiels de cette section les utilisent :
+ `WindowId`
+ `WindowTargetId`
+ `WindowTaskId`
+ `WindowExecutionId`
+ `TaskExecutionId`
+ `InvocationId`
+ `ExecutionId`

Vous avez également besoin de l’ID de l’instance EC2 que vous prévoyez d’utiliser dans les tutoriels. Par exemple : `i-02573cafcfEXAMPLE`

**Topics**
+ [Tutoriel : Création et configuration d'une fenêtre de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-create.md)
+ [Tutoriel : Afficher les informations relatives aux fenêtres de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-describe.md)
+ [Tutoriel : Afficher les informations relatives aux tâches et à leur exécution à l'aide du AWS CLI](mw-cli-tutorial-task-info.md)
+ [Tutoriel : Mettre à jour une fenêtre de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-update.md)
+ [Tutoriel : Supprimer une fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-delete-mw.md)

# Tutoriel : Création et configuration d'une fenêtre de maintenance à l'aide du AWS CLI
<a name="maintenance-windows-cli-tutorials-create"></a>

Ce didacticiel explique comment utiliser le AWS Command Line Interface (AWS CLI) pour créer et configurer une fenêtre de maintenance, ses cibles et ses tâches. Le parcours principal tout au long de ce didacticiel se compose d'étapes simples. Vous pouvez créer une fenêtre de maintenance simple, identifier une cible unique et configurer une tâche simple pour la fenêtre de maintenance à exécuter. Au fil du parcours, nous fournissons des informations que vous pouvez utiliser pour essayer des scénarios plus complexes.

Au fur et à mesure que vous suivez les étapes de ce didacticiel, remplacez les valeurs en *red* italique par vos propres options et. IDs Par exemple, remplacez l'ID de fenêtre de maintenance *mw-0c50858d01EXAMPLE* et l'ID d'instance *i-02573cafcfEXAMPLE* par IDs des ressources que vous créez.

**Topics**
+ [Étape 1 : Créez la fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-create-mw.md)
+ [Étape 2 : Enregistrez un nœud cible dans la fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-targets.md)
+ [Étape 3 : enregistrer une tâche dans la fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-tasks.md)

# Étape 1 : Créez la fenêtre de maintenance à l'aide du AWS CLI
<a name="mw-cli-tutorial-create-mw"></a>

Au cours de cette étape, vous allez créer une fenêtre de maintenance et spécifier ses options de base, tels que le nom, la planification et la durée. Dans les étapes ultérieures, vous choisirez l'instance qu'elle met à jour et la tâche qu'elle exécute.

Dans notre exemple, vous allez créer une fenêtre de maintenance qui s'exécute toutes les cinq minutes. Normalement, vous n'exécutez pas une fenêtre de maintenance aussi fréquemment. Toutefois, cette fréquence vous permet de voir rapidement les résultats de votre didacticiel. Nous allons vous montrer comment passer à un taux moins fréquent après que la tâche a été exécutée avec succès.

**Note**  
Pour obtenir une explication des relations entre les différentes options liées à la planification pour les fenêtres de maintenance, consultez [Options de planification de la fenêtre de maintenance et de période active](maintenance-windows-schedule-options.md).  
Pour de plus amples informations sur l'utilisation de l'option `--schedule`, consultez [Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md).

**Pour créer une fenêtre de maintenance à l'aide du AWS CLI**

1. Ouvrez le AWS Command Line Interface (AWS CLI) et exécutez la commande suivante sur votre machine locale pour créer une fenêtre de maintenance qui effectue les opérations suivantes :
   + S'exécute toutes les cinq minutes pendant un maximum de deux heures (si nécessaire).
   + Empêche le démarrage de nouvelles tâches dans l'heure qui suit la fin de l'opération de fenêtre de maintenance.
   + Autorise les cibles non associées (instances que vous n'avez pas enregistrées avec la fenêtre de maintenance).
   + Indique par l'utilisation de balises personnalisées que son créateur a l'intention de l'utiliser dans un didacticiel.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-maintenance-window \
       --name "My-First-Maintenance-Window" \
       --schedule "rate(5 minutes)" \
       --duration 2 \
       --cutoff 1 \
       --allow-unassociated-targets \
       --tags "Key=Purpose,Value=Tutorial"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-maintenance-window ^
       --name "My-First-Maintenance-Window" ^
       --schedule "rate(5 minutes)" ^
       --duration 2 ^
       --cutoff 1 ^
       --allow-unassociated-targets ^
       --tags "Key"="Purpose","Value"="Tutorial"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
      "WindowId":"mw-0c50858d01EXAMPLE"
   }
   ```

1. Maintenant, exécutez la commande suivante pour afficher les informations détaillées sur les fenêtres de maintenance de votre compte.

   ```
   aws ssm describe-maintenance-windows
   ```

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
      "WindowIdentities":[
         {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "Name": "My-First-Maintenance-Window",
               "Enabled": true,
               "Duration": 2,
               "Cutoff": 1,
               "NextExecutionTime": "2019-05-11T16:46:16.991Z"
         }
      ]
   }
   ```

Passez au [Étape 2 : Enregistrez un nœud cible dans la fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-targets.md).

# Étape 2 : Enregistrez un nœud cible dans la fenêtre de maintenance à l'aide du AWS CLI
<a name="mw-cli-tutorial-targets"></a>

Au cours de cette étape, vous allez enregistrer une cible avec votre nouvelle fenêtre de maintenance. Dans ce cas, vous devez spécifier le nœud à mettre à jour pendant l'exécution de la fenêtre de maintenance. 

Pour un exemple d'enregistrement de plusieurs nœuds à la fois à l'aide d'un nœud IDs, des exemples d'utilisation de balises pour identifier plusieurs nœuds et des exemples de spécification de groupes de ressources en tant que cibles, consultez[Exemples : Enregistrement de cibles avec une fenêtre de maintenance](mw-cli-tutorial-targets-examples.md).

**Note**  
Vous devez déjà avoir créé une instance Amazon Elastic Compute Cloud (Amazon EC2) à utiliser dans cette étape, comme décrit dans les [Prérequis du didacticiel Maintenance Windows](maintenance-windows-tutorials.md).

**Pour enregistrer un nœud cible avec une fenêtre de maintenance à l'aide du AWS CLI**

1. Exécutez la commande suivante sur votre machine locale. Remplacez chaque *example resource placeholder* par vos propres informations.

------
#### [ Linux & macOS ]

   ```
   aws ssm register-target-with-maintenance-window \
       --window-id "mw-0c50858d01EXAMPLE" \
       --resource-type "INSTANCE" \
       --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE"
   ```

------
#### [ Windows ]

   ```
   aws ssm register-target-with-maintenance-window ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --resource-type "INSTANCE" ^
       --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
      "WindowTargetId":"e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
   }
   ```

1. Maintenant, exécutez la commande suivante sur votre machine locale pour afficher les détails relatifs à la cible de votre fenêtre de maintenance.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-maintenance-window-targets \
       --window-id "mw-0c50858d01EXAMPLE"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-maintenance-window-targets ^
       --window-id "mw-0c50858d01EXAMPLE"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "Targets": [
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE",
               "ResourceType": "INSTANCE",
               "Targets": [
                   {
                       "Key": "InstanceIds",
                       "Values": [
                           "i-02573cafcfEXAMPLE"
                       ]
                   }
               ]
           }
       ]
   }
   ```

Passez au [Étape 3 : enregistrer une tâche dans la fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-tasks.md). 

# Exemples : Enregistrement de cibles avec une fenêtre de maintenance
<a name="mw-cli-tutorial-targets-examples"></a>

Vous pouvez enregistrer un nœud individuel comme cible à l'aide de son ID de nœud, comme démontré dans [Étape 2 : Enregistrez un nœud cible dans la fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-targets.md). Vous pouvez également enregistrer un ou plusieurs nœuds comme cibles à l'aide des commandes présentées sur cette page.

En général, deux méthodes permettent d'identifier les nœuds à utiliser comme cibles de fenêtre de maintenance : spécifier des nœuds individuels ou utiliser des balises de ressources. La méthode de balises de ressources offre davantage d'options, comme illustré dans les exemples 2 à 3. 

Vous pouvez également spécifier un ou plusieurs groupes de ressources en tant que cible d'une fenêtre de maintenance. Un groupe de ressources peut inclure des nœuds et de nombreux autres types de AWS ressources prises en charge. Les exemples 4 et 5 ci-après montrent comment ajouter des groupes de ressources à vos cibles de fenêtre de maintenance.

**Note**  
Si une seule tâche de fenêtre de maintenance est enregistrée avec plusieurs cibles, ses appels de tâches se produisent en séquence et non en parallèle. Si votre tâche doit s'exécuter sur plusieurs cibles simultanément, enregistrez une tâche pour chaque cible individuellement et attribuez à chaque tâche le même niveau de priorité.

Pour plus d'informations sur la création et la gestion des groupes de ressources, consultez [Que sont les groupes de ressources ?](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html) dans le *Guide de l'utilisateur Groupes de ressources AWS * et [Groupes de ressources et balisage pour AWS](https://aws.amazon.com/blogs/aws/resource-groups-and-tagging/) dans *AWS News Blog*.

Pour plus d'informations sur les quotas pour Maintenance Windows un outil AWS Systems Manager, outre ceux spécifiés dans les exemples suivants, consultez la section [Quotas de service Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm) dans le *Référence générale d'Amazon Web Services*.

## Exemple 1 : enregistrer plusieurs cibles à l'aide d'un nœud IDs
<a name="mw-target-example-1"></a>

Exécutez la commande suivante sur le format de votre machine locale pour enregistrer plusieurs nœuds en tant que cibles à l'aide de leur nœud IDs. Remplacez chaque *example resource placeholder* par vos propres informations.

------
#### [ Linux & macOS ]

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --resource-type "INSTANCE" \
    --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE"
```

------
#### [ Windows ]

```
aws ssm register-target-with-maintenance-window ^
    --window-id "mw-0c50858d01EXAMPLE ^
    --resource-type "INSTANCE" ^
    --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE
```

------

**Utilisation recommandée** : particulièrement utile lorsque vous enregistrez pour la première fois un groupe unique de nœuds auprès d'une fenêtre de maintenance et qu'ils ne *partagent pas* de balise de nœud commune.

**Quotas :** vous pouvez spécifier un maximum de 50 nœuds pour chaque cible de fenêtre de maintenance.

## Exemple 2 : Enregistrement de cibles à l'aide des balises de ressources appliquées aux nœuds
<a name="mw-target-example-2"></a>

Exécutez la commande suivante sur votre machine locale pour enregistrer les nœuds qui sont déjà balisés avec une paire clé-valeur que vous avez attribuée. Remplacez chaque *example resource placeholder* par vos propres informations.

------
#### [ Linux & macOS ]

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --resource-type "INSTANCE" \
    --target "Key=tag:Region,Values=East"
```

------
#### [ Windows ]

```
aws ssm register-target-with-maintenance-window ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --resource-type "INSTANCE" ^
    --target "Key=tag:Region,Values=East"
```

------

**Utilisation recommandée** : particulièrement utile lorsque vous enregistrez pour la première fois un groupe unique de nœuds auprès d'une fenêtre de maintenance et qu'ils *partagent* une balise de nœud commune.

**Quotas :** vous pouvez spécifier jusqu'à cinq paires clé-valeur au total pour chaque cible. Si vous spécifiez plusieurs paires clé-valeur, un nœud doit être balisé avec *toutes* les clés et valeurs de balise que vous décidez d'inclure dans le groupe cible.

**Note**  
Vous pouvez baliser un groupe de noeuds avec la clé de balise : `Patch Group`ou`PatchGroup` et attribuer les noeuds d'une valeur de clé commune, comme `my-patch-group`. (Utilisez `PatchGroup`, sans espace, si vous avez [autorisé les balises dans les métadonnées d’instance EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#allow-access-to-tags-in-IMDS).) Patch Manager, un outil de Systems Manager, évalue la clé `Patch Group` ou `PatchGroup` sur les nœuds afin d’aider à déterminer le référentiel de correctifs applicable à ces nœuds. Si votre tâche exécutera le document SSM `AWS-RunPatchBaseline` (ou le document SSM `AWS-ApplyPatchBaseline` hérité), spécifiez la même paire clé-valeur `Patch Group` ou `PatchGroup` lors de l'enregistrement des cibles avec une fenêtre de maintenance. Par exemple : `--target "Key=tag:PatchGroup,Values=my-patch-group`. Cela vous permet d'utiliser une fenêtre de maintenance pour mettre à jour les correctifs d'un groupe de nœuds qui sont déjà associés au même référentiel de correctifs. Pour de plus amples informations, veuillez consulter [Groupes de correctifs](patch-manager-patch-groups.md).

## Exemple 3 : Enregistrement de cibles à l'aide d'un groupe de clés de balise (sans valeurs de balise)
<a name="mw-target-example-3"></a>

Exécutez la commande suivante sur votre machine locale pour enregistrer les nœuds qui disposent tous d'une ou plusieurs clés de balise, indépendamment de leurs valeurs de clé. Remplacez chaque *example resource placeholder* par vos propres informations.

------
#### [ Linux & macOS ]

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --resource-type "INSTANCE" \
    --target "Key=tag-key,Values=Name,Instance-Type,CostCenter"
```

------
#### [ Windows ]

```
aws ssm register-target-with-maintenance-window ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --resource-type "INSTANCE" ^
    --target "Key=tag-key,Values=Name,Instance-Type,CostCenter"
```

------

**Utilisation recommandée :** utile lorsque vous souhaitez cibler des nœuds en spécifiant plusieurs *clés* de balise (sans leurs valeurs) plutôt qu'une seule clé de balise ou une paire clé-valeur de balise.

**Quotas :** vous pouvez spécifier jusqu'à cinq clés de balise au total pour chaque cible. Si vous spécifiez plusieurs clés de balise, un nœud doit être balisé avec *toutes* les clés de balise que vous décidez d'inclure dans le groupe cible.

## Exemple 4 : Enregistrement de cibles à l'aide d'un nom de groupe de ressources
<a name="mw-target-example-4"></a>

Exécutez la commande suivante sur votre machine locale pour enregistrer un groupe de ressources spécifié, quel que soit le type des ressources que celui-ci contient. Remplacez *mw-0c50858d01EXAMPLE* par vos propres informations. Si les tâches que vous attribuez à la fenêtre de maintenance n'agissent pas sur un type de ressource inclus dans le groupe de ressources, le système peut signaler une erreur. Les tâches pour lesquelles un type de ressource pris en charge est trouvé continuent de s'exécuter malgré ces erreurs.

------
#### [ Linux & macOS ]

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --resource-type "RESOURCE_GROUP" \
    --target "Key=resource-groups:Name,Values=MyResourceGroup"
```

------
#### [ Windows ]

```
aws ssm register-target-with-maintenance-window ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --resource-type "RESOURCE_GROUP" ^
    --target "Key=resource-groups:Name,Values=MyResourceGroup"
```

------

**Utilisation recommandée** : Utile lorsque vous souhaitez spécifier rapidement un groupe de ressources en tant que cible sans évaluer si tous ses types de ressource seront ciblés par une fenêtre de maintenance, ou lorsque vous savez que le groupe de ressources contient uniquement les types de ressource sur lesquelles vos tâches exécutent des actions.

**Quotas :** Vous pouvez spécifier un seul groupe de ressources comme cible.

## Exemple 5 : Enregistrement de cibles en filtrant des types de ressource dans un groupe de ressources
<a name="mw-target-example-5"></a>

Exécutez la commande suivante sur votre machine locale pour enregistrer uniquement certains types de ressource qui appartiennent à un groupe de ressources que vous spécifiez. Remplacez *mw-0c50858d01EXAMPLE* par vos propres informations. Avec cette option, même si vous ajoutez une tâche pour un type de ressource qui appartient au groupe de ressources, la tâche ne s'exécute pas si vous n'avez pas ajouté explicitement ce type de ressource au filtre.

------
#### [ Linux & macOS ]

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --resource-type "RESOURCE_GROUP" \
    --target "Key=resource-groups:Name,Values=MyResourceGroup" \
    "Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::Instance,AWS::ECS::Cluster"
```

------
#### [ Windows ]

```
aws ssm register-target-with-maintenance-window ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --resource-type "RESOURCE_GROUP" ^
    --target "Key=resource-groups:Name,Values=MyResourceGroup" ^
    "Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::Instance,AWS::ECS::Cluster"
```

------

**Usage recommandé** : Utile lorsque vous souhaitez conserver un contrôle strict sur les types de AWS ressources sur lesquels votre fenêtre de maintenance peut exécuter des actions, ou lorsque votre groupe de ressources contient un grand nombre de types de ressources et que vous souhaitez éviter de signaler des erreurs inutiles dans les journaux de vos fenêtres de maintenance.

**Quotas :** Vous pouvez spécifier un seul groupe de ressources comme cible.

# Étape 3 : enregistrer une tâche dans la fenêtre de maintenance à l'aide du AWS CLI
<a name="mw-cli-tutorial-tasks"></a>

Dans cette étape du didacticiel, vous enregistrez une AWS Systems Manager Run Command tâche qui exécute la `df` commande sur votre instance Amazon Elastic Compute Cloud (Amazon EC2) pour Linux. Les résultats de cette commande Linux standard montrent la quantité d'espace disponible et la quantité d'espace utilisée sur le système de fichiers du disque de votre instance.

-ou-

Si vous ciblez une instance Amazon EC2 pour Windows Server au lieu de Linux, remplacez **df** dans la commande suivante par **ipconfig**. Le résultat de cette commande répertorie les détails relatifs à l'adresse IP, le masque de sous-réseau et la passerelle par défaut pour les adaptateurs sur l'instance cible.

Lorsque vous êtes prêt à enregistrer d'autres types de tâches ou à utiliser plusieurs des options Systems Manager Run Command disponibles, consultez [Exemples : Enregistrement de tâches avec une fenêtre de maintenance](mw-cli-register-tasks-examples.md). Là, nous fournissons plus d'informations sur les quatre types de tâches, et certaines de leurs principales options, pour vous aider à planifier des scénarios concrets plus vastes. 

**Pour enregistrer une tâche avec une fenêtre de maintenance**

1. Exécutez la commande suivante sur votre machine locale. Remplacez chaque *example resource placeholder* par vos propres informations. La version à exécuter à partir d'une machine Windows locale inclut les caractères d'échappement (« / ») dont vous avez besoin pour exécuter la commande à partir de votre outil de ligne de commande.

------
#### [ Linux & macOS ]

   ```
   aws ssm register-task-with-maintenance-window \
       --window-id mw-0c50858d01EXAMPLE \
       --task-arn "AWS-RunShellScript" \
       --max-concurrency 1 --max-errors 1 \
       --priority 10 \
       --targets "Key=InstanceIds,Values=i-0471e04240EXAMPLE" \
       --task-type "RUN_COMMAND" \
       --task-invocation-parameters '{"RunCommand":{"Parameters":{"commands":["df"]}}}'
   ```

------
#### [ Windows ]

   ```
   aws ssm register-task-with-maintenance-window ^
       --window-id mw-0c50858d01EXAMPLE ^
       --task-arn "AWS-RunShellScript" ^
       --max-concurrency 1 --max-errors 1 ^
       --priority 10 ^
       --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" ^
       --task-type "RUN_COMMAND" ^
       --task-invocation-parameters={\"RunCommand\":{\"Parameters\":{\"commands\":[\"df\"]}}}
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
   }
   ```

1. Maintenant, exécutez la commande suivante pour afficher les détails relatifs à la tâche de fenêtre de maintenance que vous avez créée. 

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-maintenance-window-tasks \
       --window-id mw-0c50858d01EXAMPLE
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-maintenance-window-tasks ^
       --window-id mw-0c50858d01EXAMPLE
   ```

------

1. Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "Tasks": [
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
               "TaskArn": "AWS-RunShellScript",
               "Type": "RUN_COMMAND",
               "Targets": [
                   {
                       "Key": "InstanceIds",
                       "Values": [
                           "i-02573cafcfEXAMPLE"
                       ]
                   }
               ],
               "TaskParameters": {},
               "Priority": 10,
               "ServiceRoleArn": "arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole",
               "MaxConcurrency": "1",
               "MaxErrors": "1"
           }
       ]
   }
   ```

1. Attendez que la tâche ait eu le temps d'être exécutée, conformément à la planification que vous avez spécifiée dans [Étape 1 : Créez la fenêtre de maintenance à l'aide du AWS CLI](mw-cli-tutorial-create-mw.md). Par exemple, si vous avez spécifié **--schedule "rate(5 minutes)"**, attendez cinq minutes. Ensuite, exécutez la commande suivante pour afficher des informations sur toutes les exécutions qui se sont produites pour cette tâche. 

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-maintenance-window-executions \
       --window-id mw-0c50858d01EXAMPLE
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-maintenance-window-executions ^
       --window-id mw-0c50858d01EXAMPLE
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowExecutions": [
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
               "Status": "SUCCESS",
               "StartTime": 1557593493.096,
               "EndTime": 1557593498.611
           }
       ]
   }
   ```

**Astuce**  
Une fois que la tâche s'est terminée avec succès, vous pouvez diminuer la fréquence à laquelle la fenêtre de maintenance s'exécute. Par exemple, exécutez la commande suivante pour réduire la fréquence à une fois par semaine. Remplacez *mw-0c50858d01EXAMPLE* par vos propres informations.  

```
aws ssm update-maintenance-window \
    --window-id mw-0c50858d01EXAMPLE \
    --schedule "rate(7 days)"
```

```
aws ssm update-maintenance-window ^
    --window-id mw-0c50858d01EXAMPLE ^
    --schedule "rate(7 days)"
```
Pour de plus amples informations sur la planification des fenêtres de maintenance, veuillez consulter [Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md) et [Options de planification de la fenêtre de maintenance et de période active](maintenance-windows-schedule-options.md).  
Pour plus d'informations sur l'utilisation du AWS Command Line Interface (AWS CLI) pour modifier une fenêtre de maintenance, consultez[Tutoriel : Mettre à jour une fenêtre de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-update.md).

Pour vous entraîner à exécuter AWS CLI des commandes afin d'obtenir plus de détails sur votre tâche de fenêtre de maintenance et ses exécutions, passez à[Tutoriel : Afficher les informations relatives aux tâches et à leur exécution à l'aide du AWS CLI](mw-cli-tutorial-task-info.md).

**Accès à la sortie des commandes du tutoriel**  
L'utilisation du pour afficher le *résultat* de la Run Command commande associée AWS CLI à l'exécution des tâches de votre fenêtre de maintenance n'entre pas dans le cadre de ce didacticiel.

Vous pouvez toutefois consulter ces données à l'aide du AWS CLI. (Vous pouvez également afficher la sortie dans la console Systems Manager ou dans un fichier journal stocké dans un compartiment Amazon Simple Storage Service [Amazon S3], si vous avez configuré la fenêtre de maintenance afin qu'elle stocke la sortie de commande à cet endroit.) Vous constaterez que la sortie de la commande **df** sur une instance EC2 pour Linux est similaire à ce qui suit.

```
Filesystem 1K-blocks Used Available Use% Mounted on

devtmpfs 485716 0 485716 0% /dev

tmpfs 503624 0 503624 0% /dev/shm

tmpfs 503624 328 503296 1% /run

tmpfs 503624 0 503624 0% /sys/fs/cgroup

/dev/xvda1 8376300 1464160 6912140 18% /
```

La sortie de la commande **ipconfig** sur une instance EC2 pour Windows Server est similaire à ce qui suit :

```
Windows IP Configuration


Ethernet adapter Ethernet 2:

   Connection-specific DNS Suffix  . : example.com
   IPv4 Address. . . . . . . . . . . : 10.24.34.0/23
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : 0.0.0.0

Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : abc1.wa.example.net

Wireless LAN adapter Local Area Connection* 1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::100b:c234:66d6:d24f%4
   IPv4 Address. . . . . . . . . . . : 192.0.2.0
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.0.2.0

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
```

# Exemples : Enregistrement de tâches avec une fenêtre de maintenance
<a name="mw-cli-register-tasks-examples"></a>

Vous pouvez enregistrer une tâche dansRun Command, un outil dans AWS Systems Manager, avec une fenêtre de maintenance à l'aide du AWS Command Line Interface (AWS CLI), comme illustré dans [Enregistrer des tâches dans la fenêtre de maintenance](mw-cli-tutorial-tasks.md). Vous pouvez également enregistrer des tâches pour les flux de travail, les AWS Lambda fonctions et les AWS Step Functions tâches de Systems Manager Automation, comme expliqué plus loin dans cette rubrique.

**Note**  
Spécifiez une ou plusieurs cibles pour des tâches de fenêtre de maintenance de type Run Command. En fonction de la tâche, les cibles sont facultatives pour les autres types de tâches de la fenêtre de maintenance (Automation AWS Lambda, et AWS Step Functions). Pour de plus amples informations sur l'exécution de tâches qui ne spécifient pas de cibles, consultez [Enregistrement de tâches de fenêtre de maintenance sans cibles](maintenance-windows-targetless-tasks.md).

Dans cette rubrique, nous donnons des exemples d'utilisation de la commande AWS Command Line Interface (AWS CLI) `register-task-with-maintenance-window` pour enregistrer chacun des quatre types de tâches pris en charge avec une fenêtre de maintenance. Les exemples sont uniquement fournis à titre de démonstration. Mais vous pouvez les modifier afin de créer des commandes réelles d'enregistrement des tâches. 

**Utilisation de l'cli-input-json option --**  
Afin de mieux gérer vos options de tâches, vous pouvez utiliser l'option de commande `--cli-input-json`, avec les valeurs d'options référencées dans un fichier JSON. 

Pour utiliser l'exemple de contenu de fichier JSON que nous fournissons dans les exemples suivants, effectuez les opérations suivantes sur votre machine locale :

1. Créez un fichier portant un nom comme `MyRunCommandTask.json`, `MyAutomationTask.json` ou tout autre nom de votre choix.

1. Copiez le contenu de notre exemple JSON dans le fichier.

1. Modifiez le contenu du fichier pour l'enregistrement de vos tâches, puis enregistrez le fichier.

1. Dans le répertoire où vous avez stocké le fichier, exécutez la commande suivante. Remplacez le nom de votre fichier par*MyFile.json*. 

------
#### [ Linux & macOS ]

   ```
   aws ssm register-task-with-maintenance-window \
       --cli-input-json file://MyFile.json
   ```

------
#### [ Windows ]

   ```
   aws ssm register-task-with-maintenance-window ^
       --cli-input-json file://MyFile.json
   ```

------

**Pseudo paramètres dans les tâches de la fenêtre de maintenance**  
Dans certains exemples, nous utilisons des *pseudo-paramètres* comme méthode pour transmettre des informations d'ID à vos tâches. Par exemple, il `{{TARGET_ID}}` `{{RESOURCE_ID}}` peut être utilisé pour transmettre IDs des AWS ressources aux tâches Automation, Lambda et Step Functions. Pour plus d'informations sur les pseudo-paramètres dans les contenus `--task-invocation-parameters`, consultez [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md). 

**Plus d'informations**  
+ [Options de paramètres pour la commande register-task-with-maintenance -windows](mw-cli-task-options.md).
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html) dans la *référence de commande de l'AWS CLI *
+ [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTaskWithMaintenanceWindow.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTaskWithMaintenanceWindow.html) dans la *Référence d'API AWS Systems Manager *

## Exemples d'enregistrement de tâches
<a name="task-examples"></a>

Les sections suivantes fournissent un exemple de AWS CLI commande pour enregistrer un type de tâche pris en charge et un exemple JSON qui peut être utilisé avec l'`--cli-input-json`option.

### Enregistrer une tâche Systems Manager Run Command
<a name="register-tasks-tutorial-run-command"></a>

Les exemples suivants montrent comment enregistrer des tâches Systems Manager Run Command avec une fenêtre de maintenance à l'aide de l' AWS CLI.

------
#### [ Linux & macOS ]

```
aws ssm register-task-with-maintenance-window \
    --window-id mw-0c50858d01EXAMPLE \
    --task-arn "AWS-RunShellScript" \
    --max-concurrency 1 --max-errors 1 --priority 10 \
    --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" \
    --task-type "RUN_COMMAND" \
    --task-invocation-parameters '{"RunCommand":{"Parameters":{"commands":["df"]}}}'
```

------
#### [ Windows ]

```
aws ssm register-task-with-maintenance-window ^
    --window-id mw-0c50858d01EXAMPLE ^
    --task-arn "AWS-RunShellScript" ^
    --max-concurrency 1 --max-errors 1 --priority 10 ^
    --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" ^
    --task-type "RUN_COMMAND" ^
    --task-invocation-parameters "{\"RunCommand\":{\"Parameters\":{\"commands\":[\"df\"]}}}"
```

------

**Contenu JSON à utiliser avec l'option de fichier `--cli-input-json` :**

```
{
    "TaskType": "RUN_COMMAND",
    "WindowId": "mw-0c50858d01EXAMPLE",
    "Description": "My Run Command task to update SSM Agent on an instance",
    "MaxConcurrency": "1",
    "MaxErrors": "1",
    "Name": "My-Run-Command-Task",
    "Priority": 10,
    "Targets": [
        {
            "Key": "WindowTargetIds",
            "Values": [
                "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            ]
        }
    ],
    "TaskArn": "AWS-UpdateSSMAgent",
    "TaskInvocationParameters": {
        "RunCommand": {
            "Comment": "A TaskInvocationParameters test comment",
            "NotificationConfig": {
                "NotificationArn": "arn:aws:sns:region:123456789012:my-sns-topic-name",
                "NotificationEvents": [
                    "All"
                ],
                "NotificationType": "Invocation"
            },
            "OutputS3BucketName": "amzn-s3-demo-bucket",
            "OutputS3KeyPrefix": "S3-PREFIX",
            "TimeoutSeconds": 3600
        }
    }
}
```

### Enregistrer une tâche Systems Manager Automation
<a name="register-tasks-tutorial-automation"></a>

Les exemples suivants montrent comment enregistrer des tâches Automation Systems Manager avec une fenêtre de maintenance à l'aide de l' AWS CLI : 

**AWS CLI commande :**

------
#### [ Linux & macOS ]

```
aws ssm register-task-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --task-arn "AWS-RestartEC2Instance" \
    --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole \
    --task-type AUTOMATION \
    --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" \
    --priority 0 --name "My-Restart-EC2-Instances-Automation-Task" \
    --description "Automation task to restart EC2 instances"
```

------
#### [ Windows ]

```
aws ssm register-task-with-maintenance-window ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --task-arn "AWS-RestartEC2Instance" ^
    --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole ^
    --task-type AUTOMATION ^
    --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{TARGET_ID}}'}}" ^
    --priority 0 --name "My-Restart-EC2-Instances-Automation-Task" ^
    --description "Automation task to restart EC2 instances"
```

------

**Contenu JSON à utiliser avec l'option de fichier `--cli-input-json` :**

```
{
    "WindowId": "mw-0c50858d01EXAMPLE",
        "TaskArn": "AWS-PatchInstanceWithRollback",
    "TaskType": "AUTOMATION","TaskInvocationParameters": {
        "Automation": {
            "DocumentVersion": "1",
            "Parameters": {
                "instanceId": [
                    "{{RESOURCE_ID}}"
                ]
            }
        }
    }
}
```

### Enregistrer une AWS Lambda tâche
<a name="register-tasks-tutorial-lambda"></a>

Les exemples suivants montrent comment enregistrer des tâches de fonctions Lambda avec une fenêtre de maintenance à l'aide de la AWS CLI. 

Pour ces exemples, l'utilisateur qui a créé la fonction Lambda l'a nommée `SSMrestart-my-instances` et a créé deux paramètres appelés `instanceId` et `targetType`.

**Important**  
La politique IAM pour Maintenance Windows exige que vous donniez un préfixe `SSM` à la fonction Lambda (ou alias). Avant de procéder à l'enregistrement de ce type de tâche, mettez à jour son nom AWS Lambda pour inclure`SSM`. Par exemple, si votre nom de fonction Lambda est `MyLambdaFunction`, remplacez-le par `SSMMyLambdaFunction`.

**AWS CLI commande :**

------
#### [ Linux & macOS ]

**Important**  
Si vous utilisez la version 2 du AWS CLI, vous devez inclure l'option `--cli-binary-format raw-in-base64-out` dans la commande suivante si votre charge utile Lambda n'est pas codée en base64. L'option `cli_binary_format` n'est disponible que dans la version 2. Pour plus d'informations à ce sujet et sur d'autres paramètres de AWS CLI `config` fichier, consultez la section [Paramètres de `config` fichiers pris en charge](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings) dans le *Guide de AWS Command Line Interface l'utilisateur*.

```
aws ssm register-task-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
    --priority 2 --max-concurrency 10 --max-errors 5 --name "My-Lambda-Example" \
    --description "A description for my LAMBDA example task" --task-type "LAMBDA" \
    --task-arn "arn:aws:lambda:region:123456789012:function:serverlessrepo-SSMrestart-my-instances-C4JF9EXAMPLE" \
    --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}","Qualifier": "$LATEST"}}'
```

------
#### [ PowerShell ]

**Important**  
Si vous utilisez la version 2 du AWS CLI, vous devez inclure l'option `--cli-binary-format raw-in-base64-out` dans la commande suivante si votre charge utile Lambda n'est pas codée en base64. L'option `cli_binary_format` n'est disponible que dans la version 2. Pour plus d'informations à ce sujet et sur d'autres paramètres de AWS CLI `config` fichier, consultez la section [Paramètres de `config` fichiers pris en charge](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings) dans le *Guide de AWS Command Line Interface l'utilisateur*.

```
aws ssm register-task-with-maintenance-window `
    --window-id "mw-0c50858d01EXAMPLE" `
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" `
    --priority 2 --max-concurrency 10 --max-errors 5 --name "My-Lambda-Example" `
    --description "A description for my LAMBDA example task" --task-type "LAMBDA" `
    --task-arn "arn:aws:lambda:region:123456789012:function:serverlessrepo-SSMrestart-my-instances-C4JF9EXAMPLE" `
    --task-invocation-parameters '{\"Lambda\":{\"Payload\":\"{\\\"InstanceId\\\":\\\"{{RESOURCE_ID}}\\\",\\\"targetType\\\":\\\"{{TARGET_TYPE}}\\\"}\",\"Qualifier\": \"$LATEST\"}}'
```

------

**Contenu JSON à utiliser avec l'option de fichier `--cli-input-json` :**

```
{
    "WindowId": "mw-0c50858d01EXAMPLE",
    "Targets": [
        {
            "Key": "WindowTargetIds",
            "Values": [
                "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            ]
        }
    ],
    "TaskArn": "SSM_RestartMyInstances",
    "TaskType": "LAMBDA",
    "MaxConcurrency": "10",
    "MaxErrors": "10",
    "TaskInvocationParameters": {
        "Lambda": {
            "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE",
            "Payload": "{ \"instanceId\": \"{{RESOURCE_ID}}\", \"targetType\": \"{{TARGET_TYPE}}\" }",
            "Qualifier": "$LATEST"
        }
    },
    "Name": "My-Lambda-Task",
    "Description": "A description for my LAMBDA task",
    "Priority": 5
}
```

### Enregistrer une tâche Step Functions
<a name="register-tasks-tutorial-step-functions"></a>

Les exemples suivants montrent comment enregistrer des tâches de machine d'état Step Functions avec une fenêtre de maintenance à l'aide de la AWS CLI.

**Note**  
Les tâches de fenêtre de maintenance prennent uniquement en charge les flux de travail de machine d’état Standard Step Functions. Elles ne prennent pas en charge les flux de travail de machine d’état Express. Pour plus d’informations sur les types de flux de travail de machine d’état, consultez [Flux de travail Standard vs. Express](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html) dans le *Guide du développeur AWS Step Functions *.

Pour ces exemples, l'utilisateur qui a créé la machine d'état Step Functions à créé une machine d'état nommée `SSMMyStateMachine` avec un paramètre appelé `instanceId`.

**Important**  
La politique Gestion des identités et des accès AWS (IAM) pour Maintenance Windows exige que vous préfixiez les noms des machines d'état Step Functions par. `SSM` Avant de procéder à l'enregistrement de ce type de tâche, vous devez mettre à jour son nom dans AWS Step Functions pour inclure `SSM`. Par exemple, si le nom de votre machine d'état est `MyStateMachine`, remplacez-le par `SSMMyStateMachine`.

**AWS CLI commande :**

------
#### [ Linux & macOS ]

```
aws ssm register-task-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
    --task-arn arn:aws:states:region:123456789012:stateMachine:SSMMyStateMachine-MggiqEXAMPLE \
    --task-type STEP_FUNCTIONS \
    --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}", "Name":"{{INVOCATION_ID}}"}}' \
    --priority 0 --max-concurrency 10 --max-errors 5 \
    --name "My-Step-Functions-Task" --description "A description for my Step Functions task"
```

------
#### [ PowerShell ]

```
aws ssm register-task-with-maintenance-window `
    --window-id "mw-0c50858d01EXAMPLE" `
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" `
    --task-arn arn:aws:states:region:123456789012:stateMachine:SSMMyStateMachine-MggiqEXAMPLE `
    --task-type STEP_FUNCTIONS `
    --task-invocation-parameters '{\"StepFunctions\":{\"Input\":\"{\\\"InstanceId\\\":\\\"{{RESOURCE_ID}}\\\"}\", \"Name\":\"{{INVOCATION_ID}}\"}}' `
    --priority 0 --max-concurrency 10 --max-errors 5 `
    --name "My-Step-Functions-Task" --description "A description for my Step Functions task"
```

------

**Contenu JSON à utiliser avec l'option de fichier `--cli-input-json` :**

```
{
    "WindowId": "mw-0c50858d01EXAMPLE",
    "Targets": [
        {
            "Key": "WindowTargetIds",
            "Values": [
                "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            ]
        }
    ],
    "TaskArn": "SSM_MyStateMachine",
    "TaskType": "STEP_FUNCTIONS",
    "MaxConcurrency": "10",
    "MaxErrors": "10",
    "TaskInvocationParameters": {
        "StepFunctions": {
            "Input": "{ \"instanceId\": \"{{TARGET_ID}}\" }",
            "Name": "{{INVOCATION_ID}}"
        }
    },
    "Name": "My-Step-Functions-Task",
    "Description": "A description for my Step Functions task",
    "Priority": 5
}
```

# Options de paramètres pour la commande register-task-with-maintenance -windows
<a name="mw-cli-task-options"></a>

La commande **register-task-with-maintenance-window** fournit plusieurs options pour configurer une tâche en fonction de vos besoins. Certaines sont requises, certaines sont facultatives et d'autres s'appliquent à un seul type de tâche de fenêtre de maintenance.

Cette rubrique fournit des informations sur certaines de ces options pour vous aider à utiliser les exemples de cette section du didacticiel. Pour plus d'informations sur les autres options de commande, consultez **[https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html)** dans la *Référence Command AWS CLI *.

**Option de commande : `--task-arn`**  
L'option `--task-arn` est utilisée pour spécifier la ressource sur laquelle la tâche opère. La valeur que vous spécifiez dépend du type de tâche que vous enregistrez, comme décrit dans le tableau suivant.


**TaskArn formats pour les tâches de la fenêtre de maintenance**  

| Type de tâche de fenêtre de maintenance | TaskArn valeur | 
| --- | --- | 
|  **`RUN_COMMAND`** et ** `AUTOMATION`**  |  `TaskArn` correspond au nom ou à l'Amazon Resource Name (ARN) du nom du document SSM. Par exemple :  `AWS-RunBatchShellScript`  -ou- `arn:aws:ssm:region:111122223333:document/My-Document`.  | 
|  **`LAMBDA`**  |  `TaskArn` est le nom de fonction ou l'ARN. Par exemple :  `SSMMy-Lambda-Function` -ou- `arn:aws:lambda:region:111122223333:function:SSMMyLambdaFunction`.  La politique IAM pour Maintenance Windows exige que vous donniez un préfixe `SSM` à la fonction Lambda (ou alias). Avant de procéder à l'enregistrement de ce type de tâche, mettez à jour son nom AWS Lambda pour inclure`SSM`. Par exemple, si votre nom de fonction Lambda est `MyLambdaFunction`, remplacez-le par `SSMMyLambdaFunction`.   | 
|  **`STEP_FUNCTIONS`**  |  `TaskArn` est l'ARN de la machine d'état. Par exemple :  `arn:aws:states:us-east-2:111122223333:stateMachine:SSMMyStateMachine`.  La politique IAM pour les fenêtres de maintenance exige que vous donniez un préfixe aux noms de machines d'état Step Functions avec `SSM`. Avant d'enregistrer ce type de tâche, vous devez mettre à jour son nom dans AWS Step Functions pour inclure `SSM`. Par exemple, si le nom de votre machine d'état est `MyStateMachine`, remplacez-le par `SSMMyStateMachine`.   | 

**Option de commande : `--service-role-arn`**  
Le rôle AWS Systems Manager à assumer lors de l'exécution de la tâche de fenêtre de maintenance. 

Pour de plus amples informations, consultez [Configuration de Maintenance Windows](setting-up-maintenance-windows.md).

**Option de commande : `--task-invocation-parameters`**  
L'option `--task-invocation-parameters` permet de spécifier les paramètres qui sont spécifiques à chacun des quatre types de tâches. Les paramètres pris en charge pour chacun des quatre types de tâches sont décrits dans le tableau suivant.

**Note**  
Pour plus d'informations sur l'utilisation des pseudo-paramètres dans le contenu `--task-invocation-parameters`, comme \$1\$1TARGET\$1ID\$1\$1, consultez [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md). 

Options de paramètres d’invocation de tâches pour les tâches de fenêtres de maintenance


| Type de tâche de fenêtre de maintenance | Paramètres disponibles  | Exemple | 
| --- | --- | --- | 
|  **`RUN_COMMAND`**  |  `Comment` `DocumentHash` `DocumentHashType` `NotificationConfig` `OutputS3BucketName` `OutPutS3KeyPrefix` `Parameters` `ServiceRoleArn` `TimeoutSeconds`  |  <pre>"TaskInvocationParameters": {<br />        "RunCommand": {<br />            "Comment": "My Run Command task comment",<br />            "DocumentHash": "6554ed3d--truncated--5EXAMPLE",<br />            "DocumentHashType": "Sha256",<br />            "NotificationConfig": {<br />                "NotificationArn": "arn:aws:sns:region:123456789012:my-sns-topic-name",<br />                "NotificationEvents": [<br />                    "FAILURE"<br />                ],<br />                "NotificationType": "Invocation"<br />            },<br />            "OutputS3BucketName": "amzn-s3-demo-bucket",<br />            "OutputS3KeyPrefix": "S3-PREFIX",<br />            "Parameters": {<br />                "commands": [<br />                    "Get-ChildItem$env: temp-Recurse|Remove-Item-Recurse-force"<br />                ]<br />            },<br />            "ServiceRoleArn": "arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole",<br />            "TimeoutSeconds": 3600<br />        }<br />    }</pre>  | 
|  **`AUTOMATION`**  |  `DocumentVersion` `Parameters`  |  <pre>"TaskInvocationParameters": {<br />        "Automation": {<br />            "DocumentVersion": "3",<br />            "Parameters": {<br />                "instanceid": [<br />                    "{{TARGET_ID}}"<br />                ]<br />            }<br />        }<br />    }</pre>  | 
|  **`LAMBDA`**  |  `ClientContext` `Payload` `Qualifier`  |  <pre>"TaskInvocationParameters": {<br />        "Lambda": {<br />            "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE",<br />            "Payload": "{ \"targetId\": \"{{TARGET_ID}}\", \"targetType\": \"{{TARGET_TYPE}}\" }",<br />            "Qualifier": "$LATEST"<br />        }<br />    }</pre>  | 
|  **`STEP_FUNCTIONS`**  |  `Input` `Name`  |  <pre>"TaskInvocationParameters": {<br />        "StepFunctions": {<br />            "Input": "{ \"targetId\": \"{{TARGET_ID}}\" }",<br />            "Name": "{{INVOCATION_ID}}"<br />        }<br />    }</pre>  | 

# Tutoriel : Afficher les informations relatives aux fenêtres de maintenance à l'aide du AWS CLI
<a name="maintenance-windows-cli-tutorials-describe"></a>

Ce didacticiel inclut des commandes pour vous aider à mettre à jour ou obtenir les informations sur vos fenêtres de maintenance, tâches, exécutions et appels. Les exemples sont organisés par commande pour montrer comment utiliser les options de commande afin de filtrer le type de détail que vous souhaitez afficher.

Au fur et à mesure que vous suivez les étapes de ce didacticiel, remplacez les valeurs en *red* italique par vos propres options et. IDs Par exemple, remplacez l'ID de fenêtre de maintenance *mw-0c50858d01EXAMPLE* et l'ID d'instance *i-02573cafcfEXAMPLE* par IDs des ressources que vous créez.

Pour plus d'informations sur l'installation et la configuration du AWS Command Line Interface (AWS CLI), voir [Installation, mise à jour et désinstallation du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) et [Configuration du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

**Topics**
+ [Exemples pour « describe-maintenance-windows »](#mw-cli-tutorials-describe-maintenance-windows)
+ [Exemples pour « describe-maintenance-window-targets »](#mw-cli-tutorials-describe-maintenance-window-targets)
+ [Exemples pour « describe-maintenance-window-tasks »](#mw-cli-tutorials-describe-maintenance-window-tasks)
+ [Exemples pour « describe-maintenance-windows-for -target »](#mw-cli-tutorials-describe-maintenance-windows-for-target)
+ [Exemples pour « describe-maintenance-window-executions »](#mw-cli-tutorials-describe-maintenance-window-executions)
+ [Exemples pour « describe-maintenance-window-schedule »](#mw-cli-tutorials-describe-maintenance-window-schedule)

## Exemples pour « describe-maintenance-windows »
<a name="mw-cli-tutorials-describe-maintenance-windows"></a>

**Répertoriez toutes les fenêtres de maintenance de votre Compte AWS**  
Exécutez la commande suivante.

```
aws ssm describe-maintenance-windows
```

Le système renvoie des informations similaires à ce qui suit :

```
{
   "WindowIdentities":[
      {
         "WindowId":"mw-0c50858d01EXAMPLE",
         "Name":"My-First-Maintenance-Window",
         "Enabled":true,
         "Duration":2,
         "Cutoff":0,
         "NextExecutionTime": "2019-05-18T17:01:01.137Z"        
      },
      {
         "WindowId":"mw-9a8b7c6d5eEXAMPLE",
         "Name":"My-Second-Maintenance-Window",
         "Enabled":true,
         "Duration":4,
         "Cutoff":1,
         "NextExecutionTime": "2019-05-30T03:30:00.137Z"        
      },
   ]
}
```

**Affichage de toutes les fenêtres de maintenance activées**  
Exécutez la commande suivante.

```
aws ssm describe-maintenance-windows --filters "Key=Enabled,Values=true"
```

Le système renvoie des informations similaires à ce qui suit :

```
{
   "WindowIdentities":[
      {
         "WindowId":"mw-0c50858d01EXAMPLE",
         "Name":"My-First-Maintenance-Window",
         "Enabled":true,
         "Duration":2,
         "Cutoff":0,
         "NextExecutionTime": "2019-05-18T17:01:01.137Z"        
      },
      {
         "WindowId":"mw-9a8b7c6d5eEXAMPLE",
         "Name":"My-Second-Maintenance-Window",
         "Enabled":true,
         "Duration":4,
         "Cutoff":1,
         "NextExecutionTime": "2019-05-30T03:30:00.137Z"        
      },
   ]
}
```

**Affichage de toutes les fenêtres de maintenance désactivées**  
Exécutez la commande suivante.

```
aws ssm describe-maintenance-windows --filters "Key=Enabled,Values=false"
```

Le système renvoie des informations similaires à ce qui suit :

```
{
    "WindowIdentities": [
        {
            "WindowId": "mw-6e5c9d4b7cEXAMPLE",
            "Name": "My-Disabled-Maintenance-Window",
            "Enabled": false,
            "Duration": 2,
            "Cutoff": 1
        }
    ]
}
```

**Répertorier toutes les fenêtres de maintenance dont les noms commencent par un préfixe donné**  
Exécutez la commande suivante.

```
aws ssm describe-maintenance-windows --filters "Key=Name,Values=My"
```

Le système renvoie des informations similaires à ce qui suit :

```
{
    "WindowIdentities": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "Enabled": true,
            "Duration": 2,
            "Cutoff": 0,
            "NextExecutionTime": "2019-05-18T17:01:01.137Z"
        },
        {
            "WindowId": "mw-9a8b7c6d5eEXAMPLE",
            "Name": "My-Second-Maintenance-Window",
            "Enabled": true,
            "Duration": 4,
            "Cutoff": 1,
            "NextExecutionTime": "2019-05-30T03:30:00.137Z"
        },
        {
            "WindowId": "mw-6e5c9d4b7cEXAMPLE",
            "Name": "My-Disabled-Maintenance-Window",
            "Enabled": false,
            "Duration": 2,
            "Cutoff": 1
        }
    ]
}
```

## Exemples pour « describe-maintenance-window-targets »
<a name="mw-cli-tutorials-describe-maintenance-window-targets"></a>

**Affichage des cibles d'une fenêtre de maintenance correspondant à une valeur d'Information d'un propriétaire spécifique**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-targets \
    --window-id "mw-6e5c9d4b7cEXAMPLE" \
    --filters "Key=OwnerInformation,Values=CostCenter1"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-targets ^
    --window-id "mw-6e5c9d4b7cEXAMPLE" ^
    --filters "Key=OwnerInformation,Values=CostCenter1"
```

------

**Note**  
Les clés de filtres prises en charge sont `Type`, `WindowTargetId` et `OwnerInformation`.

Le système renvoie des informations similaires à ce qui suit :

```
{
    "Targets": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE",
            "ResourceType": "INSTANCE",
            "Targets": [
                {
                    "Key": "tag:Name",
                    "Values": [
                        "Production"
                    ]
                }
            ],
            "OwnerInformation": "CostCenter1",
            "Name": "Target1"
        }
    ]
}
```

## Exemples pour « describe-maintenance-window-tasks »
<a name="mw-cli-tutorials-describe-maintenance-window-tasks"></a>

**Afficher toutes les tâches enregistrées qui appellent le document de commande SSM `AWS-RunPowerShellScript`**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-tasks \
    --window-id "mw-0c50858d01EXAMPLE" \
    --filters "Key=TaskArn,Values=AWS-RunPowerShellScript"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-tasks ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --filters "Key=TaskArn,Values=AWS-RunPowerShellScript"
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
   "Tasks":[
      {
         "ServiceRoleArn": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
         "MaxErrors":"1",
         "TaskArn":"AWS-RunPowerShellScript",
         "MaxConcurrency":"1",
         "WindowTaskId":"4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
         "TaskParameters":{
            "commands":{
               "Values":[
                  "driverquery.exe"
               ]
            }
         },
         "Priority":3,
         "Type":"RUN_COMMAND",
         "Targets":[
            {
               "TaskTargetId":"i-02573cafcfEXAMPLE",
               "TaskTargetType":"INSTANCE"
            }
         ]
      },
      {
         "ServiceRoleArn":"arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
         "MaxErrors":"1",
         "TaskArn":"AWS-RunPowerShellScript",
         "MaxConcurrency":"1",
         "WindowTaskId":"4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
         "TaskParameters":{
            "commands":{
               "Values":[
                  "ipconfig"
               ]
            }
         },
         "Priority":1,
         "Type":"RUN_COMMAND",
         "Targets":[
            {
               "TaskTargetId":"i-02573cafcfEXAMPLE",
               "TaskTargetType":"WINDOW_TARGET"
            }
         ]
      }
   ]
}
```

**Afficher toutes les tâches enregistrées qui ont une priorité égale à « 3 »**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-tasks \
    --window-id "mw-9a8b7c6d5eEXAMPLE" \
    --filters "Key=Priority,Values=3"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-tasks ^
    --window-id "mw-9a8b7c6d5eEXAMPLE" ^
    --filters "Key=Priority,Values=3"
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
   "Tasks":[
      {
         "ServiceRoleArn":"arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
         "MaxErrors":"1",
         "TaskArn":"AWS-RunPowerShellScript",
         "MaxConcurrency":"1",
         "WindowTaskId":"4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
         "TaskParameters":{
            "commands":{
               "Values":[
                  "driverquery.exe"
               ]
            }
         },
         "Priority":3,
         "Type":"RUN_COMMAND",
         "Targets":[
            {
               "TaskTargetId":"i-02573cafcfEXAMPLE",
               "TaskTargetType":"INSTANCE"
            }
         ]
      }
   ]
}
```

**Afficher toutes les tâches enregistrées qui ont une priorité égale à « 1 » et qui utilisent la fonctionnalité Run Command**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-tasks \
    --window-id "mw-0c50858d01EXAMPLE" \
    --filters "Key=Priority,Values=1" "Key=TaskType,Values=RUN_COMMAND"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-tasks ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --filters "Key=Priority,Values=1" "Key=TaskType,Values=RUN_COMMAND"
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
    "Tasks": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
            "TaskArn": "AWS-RunShellScript",
            "Type": "RUN_COMMAND",
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-02573cafcfEXAMPLE"
                    ]
                }
            ],
            "TaskParameters": {},
            "Priority": 1,
            "ServiceRoleArn": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
            "MaxConcurrency": "1",
            "MaxErrors": "1"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "WindowTaskId": "8a5c4629-31b0-4edd-8aea-33698EXAMPLE",
            "TaskArn": "AWS-UpdateSSMAgent",
            "Type": "RUN_COMMAND",
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-0471e04240EXAMPLE"
                    ]
                }
            ],
            "TaskParameters": {},
            "Priority": 1,
            "ServiceRoleArn": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
            "MaxConcurrency": "1",
            "MaxErrors": "1",
            "Name": "My-Run-Command-Task",
            "Description": "My Run Command task to update SSM Agent on an instance"
        }
    ]
}
```

## Exemples pour « describe-maintenance-windows-for -target »
<a name="mw-cli-tutorials-describe-maintenance-windows-for-target"></a>

**Répertorier les informations relatives aux cibles ou tâches de fenêtre de maintenance associées à un nœud spécifique**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-windows-for-target \
    --resource-type INSTANCE \
    --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" \
    --max-results 10
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-windows-for-target ^
    --resource-type INSTANCE ^
    --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" ^
    --max-results 10
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
    "WindowIdentities": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window"
        },
        {
            "WindowId": "mw-9a8b7c6d5eEXAMPLE",
            "Name": "My-Second-Maintenance-Window"
        }
    ]
}
```

## Exemples pour « describe-maintenance-window-executions »
<a name="mw-cli-tutorials-describe-maintenance-window-executions"></a>

**Répertorier toutes les tâches exécutées avant une date donnée**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-executions \
    --window-id "mw-9a8b7c6d5eEXAMPLE" \
    --filters "Key=ExecutedBefore,Values=2019-05-12T05:00:00Z"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-executions ^
    --window-id "mw-9a8b7c6d5eEXAMPLE" ^
    --filters "Key=ExecutedBefore,Values=2019-05-12T05:00:00Z"
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
    "WindowExecutions": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
            "Status": "FAILED",
            "StatusDetails": "The following SSM parameters are invalid: LevelUp",
            "StartTime": 1557617747.993,
            "EndTime": 1557617748.101
        },
        {
            "WindowId": "mw-9a8b7c6d5eEXAMPLE",
            "WindowExecutionId": "791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
            "Status": "SUCCESS",
            "StartTime": 1557594085.428,
            "EndTime": 1557594090.978
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "WindowExecutionId": "ecec60fa-6bb0-4d26-98c7-140308EXAMPLE",
            "Status": "SUCCESS",
            "StartTime": 1557593793.483,
            "EndTime": 1557593798.978
        }
    ]
}
```

**Répertorier toutes les tâches exécutées après une date donnée**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-executions \
    --window-id "mw-9a8b7c6d5eEXAMPLE" \
    --filters "Key=ExecutedAfter,Values=2018-12-31T17:00:00Z"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-executions ^
    --window-id "mw-9a8b7c6d5eEXAMPLE" ^
    --filters "Key=ExecutedAfter,Values=2018-12-31T17:00:00Z"
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
    "WindowExecutions": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
            "Status": "FAILED",
            "StatusDetails": "The following SSM parameters are invalid: LevelUp",
            "StartTime": 1557617747.993,
            "EndTime": 1557617748.101
        },
        {
            "WindowId": "mw-9a8b7c6d5eEXAMPLE",
            "WindowExecutionId": "791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
            "Status": "SUCCESS",
            "StartTime": 1557594085.428,
            "EndTime": 1557594090.978
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "WindowExecutionId": "ecec60fa-6bb0-4d26-98c7-140308EXAMPLE",
            "Status": "SUCCESS",
            "StartTime": 1557593793.483,
            "EndTime": 1557593798.978
        }
    ]
}
```

## Exemples pour « describe-maintenance-window-schedule »
<a name="mw-cli-tutorials-describe-maintenance-window-schedule"></a>

**Afficher les dix exécutions de fenêtre de maintenance planifiées suivantes pour un nœud particulier**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-schedule \
    --resource-type INSTANCE \
    --targets "Key=InstanceIds,Values=i-07782c72faEXAMPLE" \
    --max-results 10
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-schedule ^
    --resource-type INSTANCE ^
    --targets "Key=InstanceIds,Values=i-07782c72faEXAMPLE" ^
    --max-results 10
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
    "ScheduledWindowExecutions": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "ExecutionTime": "2019-05-18T23:35:24.902Z"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "ExecutionTime": "2019-05-25T23:35:24.902Z"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "ExecutionTime": "2019-06-01T23:35:24.902Z"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "ExecutionTime": "2019-06-08T23:35:24.902Z"
        },
        {
            "WindowId": "mw-9a8b7c6d5eEXAMPLE",
            "Name": "My-Second-Maintenance-Window",
            "ExecutionTime": "2019-06-15T23:35:24.902Z"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "ExecutionTime": "2019-06-22T23:35:24.902Z"
        },
        {
            "WindowId": "mw-9a8b7c6d5eEXAMPLE",
            "Name": "My-Second-Maintenance-Window",
            "ExecutionTime": "2019-06-29T23:35:24.902Z"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "ExecutionTime": "2019-07-06T23:35:24.902Z"
        },
        {
            "WindowId": "mw-9a8b7c6d5eEXAMPLE",
            "Name": "My-Second-Maintenance-Window",
            "ExecutionTime": "2019-07-13T23:35:24.902Z"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "My-First-Maintenance-Window",
            "ExecutionTime": "2019-07-20T23:35:24.902Z"
        }
    ],
    "NextToken": "AAEABUXdceT92FvtKld/dGHELj5Mi+GKW/EXAMPLE"
}
```

**Afficher le calendrier des fenêtres de maintenance pour les nœuds balisés avec une paire clé-valeur donnée**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-schedule \
    --resource-type INSTANCE \
    --targets "Key=tag:prod,Values=rhel7"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-schedule ^
    --resource-type INSTANCE ^
    --targets "Key=tag:prod,Values=rhel7"
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
    "ScheduledWindowExecutions": [
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "DemoRateStartDate",
            "ExecutionTime": "2019-10-20T05:34:56-07:00"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "DemoRateStartDate",
            "ExecutionTime": "2019-10-21T05:34:56-07:00"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "DemoRateStartDate",
            "ExecutionTime": "2019-10-22T05:34:56-07:00"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "DemoRateStartDate",
            "ExecutionTime": "2019-10-23T05:34:56-07:00"
        },
        {
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Name": "DemoRateStartDate",
            "ExecutionTime": "2019-10-24T05:34:56-07:00"
        }
    ],
    "NextToken": "AAEABccwSXqQRGKiTZ1yzGELR6cxW4W/EXAMPLE"
}
```

**Afficher les heures de début des quatre prochaines exécutions d'une fenêtre de maintenance**  
Exécutez la commande suivante.

------
#### [ Linux & macOS ]

```
aws ssm describe-maintenance-window-schedule \
    --window-id "mw-0c50858d01EXAMPLE" \
    --max-results "4"
```

------
#### [ Windows ]

```
aws ssm describe-maintenance-window-schedule ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --max-results "4"
```

------

Le système renvoie des informations similaires à ce qui suit :

```
{
    "WindowSchedule": [
        {
            "ScheduledWindowExecutions": [
                {
                    "ExecutionTime": "2019-10-04T10:10:10Z",
                    "Name": "My-First-Maintenance-Window",
                    "WindowId": "mw-0c50858d01EXAMPLE"
                },
                {
                    "ExecutionTime": "2019-10-11T10:10:10Z",
                    "Name": "My-First-Maintenance-Window",
                    "WindowId": "mw-0c50858d01EXAMPLE"
                },
                {
                    "ExecutionTime": "2019-10-18T10:10:10Z",
                    "Name": "My-First-Maintenance-Window",
                    "WindowId": "mw-0c50858d01EXAMPLE"
                },
                {
                    "ExecutionTime": "2019-10-25T10:10:10Z",
                    "Name": "My-First-Maintenance-Window",
                    "WindowId": "mw-0c50858d01EXAMPLE"
                }
            ]
        }
    ]
}
```

# Tutoriel : Afficher les informations relatives aux tâches et à leur exécution à l'aide du AWS CLI
<a name="mw-cli-tutorial-task-info"></a>

Ce didacticiel explique comment utiliser le AWS Command Line Interface (AWS CLI) pour afficher les détails des tâches de votre fenêtre de maintenance terminées. 

Si vous passez directement à ce didacticiel à partir de [Tutoriel : Création et configuration d'une fenêtre de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-create.md), assurez-vous d'avoir laissé assez de temps à votre fenêtre de maintenance pour qu'elle s'exécute au moins une fois afin de pouvoir afficher ses résultats d'exécution.

Au fur et à mesure que vous suivez les étapes de ce didacticiel, remplacez les valeurs en *red* italique par vos propres options et. IDs Par exemple, remplacez l'ID de fenêtre de maintenance *mw-0c50858d01EXAMPLE* et l'ID d'instance *i-02573cafcfEXAMPLE* par IDs des ressources que vous créez.

**Pour afficher des informations sur les tâches et leur exécution à l'aide du AWS CLI**

1. Exécutez la commande suivante pour afficher la liste des exécutions de tâche pour une fenêtre de maintenance spécifique.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-maintenance-window-executions \
       --window-id "mw-0c50858d01EXAMPLE"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-maintenance-window-executions ^
       --window-id "mw-0c50858d01EXAMPLE"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowExecutions": [
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
               "Status": "SUCCESS",
               "StartTime": 1557593793.483,
               "EndTime": 1557593798.978
           },
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowExecutionId": "791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
               "Status": "SUCCESS",
               "StartTime": 1557593493.096,
               "EndTime": 1557593498.611
           },
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowExecutionId": "ecec60fa-6bb0-4d26-98c7-140308EXAMPLE",
               "Status": "SUCCESS",
               "StatusDetails": "No tasks to execute.",
               "StartTime": 1557593193.309,
               "EndTime": 1557593193.334
           }
       ]
   }
   ```

1. Exécutez la commande suivante pour obtenir des informations sur une exécution de tâche d'une fenêtre de maintenance.

------
#### [ Linux & macOS ]

   ```
   aws ssm get-maintenance-window-execution \
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-maintenance-window-execution ^
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
       "TaskIds": [
           "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE"
       ],
       "Status": "SUCCESS",
       "StartTime": 1557593493.096,
       "EndTime": 1557593498.611
   }
   ```

1. Exécutez la commande suivante pour afficher les tâches exécutées dans le cadre de l'exécution d'une fenêtre de maintenance.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-maintenance-window-execution-tasks \
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-maintenance-window-execution-tasks ^
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowExecutionTaskIdentities": [
           {
               "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
               "TaskExecutionId": "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE",
               "Status": "SUCCESS",
               "StartTime": 1557593493.162,
               "EndTime": 1557593498.57,
               "TaskArn": "AWS-RunShellScript",
               "TaskType": "RUN_COMMAND"
           }
       ]
   }
   ```

1. Exécutez la commande suivante pour obtenir les détails d'une exécution de tâche.

------
#### [ Linux & macOS ]

   ```
   aws ssm get-maintenance-window-execution-task \
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE" \
       --task-id "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-maintenance-window-execution-task ^
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE" ^
       --task-id "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
       "TaskExecutionId": "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE",
       "TaskArn": "AWS-RunShellScript",
       "ServiceRole": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
       "Type": "RUN_COMMAND",
       "TaskParameters": [
           {
               "aws:InstanceId": {
                   "Values": [
                       "i-02573cafcfEXAMPLE"
                   ]
               },
               "commands": {
                   "Values": [
                       "df"
                   ]
               }
           }
       ],
       "Priority": 10,
       "MaxConcurrency": "1",
       "MaxErrors": "1",
       "Status": "SUCCESS",
       "StartTime": 1557593493.162,
       "EndTime": 1557593498.57
   }
   ```

1. Exécutez la commande suivante pour obtenir les appels de tâche spécifiques exécutés pendant une exécution de tâche.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-maintenance-window-execution-task-invocations \
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE" \
       --task-id "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-maintenance-window-execution-task-invocations ^
       --window-execution-id "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE" ^
       --task-id "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowExecutionTaskInvocationIdentities": [
           {
               "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
               "TaskExecutionId": "c9b05aba-197f-4d8d-be34-e73fbEXAMPLE",
               "InvocationId": "c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
               "ExecutionId": "76a5a04f-caf6-490c-b448-92c02EXAMPLE",
               "TaskType": "RUN_COMMAND",
               "Parameters": "{\"documentName\":\"AWS-RunShellScript\",\"instanceIds\":[\"i-02573cafcfEXAMPLE\"],\"maxConcurrency\":\"1\",\"maxErrors\":\"1\",\"parameters\":{\"commands\":[\"df\"]}}",
               "Status": "SUCCESS",
               "StatusDetails": "Success",
               "StartTime": 1557593493.222,
               "EndTime": 1557593498.466
           }
       ]
   }
   ```

# Tutoriel : Mettre à jour une fenêtre de maintenance à l'aide du AWS CLI
<a name="maintenance-windows-cli-tutorials-update"></a>

Ce didacticiel explique comment utiliser le AWS Command Line Interface (AWS CLI) pour mettre à jour une fenêtre de maintenance. Il vous montre également comment mettre à jour différents types de tâches, y compris celles pour AWS Systems Manager Run Command et Automation AWS Lambda, et AWS Step Functions. 

Les exemples de cette section utilisent les actions Systems Manager suivantes pour la mise à jour d'une fenêtre de maintenance :
+ [UpdateMaintenanceWindow](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateMaintenanceWindow.html)
+ [UpdateMaintenanceWindowTarget](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateMaintenanceWindowTarget.html)
+ [UpdateMaintenanceWindowTask](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateMaintenanceWindowTask.html)
+ [DeregisterTargetFromMaintenanceWindow](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeregisterTargetFromMaintenanceWindow.html)

Pour des informations sur l'utilisation de la console Systems Manager afin de mettre à jour une fenêtre de maintenance, consultez [Mise à jour ou suppression des ressources de fenêtre de maintenance à l’aide de la console](sysman-maintenance-update.md). 

Au fur et à mesure que vous suivez les étapes de ce didacticiel, remplacez les valeurs en *red* italique par vos propres options et. IDs Par exemple, remplacez l'ID de fenêtre de maintenance *mw-0c50858d01EXAMPLE* et l'ID d'instance *i-02573cafcfEXAMPLE* par IDs des ressources que vous créez.

**Pour mettre à jour une fenêtre de maintenance à l'aide du AWS CLI**

1. Ouvrez le AWS CLI et exécutez la commande suivante pour mettre à jour une cible afin d'inclure un nom et une description.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window-target \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-target-id "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
       --name "My-Maintenance-Window-Target" \
       --description "Description for my maintenance window target"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window-target ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-target-id "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^
       --name "My-Maintenance-Window-Target" ^
       --description "Description for my maintenance window target"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE",
       "Targets": [
           {
               "Key": "InstanceIds",
               "Values": [
                   "i-02573cafcfEXAMPLE"
               ]
           }
       ],
       "Name": "My-Maintenance-Window-Target",
       "Description": "Description for my maintenance window target"
   }
   ```

1. Exécutez la commande suivante pour utiliser l'option `replace` afin de supprimer le champ de description et d'ajouter une cible supplémentaire. Le champ de description est supprimé, car la mise à jour ne l'inclut pas (valeur nulle). Veillez à spécifier un nœud supplémentaire configuré pour être utilisé avec Systems Manager.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window-target \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-target-id "d208dedf-3f6b-41ff-ace8-8e751EXAMPLE" \
       --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE" \
       --name "My-Maintenance-Window-Target" \
       --replace
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window-target ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-target-id "d208dedf-3f6b-41ff-ace8-8e751EXAMPLE" ^
       --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE" ^
       --name "My-Maintenance-Window-Target" ^
       --replace
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE",
       "Targets": [
           {
               "Key": "InstanceIds",
               "Values": [
                   "i-02573cafcfEXAMPLE",
                   "i-0471e04240EXAMPLE"
               ]
           }
       ],
       "Name": "My-Maintenance-Window-Target"
   }
   ```

1. L'option `start-date` vous permet de retarder l'activation d'une fenêtre de maintenance jusqu'à une date ultérieure spécifiée. L'option `end-date` vous permet de définir une date et une heure futures après lesquelles la fenêtre de maintenance ne s'exécutera plus. Spécifiez les options au format ISO-8601 étendu.

   Exécutez la commande suivante pour spécifier une plage de dates et d'heures pour les exécutions de fenêtre de maintenance régulièrement planifiées.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window \
       --window-id "mw-0c50858d01EXAMPLE" \
       --start-date "2020-10-01T10:10:10Z" \
       --end-date "2020-11-01T10:10:10Z"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --start-date "2020-10-01T10:10:10Z" ^
       --end-date "2020-11-01T10:10:10Z"
   ```

------

1. Exécutez la commande suivante pour mettre à jour une tâche Run Command.
**Astuce**  
Si votre cible est une instance Amazon Elastic Compute Cloud (Amazon EC2) pour Windows Server, changez `df` à `ipconfig`, et `AWS-RunShellScript` à `AWS-RunPowerShellScript` dans la commande suivante.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window-task \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" \
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
       --task-arn "AWS-RunShellScript" \
       --service-role-arn "arn:aws:iam::account-id:role/MaintenanceWindowsRole" \
       --task-invocation-parameters "RunCommand={Comment=Revising my Run Command task,Parameters={commands=df}}" \
       --priority 1 --max-concurrency 10 --max-errors 4 \
       --name "My-Task-Name" --description "A description for my Run Command task"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window-task ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" ^
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^
       --task-arn "AWS-RunShellScript" ^
       --service-role-arn "arn:aws:iam::account-id:role/MaintenanceWindowsRole" ^
       --task-invocation-parameters "RunCommand={Comment=Revising my Run Command task,Parameters={commands=df}}" ^
       --priority 1 --max-concurrency 10 --max-errors 4 ^
       --name "My-Task-Name" --description "A description for my Run Command task"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
       "Targets": [
           {
               "Key": "WindowTargetIds",
               "Values": [
                   "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
               ]
           }
       ],
       "TaskArn": "AWS-RunShellScript",
       "ServiceRoleArn": "arn:aws:iam::111122223333:role/MaintenanceWindowsRole",
       "TaskParameters": {},
       "TaskInvocationParameters": {
           "RunCommand": {
               "Comment": "Revising my Run Command task",
               "Parameters": {
                   "commands": [
                       "df"
                   ]
               }
           }
       },
       "Priority": 1,
       "MaxConcurrency": "10",
       "MaxErrors": "4",
       "Name": "My-Task-Name",
       "Description": "A description for my Run Command task"
   }
   ```

1. Adaptez et exécutez la commande suivante pour mettre à jour une tâche Lambda.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window-task \
       --window-id mw-0c50858d01EXAMPLE \
       --window-task-id 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE \
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
       --task-arn "arn:aws:lambda:region:111122223333:function:SSMTestLambda" \
       --service-role-arn "arn:aws:iam:account-id:role/MaintenanceWindowsRole" \
       --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}"}}' \
       --priority 1 --max-concurrency 10 --max-errors 5 \
       --name "New-Lambda-Task-Name" \
       --description "A description for my Lambda task"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window-task ^
       --window-id mw-0c50858d01EXAMPLE ^
       --window-task-id 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE ^
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^
       --task-arn --task-arn "arn:aws:lambda:region:111122223333:function:SSMTestLambda" ^
       --service-role-arn "arn:aws:iam:account-id:role/MaintenanceWindowsRole" ^
       --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}"}}' ^
       --priority 1 --max-concurrency 10 --max-errors 5 ^
       --name "New-Lambda-Task-Name" ^
       --description "A description for my Lambda task"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
       "Targets": [
           {
               "Key": "WindowTargetIds",
               "Values": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
           }
       ],
       "TaskArn": "arn:aws:lambda:us-east-2:111122223333:function:SSMTestLambda",
       "ServiceRoleArn": "arn:aws:iam::111122223333:role/MaintenanceWindowsRole",
       "TaskParameters": {},
       "TaskInvocationParameters": {
           "Lambda": {
               "Payload": "e30="
           }
       },
       "Priority": 1,
       "MaxConcurrency": "10",
       "MaxErrors": "5",
       "Name": "New-Lambda-Task-Name",
       "Description": "A description for my Lambda task"
   }
   ```

1. Si vous mettez à jour une tâche Step Functions, adaptez et exécutez la commande suivante pour la mettre à jour task-invocation-parameters.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window-task \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" \
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
       --task-arn "arn:aws:states:region:execution:SSMStepFunctionTest" \
       --service-role-arn "arn:aws:iam:account-id:role/MaintenanceWindowsRole" \
       --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}"}}' \
       --priority 0 --max-concurrency 10 --max-errors 5 \
       --name "My-Step-Functions-Task" \
       --description "A description for my Step Functions task"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window-task ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" ^
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^
       --task-arn "arn:aws:states:region:execution:SSMStepFunctionTest" ^
       --service-role-arn "arn:aws:iam:account-id:role/MaintenanceWindowsRole" ^
       --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}"}}' ^
       --priority 0 --max-concurrency 10 --max-errors 5 ^
       --name "My-Step-Functions-Task" ^
       --description "A description for my Step Functions task"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
       "Targets": [
           {
               "Key": "WindowTargetIds",
               "Values": [
                   "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
               ]
           }
       ],
       "TaskArn": "arn:aws:states:us-east-2:111122223333:execution:SSMStepFunctionTest",
       "ServiceRoleArn": "arn:aws:iam::111122223333:role/MaintenanceWindowsRole",
       "TaskParameters": {},
       "TaskInvocationParameters": {
           "StepFunctions": {
               "Input": "{\"instanceId\":\"{{RESOURCE_ID}}\"}"
           }
       },
       "Priority": 0,
       "MaxConcurrency": "10",
       "MaxErrors": "5",
       "Name": "My-Step-Functions-Task",
       "Description": "A description for my Step Functions task"
   }
   ```

1. Exécutez la commande suivante pour annuler l'enregistrement d'une cible depuis une fenêtre de maintenance. Cet exemple utilise le paramètre `safe` pour déterminer si la cible est référencée par toute tâche et si il est donc sécurisé d'annuler son enregistrement.

------
#### [ Linux & macOS ]

   ```
   aws ssm deregister-target-from-maintenance-window \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-target-id "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
       --safe
   ```

------
#### [ Windows ]

   ```
   aws ssm deregister-target-from-maintenance-window ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-target-id "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^
       --safe
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   An error occurred (TargetInUseException) when calling the DeregisterTargetFromMaintenanceWindow operation: 
   This Target cannot be deregistered because it is still referenced in Task: 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
   ```

1. Exécutez la commande suivante pour annuler l'enregistrement d'une cible depuis une fenêtre de maintenance même si la cible est référencée par une tâche. Vous pouvez forcer l'opération d'annulation d'enregistrement à l'aide du paramètre `no-safe`.

------
#### [ Linux & macOS ]

   ```
   aws ssm deregister-target-from-maintenance-window \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-target-id "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
       --no-safe
   ```

------
#### [ Windows ]

   ```
   aws ssm deregister-target-from-maintenance-window ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-target-id "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^
       --no-safe
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
   }
   ```

1. Exécutez la commande suivante pour mettre à jour une tâche Run Command. Cet exemple utilise un paramètre Systems Manager Parameter Store appelé `UpdateLevel`, qui est formaté comme suit : '`{{ssm:UpdateLevel}}`'

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window-task \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" \
       --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE"  \
       --task-invocation-parameters "RunCommand={Comment=A comment for my task update,Parameters={UpdateLevel='{{ssm:UpdateLevel}}'}}"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window-task ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" ^
       --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE"  ^
       --task-invocation-parameters "RunCommand={Comment=A comment for my task update,Parameters={UpdateLevel='{{ssm:UpdateLevel}}'}}"
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
       "Targets": [
           {
               "Key": "InstanceIds",
               "Values": [
                   "i-02573cafcfEXAMPLE"
               ]
           }
       ],
       "TaskArn": "AWS-RunShellScript",
       "ServiceRoleArn": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
       "TaskParameters": {},
       "TaskInvocationParameters": {
           "RunCommand": {
               "Comment": "A comment for my task update",
               "Parameters": {
                   "UpdateLevel": [
                       "{{ssm:UpdateLevel}}"
                   ]
               }
           }
       },
       "Priority": 10,
       "MaxConcurrency": "1",
       "MaxErrors": "1"
   }
   ```

1. Exécutez la commande suivante pour mettre à jour une tâche Automation afin qu'elle spécifie les paramètres `WINDOW_ID` et `WINDOW_TASK_ID` pour le paramètre `task-invocation-parameters` :

------
#### [ Linux & macOS ]

   ```
   aws ssm update-maintenance-window-task \
       --window-id "mw-0c50858d01EXAMPLE" \
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" \
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE \
       --task-arn "AutoTestDoc" \
       --service-role-arn "arn:aws:iam:account-id:role/MyMaintenanceWindowServiceRole \
       --task-invocation-parameters "Automation={Parameters={InstanceId='{{RESOURCE_ID}}',initiator='{{WINDOW_ID}}.Task-{{WINDOW_TASK_ID}}'}}" \
       --priority 3 --max-concurrency 10 --max-errors 5
   ```

------
#### [ Windows ]

   ```
   aws ssm update-maintenance-window-task ^
       --window-id "mw-0c50858d01EXAMPLE" ^
       --window-task-id "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE" ^
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE ^
       --task-arn "AutoTestDoc" ^
       --service-role-arn "arn:aws:iam:account-id:role/MyMaintenanceWindowServiceRole ^
       --task-invocation-parameters "Automation={Parameters={InstanceId='{{RESOURCE_ID}}',initiator='{{WINDOW_ID}}.Task-{{WINDOW_TASK_ID}}'}}" ^
       --priority 3 --max-concurrency 10 --max-errors 5
   ```

------

   Le système renvoie des informations similaires à ce qui suit :

   ```
   {
       "WindowId": "mw-0c50858d01EXAMPLE",
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
       "Targets": [
           {
               "Key": "WindowTargetIds",
               "Values": [
                   "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
               ]
           }
       ],
       "TaskArn": "AutoTestDoc",
       "ServiceRoleArn": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole",
       "TaskParameters": {},
       "TaskInvocationParameters": {
           "Automation": {
               "Parameters": {
                   "multi": [
                       "{{WINDOW_TASK_ID}}"
                   ],
                   "single": [
                       "{{WINDOW_ID}}"
                   ]
               }
           }
       },
       "Priority": 0,
       "MaxConcurrency": "10",
       "MaxErrors": "5",
       "Name": "My-Automation-Task",
       "Description": "A description for my Automation task"
   }
   ```

# Tutoriel : Supprimer une fenêtre de maintenance à l'aide du AWS CLI
<a name="mw-cli-tutorial-delete-mw"></a>

Pour supprimer une fenêtre de maintenance que vous avez créée dans ces didacticiels, exécutez la commande suivante.

```
aws ssm delete-maintenance-window --window-id "mw-0c50858d01EXAMPLE"
```

Le système renvoie des informations similaires à ce qui suit :

```
{
   "WindowId":"mw-0c50858d01EXAMPLE"
}
```

# Tutoriel : créer une fenêtre de maintenance pour l’application de correctifs à l’aide de la console
<a name="maintenance-window-tutorial-patching"></a>

**Important**  
Vous pouvez continuer à utiliser cette rubrique existante pour créer une fenêtre de maintenance afin d'appliquer des correctifs. Toutefois, nous vous recommandons plutôt d'utiliser une politique de correctifs. Pour plus d'informations, consultez [Configurations de la politique de correctifs dans Quick Setup](patch-manager-policies.md) et [Configurer les applications de correctifs pour les instances d’une organisation à l’aide d’une politique de correctif Quick Setup](quick-setup-patch-manager.md). 

Pour minimiser l'impact sur la disponibilité de votre serveur, nous vous recommandons de configurer une fenêtre de maintenance pour exécuter l'application des correctifs au cours de périodes qui ne perturberont pas vos opérations professionnelles.

Vous devez configurer les rôles et les autorisations pour Maintenance Windows un outil dans AWS Systems Manager, avant de commencer cette procédure. Pour de plus amples informations, veuillez consulter [Configuration de Maintenance Windows](setting-up-maintenance-windows.md). 

**Pour créer une fenêtre de maintenance pour l'application des correctifs**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Maintenance Windows**.

1. Sélectionnez **Create maintenance window (Créer une fenêtre de maintenance)**.

1. Dans **Name (Nom)**, entrez un nom désignant la fenêtre de maintenance pour l'application des correctifs correspondant aux mises à jour critiques et importantes.

1. (Facultatif) Sous **Description**, entrez une description. 

1. Sélectionnez **Allow unregistered targets (Autoriser les cibles non enregistrées)** si vous souhaitez autoriser l'exécution d'une tâche de fenêtre de maintenance sur des nœuds gérés, même si vous n'avez pas enregistré ces nœuds comme cibles.

   Lorsque vous sélectionnez cette option, vous pouvez sélectionner les nœuds non enregistrés (par ID de nœud) lorsque vous enregistrez une tâche auprès de la fenêtre de maintenance.

   Si vous ne sélectionnez pas cette option, vous devez choisir des cibles enregistrées au préalable lorsque vous enregistrez une tâche avec la fenêtre de maintenance. 

1. En haut de la section **Schedule (Planification)** spécifiez un programme pour la fenêtre de maintenance à l'aide de l'une des trois options de planification.

   Pour plus d'informations sur la création d' cron/rate expressions, consultez[Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md).

1. Pour **Durée**, entrez le nombre d'heures pendant lequel la fenêtre de maintenance devra s'exécuter. La valeur que vous spécifiez détermine l'heure de fin de la fenêtre de maintenance en fonction de l'heure de démarrage. Aucune tâche de fenêtre de maintenance n'est autorisée à démarrer après l'heure de fin résultante moins le nombre d'heures que vous spécifiez pour **Stop initiating tasks (Arrêt de l'initialisation de tâches)** à l'étape suivante. 

   Par exemple, si la fenêtre de maintenance commence à 15 h, que la durée est de trois heures et que la valeur de **Stop initiating tasks (Arrêt de l'initialisation de tâches)** est d'une heure, aucune tâche de fenêtre de maintenance ne peut commencer après 17 h. 

1. Dans le champ **Stop initiating tasks (Arrêter le lancement des tâches)**, entrez le nombre d'heures avant la fin de la fenêtre de maintenance pendant lequel le système doit cesser de planifier l'exécution de nouvelles tâches. 

1. (Facultatif) Pour **Window start date** (Fenêtre de date de début), spécifiez la date et l'heure, au format ISO-8601 étendu, où vous voulez que la fenêtre de maintenance devienne active. Cela vous permet de retarder l'activation de la fenêtre de maintenance jusqu'à la date ultérieure spécifiée.

1. (Facultatif) Pour **Window start date** (Fenêtre de date de début), spécifiez la date et l'heure, au format ISO-8601 étendu, où vous voulez que la fenêtre de maintenance devienne inactive. Cela vous permet de définir une date et une heure futures après lesquelles la fenêtre de maintenance ne s'exécutera plus.

1. (Facultatif) Pour **Fuseau horaire de la planification**, spécifiez le fuseau horaire sur lequel baser les exécutions de fenêtre de maintenance planifiées, au format IANA (Internet Assigned Numbers Authority). Par exemple : « America/Los\$1Angeles", "etc/UTC", or "Asia/Seoul ».

   Pour plus d'informations sur les formats valides, consultez [Time Zone Database](https://www.iana.org/time-zones) sur le site web de l'IANA.

1. (Facultatif) Dans la zone **Gérer les balises**, appliquez une ou plusieurs name/value paires de clés de balise à la fenêtre de maintenance.

   Les balises sont des métadonnées facultatives que vous affectez à une ressource. Les balises vous permettent de classer une ressource de différentes façons, par exemple, par objectif, par propriétaire ou par environnement. Par exemple, vous pourriez vouloir baliser cette fenêtre de maintenance pour identifier le type de tâches qu’elle exécute. Dans ce cas, vous pouvez spécifier la name/value paire de clés suivante :
   + `Key=TaskType,Value=Patching`

1. Sélectionnez **Create maintenance window (Créer une fenêtre de maintenance)**.

1. Dans la liste des fenêtres de maintenance, sélectionnez la fenêtre de maintenance que vous venez de créer, puis sélectionnez **Actions**, **Register targets (Enregistrer les cibles)**.

1. (Facultatif) Dans la section **Maintenance window target details (Détails de la cible de la fenêtre de maintenance)**, fournissez un nom, une description et des informations sur le propriétaire (votre nom ou pseudo) pour cette cible.

1. Pour **Sélection de la cible**, choisissez **Spécifier les balises d’instance**.

1. Dans **Spécification de balises d’instance**, saisissez une clé et une valeur de balise pour identifier les nœuds à enregistrer auprès de la fenêtre de maintenance, puis sélectionnez **Ajouter**.

1. Sélectionnez **Register target (Enregistrer la cible)**. Le système crée une cible de fenêtre de maintenance.

1. Dans la page des détails de la fenêtre de maintenance que vous avez créée, sélectionnez **Actions**, **Register run command task (Enregistrer une tâche d'exécution de commande)**.

1. (Facultatif) Dans **Maintenance window task details (Détails de la tâche de fenêtre de maintenance)**, attribuez un nom et une description à cette tâche.

1. Pour **Command document (Document de commande)**, sélectionnez `AWS-RunPatchBaseline`.

1. Pour **Task priority (Priorité de tâche)**, sélectionnez une priorité. Zéro (`0`) est la priorité la plus élevée.

1. Dans **Targets (Cibles)**, sous **Target by (Cible par)**, sélectionnez la cible de fenêtre de maintenance que vous avez créée précédemment dans cette procédure.

1. Pour **Rate control (Contrôle de débit)** :
   + Dans **Concurrency (Simultanéité)**, spécifiez un nombre ou un pourcentage de nœuds gérés sur lesquels exécuter simultanément la commande.
**Note**  
Si vous avez sélectionné des cibles en spécifiant des balises appliquées aux nœuds gérés ou en spécifiant AWS des groupes de ressources, et que vous n'êtes pas certain du nombre de nœuds gérés ciblés, limitez le nombre de cibles pouvant exécuter le document en même temps en spécifiant un pourcentage.
   + Dans **Error threshold (Seuil d'erreur)**, indiquez quand arrêter l'exécution de la commande sur les autres nœuds gérés après l'échec de celle-ci sur un certain nombre ou un certain pourcentage de nœuds. Si, par exemple, vous spécifiez trois erreurs, Systems Manager cesse d'envoyer la commande à la réception de la quatrième erreur. Les nœuds gérés sur lesquels la commande est toujours en cours de traitement peuvent également envoyer des erreurs.

1. (Facultatif) Pour **rôle de service IAM**, choisissez un rôle pour permettre à Systems Manager d’exécuter les tâches de fenêtre de maintenance.

   Si vous ne spécifiez pas d’ARN de rôle de service, Systems Manager utilise un rôle lié à un service dans votre compte. S’il n’existe aucun rôle lié au service approprié pour Systems Manager dans votre compte, il sera créé lors de l’enregistrement de la tâche.
**Note**  
Pour améliorer la posture de sécurité, nous vous recommandons vivement de créer une politique personnalisée et un rôle de service personnalisé pour exécuter les tâches de votre fenêtre de maintenance. La politique peut être conçue de manière à fournir uniquement les autorisations nécessaires pour les tâches spécifiques de votre fenêtre de maintenance. Pour de plus amples informations, veuillez consulter [Configuration de Maintenance Windows](setting-up-maintenance-windows.md).

1. (Facultatif) Dans **Output options (Options de sortie)**, pour enregistrer la sortie de la commande dans un fichier, sélectionnez **Enable writing to an S3 bucket (Autoriser l'écriture dans un compartiment S3)** Saisissez les noms de compartiment et de préfixe (dossier) dans les zones.
**Note**  
Les autorisations S3 qui donnent la possibilité d'écrire les données dans un compartiment S3 sont celles du profil d'instance attribué au nœud géré, et non celles de l'utilisateur IAM qui effectue cette tâche. Pour plus d’informations, consultez les sections [Configurer des autorisations d’instance requises pour Systems Manager](setup-instance-permissions.md) et [Créer un rôle de service IAM pour un environnement hybride](hybrid-multicloud-service-role.md). En outre, si le compartiment S3 spécifié se trouve sur un autre Compte AWS, vérifiez que le profil d'instance ou la fonction de service IAM associé au nœud géré dispose des autorisations nécessaires pour écrire dans ce compartiment.

   Pour diffuser la sortie vers un groupe de CloudWatch journaux Amazon Logs, cochez la case **CloudWatch de sortie**. Saisissez le nom du groupe de journaux dans la zone.

1. Dans la section **SNS notifications (Notifications SNS)**, si vous souhaitez envoyer des notifications sur le statut d'exécution des commandes, cochez la case **Enable SNS notifications (Activer les notifications SNS)**.

   Pour plus d'informations sur la configuration des notifications Amazon SNS pour Run Command, consultez [Surveillance des changements d'état du Systems Manager à l'aide des notifications Amazon SNS](monitoring-sns-notifications.md).

1. Pour **Parameters (Paramètres)** :
   + Pour **Operation (Opération)**, sélectionnez **Scan (Analyser)** afin de rechercher les correctifs manquants, ou sélectionnez **Install (Installer)** pour rechercher et installer les correctifs manquants.
   + Vous n'avez pas besoin de spécifier quoi que ce soit dans le champ **Snapshot Id (ID d'instantané)**. Ce système génère et fournit ce paramètre automatiquement.
   + Vous n'avez pas besoin de saisir quoi que ce soit dans le champ **Install Override List (Liste de remplacement d'installation)** sauf si vous souhaitez que Patch Manager utilise un jeu de correctifs différent de celui spécifié pour le référentiel de correctifs. Pour plus d'informations, consultez [Nom du paramètre: `InstallOverrideList`](patch-manager-aws-runpatchbaseline.md#patch-manager-aws-runpatchbaseline-parameters-installoverridelist).
   + Pour **RebootOption**, spécifiez si vous souhaitez que les nœuds redémarrent si des correctifs sont installés pendant l'`Install`opération ou s'ils Patch Manager détectent d'autres correctifs installés depuis le dernier redémarrage du nœud. Pour plus d'informations, consultez [Nom du paramètre: `RebootOption`](patch-manager-aws-runpatchbaseline.md#patch-manager-aws-runpatchbaseline-parameters-norebootoption).
   + (Facultatif) Pour **Comment (Commentaire)**, entrez une note de suivi ou un rappel concernant cette commande.
   + Pour **Timeout (seconds) (Délai (secondes))**, entrez le nombre de secondes durant lesquelles le système doit attendre que l'opération se termine avant que celle-ci ne soit considérée comme ayant échoué.

1. Sélectionnez **Register run command task (Enregistrer une tâche d'exécution de commande)**.

Une fois la tâche de la fenêtre de maintenance terminée, vous pouvez afficher les détails de la conformité des correctifs dans la console Systems Manager, dans l’outil [Fleet Manager](fleet-manager.md). 

Vous pouvez également consulter les informations de conformité dans l’outil [Patch Manager](patch-manager.md), dans l’onglet **Rapport de conformité**. 

Vous pouvez également utiliser le [DescribePatchGroupState](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribePatchGroupState.html)et [DescribeInstancePatchStatesForPatchGroup](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeInstancePatchStatesForPatchGroup.html) APIs pour consulter les détails de conformité. Pour plus d'informations sur les données de conformité des correctifs, consultez [A propos de la conformité des correctifs](compliance-about.md#compliance-monitor-patch).

# Planification d’application de correctifs à l’aide de fenêtres de maintenance
<a name="sysman-patch-scheduletasks"></a>

Une fois que vous avez configuré un référentiel de correctifs (et éventuellement un groupe de correctifs), vous pouvez appliquer des correctifs à votre nœud à l'aide d'une fenêtre de maintenance. Une fenêtre de maintenance peut réduire l'impact sur la disponibilité du serveur en vous permettant de spécifier une heure de réalisation du processus d'application des correctifs de manière à ne pas interrompre les opérations professionnelles. Une fenêtre de maintenance fonctionne comme suit :

1. Créez une fenêtre de maintenance avec un calendrier pour vos opérations d'application de correctifs.

1. Choisissez les cibles de la fenêtre de maintenance en indiquant la `Patch Group` ou `PatchGroup` balise pour le nom de celle-ci, et toute valeur pour laquelle vous avez défini des balises Amazon Elastic Compute Cloud (Amazon EC2), par exemple, "serveurs web" ou "US-EAST-PROD". (Utilisez `PatchGroup`, sans espace, si vous avez [ autorisé les balises dans les métadonnées d'instance EC2.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#allow-access-to-tags-in-IMDS).

1. Créez une nouvelle tâche de fenêtre de maintenance et spécifiez le document `AWS-RunPatchBaseline`. 

Lorsque vous configurez la tâche, vous pouvez choisir de procéder à une simple analyse des nœuds, ou bien de les analyser et d'y installer les correctifs. Si vous choisissez de procéder à une simple analyse des nœuds, l’outil Patch Manager d’ AWS Systems Manager analyse chaque nœud et génère une liste de correctifs manquants que vous devez passer en revue.

Si vous choisissez d'analyser les nœuds et d'y installer les correctifs, Patch Manager analyse chaque nœud et compare la liste des correctifs installés avec celle des correctifs approuvés dans le référentiel. Patch Manager identifie les correctifs manquants, puis télécharge et installe tous les correctifs manquants et approuvés.

Si vous souhaitez effectuer une analyse unique ou procéder à une installation pour résoudre un problème, vous pouvez utiliser la fonctionnalité Run Command afin d'appeler directement le document `AWS-RunPatchBaseline`.

**Important**  
Une fois les correctifs installés, Systems Manager redémarre chaque nœud. Ce redémarrage est nécessaire pour vérifier que les correctifs sont correctement installés et que le système n'a pas laissé le nœud dans un état potentiellement incorrect. (Exception : si le paramètre `RebootOption` est défini sur `NoReboot` dans le document `AWS-RunPatchBaseline`, le nœud géré n'est pas redémarré après l'exécution de Patch Manager. Pour plus d'informations, consultez [Nom du paramètre: `RebootOption`](patch-manager-aws-runpatchbaseline.md#patch-manager-aws-runpatchbaseline-parameters-norebootoption)). 

# Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance
<a name="maintenance-window-tasks-pseudo-parameters"></a>

Lorsque vous enregistrez une tâche dans Maintenance Windows, un outil d’ AWS Systems Manager, vous spécifiez les paramètres qui sont spécifiques à chacun des quatre types de tâches. (Dans les commandes CLI, ces paramètres sont fournis à l’aide de l’option `--task-invocation-parameters`.)

 Vous pouvez également référencer certaines valeurs en utilisant la syntaxe du *pseudo-paramètre*, comme `{{RESOURCE_ID}}`, `{{TARGET_TYPE}}` et `{{WINDOW_TARGET_ID}}`. Une fois que la tâche de la fenêtre de maintenance s'exécute, elle transmet les valeurs correctes au lieu des espaces réservés des pseudo-paramètres. La liste complète des pseudo paramètres que vous pouvez utiliser est fournie plus loin dans cette rubrique dans [Pseudo-paramètres pris en charge](#pseudo-parameters).

**Important**  
Pour le type de cible `RESOURCE_GROUP`, selon le format d'ID requis pour la tâche, vous pouvez choisir entre utiliser `{{TARGET_ID}}` et `{{RESOURCE_ID}}` pour référencer la ressource lors de l'exécution de la tâche. `{{TARGET_ID}}` renvoie l'ARN complet de la ressource. `{{RESOURCE_ID}}` renvoie uniquement un nom ou un ID plus court de la ressource, comme indiqué dans ces exemples.  
Format `{{TARGET_ID}}` : `arn:aws:ec2:us-east-1:123456789012:instance/i-02573cafcfEXAMPLE`
Format `{{RESOURCE_ID}}` : `i-02573cafcfEXAMPLE`
Pour le type de cible `INSTANCE`, les paramètres `{{TARGET_ID}}` et `{{RESOURCE_ID}}` ne donnent que l'ID d'instance. Pour de plus amples informations, veuillez consulter [Pseudo-paramètres pris en charge](#pseudo-parameters).  
`{{TARGET_ID}}`et `{{RESOURCE_ID}}` peut être utilisé pour transmettre IDs des AWS ressources uniquement aux tâches Automation, Lambda et Step Functions. Ces deux pseudo-paramètres ne peuvent pas être utilisés avec des tâches Run Command.

## Exemples de pseudo-paramètres
<a name="pseudo-parameter-examples"></a>

Supposons que votre charge utile pour une AWS Lambda tâche doive référencer une instance par son ID.

Que vous utilisiez un `INSTANCE` ou une cible de fenêtre de maintenance `RESOURCE_GROUP`, cela peut être réalisé en utilisant le pseudo-paramètre `{{RESOURCE_ID}}`. Par exemple :

```
"TaskArn": "arn:aws:lambda:us-east-2:111122223333:function:SSMTestFunction",
    "TaskType": "LAMBDA",
    "TaskInvocationParameters": {
        "Lambda": {
            "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE",
            "Payload": "{ \"instanceId\": \"{{RESOURCE_ID}}\" }",
            "Qualifier": "$LATEST"
        }
    }
```

Si votre tâche Lambda est destinée à s'exécuter sur un autre type de cible pris en charge en plus des instances Amazon Elastic Compute Cloud (Amazon EC2), par exemple une table Amazon DynamoDB, la même syntaxe peut être utilisée et `{{RESOURCE_ID}}` donne le nom de la table uniquement. Toutefois, si vous avez besoin de l'ARN complet de la table, utilisez `{{TARGET_ID}}`, comme indiqué dans l'exemple suivant.

```
"TaskArn": "arn:aws:lambda:us-east-2:111122223333:function:SSMTestFunction",
    "TaskType": "LAMBDA",
    "TaskInvocationParameters": {
        "Lambda": {
            "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE",
            "Payload": "{ \"tableArn\": \"{{TARGET_ID}}\" }",
            "Qualifier": "$LATEST"
        }
    }
```

La même syntaxe fonctionne pour les instances de ciblage ou d'autres types de ressources. Lorsque plusieurs types de ressources ont été ajoutés à un groupe de ressources, la tâche s'exécute sur chacune des ressources appropriées. 

**Important**  
Tous les types de ressources qui peuvent être inclus dans un groupe de ressources ne donnent pas de valeur pour le paramètre `{{RESOURCE_ID}}`. Pour afficher la liste des types de ressources pris en charge, consultez [Pseudo-paramètres pris en charge](#pseudo-parameters).

Autre exemple, pour exécuter une tâche Automation qui arrête vos instances EC2, vous spécifiez le document Systems Manager (document SSM) `AWS-StopEC2Instance` comme valeur `TaskArn` et vous utilisez le pseudo-paramètre `{{RESOURCE_ID}}` :

```
"TaskArn": "AWS-StopEC2Instance",
    "TaskType": "AUTOMATION"
    "TaskInvocationParameters": {
        "Automation": {
            "DocumentVersion": "1",
            "Parameters": {
                "instanceId": [
                    "{{RESOURCE_ID}}"
                ]
            }
        }
    }
```

Pour exécuter une tâche Automation qui copie un instantané d'un volume Amazon Elastic Block Store (Amazon EBS), spécifiez le document SSM `AWS-CopySnapshot` comme valeur `TaskArn` et utilisez le pseudo-paramètre `{{RESOURCE_ID}}`.

```
"TaskArn": "AWS-CopySnapshot",
    "TaskType": "AUTOMATION"
    "TaskInvocationParameters": {
        "Automation": {
            "DocumentVersion": "1",
            "Parameters": {
                "SourceRegion": "us-east-2",
                "targetType":"RESOURCE_GROUP",
                "SnapshotId": [
                    "{{RESOURCE_ID}}"
                ]
            }
        }
    }
```

## Pseudo-paramètres pris en charge
<a name="pseudo-parameters"></a>

La liste suivante décrit les pseudo-paramètres que vous pouvez spécifier à l'aide de la syntaxe `{{PSEUDO_PARAMETER}}` dans l'option `--task-invocation-parameters`.
+ **`WINDOW_ID`** : ID de la fenêtre de maintenance cible.
+ **`WINDOW_TASK_ID`** : ID de la tâche de fenêtre en cours d'exécution.
+ **`WINDOW_TARGET_ID`** : ID de la cible de la fenêtre qui inclut la cible (ID de cible).
+ **`WINDOW_EXECUTION_ID`** : ID de l'exécution de fenêtre actuelle.
+ **`TASK_EXECUTION_ID`** : ID de l'exécution de tâche actuelle.
+ **`INVOCATION_ID`** : ID de l’invocation en cours.
+ **`TARGET_TYPE`** : type de la cible. Les types pris en charge incluent `RESOURCE_GROUP` et `INSTANCE`.
+ **`TARGET_ID`**: 

  Si le type de cible que vous spécifiez est `INSTANCE`, le pseudo-paramètre `TARGET_ID` est remplacé par l'ID de l'instance. Par exemple, `i-078a280217EXAMPLE`.

  Si le type de cible que vous spécifiez est `RESOURCE_GROUP`, la valeur référencée pour l'exécution de la tâche est l'ARN complet de la ressource. Par exemple : `arn:aws:ec2:us-east-1:123456789012:instance/i-078a280217EXAMPLE`. Le tableau suivant fournit des exemples de valeurs `TARGET_ID` pour des types de ressources particuliers d'un groupe de ressources. 
**Note**  
`TARGET_ID` n'est pas pris en charge pour des tâches Run Command.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/maintenance-window-tasks-pseudo-parameters.html)
+ **`RESOURCE_ID`** : ID court d'un type de ressource contenu dans un groupe de ressources. Le tableau suivant fournit des exemples de valeurs `RESOURCE_ID` pour des types de ressources particuliers d'un groupe de ressources. 
**Note**  
`RESOURCE_ID` n'est pas pris en charge pour des tâches Run Command.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/maintenance-window-tasks-pseudo-parameters.html)
**Note**  
Si le groupe de AWS ressources que vous spécifiez inclut des types de ressources qui ne génèrent aucune `RESOURCE_ID` valeur et ne figurent pas dans le tableau précédent, le `RESOURCE_ID` paramètre n'est pas renseigné. Une invocation d'exécution se produira toujours pour cette ressource. Dans ces cas, utilisez plutôt le pseudo-paramètre `TARGET_ID`, qui sera remplacé par l'ARN complet de la ressource.

# Options de planification de la fenêtre de maintenance et de période active
<a name="maintenance-windows-schedule-options"></a>

Lorsque vous créez une fenêtre de maintenance, vous devez spécifier la fréquence à laquelle celle-ci s'exécute à l'aide d'une [expression Cron ou Rate](reference-cron-and-rate-expressions.md). Si vous le souhaitez, vous pouvez spécifier une plage de dates pendant laquelle la fenêtre de maintenance peut s'exécuter conformément à une planification régulière, ainsi qu'un fuseau horaire sur lequel baser cette dernière. 

Vous devez cependant savoir que l'option de fuseau horaire et les options de date de début et date de fin n'ont aucune influence les unes sur les autres. Toutes les dates de début et de fin que vous spécifiez (avec ou sans décalage par rapport à votre fuseau horaire) déterminent uniquement la *période de validité* pendant laquelle la fenêtre de maintenance peut s'exécuter aux dates et heures prévues. Une option de fuseau horaire détermine le fuseau horaire international sur lequel est basée la planification de la fenêtre de maintenance *pendant* sa période de validité.

**Note**  
Vous spécifiez les dates de début et de fin au format d'horodatage ISO 8601. Par exemple : `2021-04-07T14:29:00-08:00`  
Vous spécifiez les fuseaux horaires au format IANA (Internet Assigned Numbers Authority). Par exemple : `America/Chicago`, `Europe/Berlin` ou `Asia/Tokyo`

**Topics**
+ [Exemple 1 : Spécification d'une date de début de fenêtre de maintenance](#schedule-example-start-date)
+ [Exemple 2 : Spécification de la date de début et de la date de fin d'une fenêtre de maintenance](#schedule-example-start-end-date)
+ [Exemple 3 : Création d'une fenêtre de maintenance ne s'exécutant qu'une seule fois](#schedule-example-one-time)
+ [Exemple 4 : Spécifiez le nombre de jours de décalage programmé pour une fenêtre de maintenance](#schedule-example-schedule-offset)

## Exemple 1 : Spécification d'une date de début de fenêtre de maintenance
<a name="schedule-example-start-date"></a>

Supposons que vous utilisiez le AWS Command Line Interface (AWS CLI) pour créer une fenêtre de maintenance avec les options suivantes :
+ `--start-date 2021-01-01T00:00:00-08:00`
+ `--schedule-timezone "America/Los_Angeles"`
+ `--schedule "cron(0 09 ? * WED *)"`

Par exemple :

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-LAX-Maintenance-Window" \
    --allow-unassociated-targets \
    --duration 3 \
    --cutoff 1 \
    --start-date 2021-01-01T00:00:00-08:00 \
    --schedule-timezone "America/Los_Angeles" \
    --schedule "cron(0 09 ? * WED *)"
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-LAX-Maintenance-Window" ^
    --allow-unassociated-targets ^
    --duration 3 ^
    --cutoff 1 ^
    --start-date 2021-01-01T00:00:00-08:00 ^
    --schedule-timezone "America/Los_Angeles" ^
    --schedule "cron(0 09 ? * WED *)"
```

------

Cela signifie que la première exécution de la fenêtre de maintenance n'aura lieu qu'*après* la date et l'heure de début spécifiées, c'est-à-dire le vendredi 1er janvier 2021 à minuit heure des États-Unis/Pacifique. (Ce fuseau horaire a huit heures de retard par rapport à l'heure UTC.) Dans ce cas, la date et l'heure de début de la période de fenêtre ne représentent pas le moment où les fenêtres de maintenance s'exécutent pour la première fois. Si l'on considère les deux valeurs ensemble, les valeurs `--schedule-timezone` et `--schedule` signifient que la fenêtre de maintenance démarrera à 9 heures tous les mercredis dans le fuseau horaire États-Unis/Pacifique (représenté par « America/Los Angeles » en format IANA). La première exécution durant la période d'activité aura lieu le mercredi 4 janvier 2021, à 9 heures, heure des États-Unis/Pacifique.

## Exemple 2 : Spécification de la date de début et de la date de fin d'une fenêtre de maintenance
<a name="schedule-example-start-end-date"></a>

Supposons que vous créiez une fenêtre de maintenance avec les options suivantes :
+ `--start-date 2019-01-01T00:03:15+09:00`
+ `--end-date 2019-06-30T00:06:15+09:00`
+ `--schedule-timezone "Asia/Tokyo"`
+ `--schedule "rate(7 days)"`

Par exemple :

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-NRT-Maintenance-Window" \
    --allow-unassociated-targets \
    --duration 3 \
    --cutoff 1 \
    --start-date 2019-01-01T00:03:15+09:00 \
    --end-date 2019-06-30T00:06:15+09:00 \
    --schedule-timezone "Asia/Tokyo" \
    --schedule "rate(7 days)"
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-NRT-Maintenance-Window" ^
    --allow-unassociated-targets ^
    --duration 3 ^
    --cutoff 1 ^
    --start-date 2019-01-01T00:03:15+09:00 ^
    --end-date 2019-06-30T00:06:15+09:00 ^
    --schedule-timezone "Asia/Tokyo" ^
    --schedule "rate(7 days)"
```

------

La période activée pour cette fenêtre de maintenance commence à 15 h 15, heure normale du Japon, le 1er janvier 2019. La période de validité de cette fenêtre de maintenance se termine à 6 h 15, heure normale du Japon, le dimanche 30 juin 2019. (Ce fuseau horaire à neuf heures d'avance par rapport à l'heure UTC.) Si l'on considère les deux valeurs ensemble, les valeurs `--schedule-timezone` et `--schedule` signifient que la fenêtre de maintenance s'exécutera à 3 h 15 tous les mardis dans le fuseau horaire standard du Japon (représenté par « Asia/Tokyo » en format IANA). Cela est dû au fait que la fenêtre de maintenance s'exécute tous les sept jours et qu'elle devient active à 3 h 15 le mardi 1er janvier. La dernière exécution aura lieu à 3 h 15, heure normale du Japon, le mardi 25 juin 2019. Il s'agit du dernier mardi avant que la période de la fenêtre de maintenance activée se termine cinq jours plus tard.

## Exemple 3 : Création d'une fenêtre de maintenance ne s'exécutant qu'une seule fois
<a name="schedule-example-one-time"></a>

Vous avez à présent créé une fenêtre de maintenance avec cette option :
+ `--schedule "at(2020-07-07T15:55:00)"`

Par exemple :

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-One-Time-Maintenance-Window" \
    --schedule "at(2020-07-07T15:55:00)" \
    --duration 5 \
    --cutoff 2 \
    --allow-unassociated-targets
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-One-Time-Maintenance-Window" ^
    --schedule "at(2020-07-07T15:55:00)" ^
    --duration 5 ^
    --cutoff 2 ^
    --allow-unassociated-targets
```

------

Cette fenêtre de maintenance s'exécute une seule fois, à 15 h 55 (UTC), le 7 juillet 2020. La fenêtre de maintenance est activée pour s'exécuter pendant près de cinq heures, selon les besoins, mais aucune nouvelle tâche ne peut démarrer deux heures avant la fin de la période de la fenêtre de maintenance.

## Exemple 4 : Spécifiez le nombre de jours de décalage programmé pour une fenêtre de maintenance
<a name="schedule-example-schedule-offset"></a>

Vous avez à présent créé une fenêtre de maintenance avec cette option :

```
--schedule-offset 2
```

Par exemple :

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-Cron-Offset-Maintenance-Window" \
    --schedule "cron(0 30 23 ? * TUE#3 *)" \
    --duration 4 \
    --cutoff 1 \
    --schedule-offset 2 \
    --allow-unassociated-targets
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-Cron-Offset-Maintenance-Window" ^
    --schedule "cron(0 30 23 ? * TUE#3 *)" ^
    --duration 4 ^
    --cutoff 1 ^
    --schedule-offset 2 ^
    --allow-unassociated-targets
```

------

Un décalage de planification est le nombre de jours à attendre après la date et l'heure spécifiées par une expression CRON avant d'exécuter la fenêtre de maintenance.

Dans l'exemple ci-dessus, l'expression CRON planifie une fenêtre de maintenance à exécuter le troisième mardi de chaque mois à 23h30 : 

```
--schedule "cron(0 30 23 ? * TUE#3 *)
```

Cependant, l'inclusion de `--schedule-offset 2` signifie que la fenêtre de maintenance ne sera pas exécutée avant 23h30 deux jours *après* le troisième mardi de chaque mois. 

Les décalages de planification sont pris en charge uniquement pour les expressions CRON. 

**Plus d'informations**  
+ [Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md)
+ [Création d’une fenêtre de maintenance à l’aide de la console](sysman-maintenance-create-mw.md)
+ [Tutoriel : Création et configuration d'une fenêtre de maintenance à l'aide du AWS CLI](maintenance-windows-cli-tutorials-create.md)
+ [CreateMaintenanceWindow](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateMaintenanceWindow.html) dans la *Référence d'API AWS Systems Manager *
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/create-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/create-maintenance-window.html)dans la *AWS Systems Manager section de la référence de AWS CLI commande*
+ [Time Zone Database](https://www.iana.org/time-zones) sur le site web de l'IANA

# Enregistrement de tâches de fenêtre de maintenance sans cibles
<a name="maintenance-windows-targetless-tasks"></a>

Pour chaque fenêtre de maintenance créée, vous pouvez spécifier une ou plusieurs tâches à effectuer lors de l'exécution de la fenêtre de maintenance. Dans la plupart des cas, vous devez spécifier les ressources, ou cibles, sur lesquelles la tâche doit s'exécuter. Dans certains cas, cependant, vous n'avez pas à spécifier explicitement des cibles dans la tâche.

Une ou plusieurs cibles doivent être spécifiées pour des tâches de fenêtre de maintenance de type Systems Manager Run Command. Selon la nature de la tâche, les cibles sont facultatives pour les autres types de tâches de la fenêtre de maintenance (Systems Manager Automation AWS Lambda, et AWS Step Functions). 

Pour les types de tâches Lambda et Step Functions, la nécessité d'une cible dépend du contenu de la fonction ou de la machine d'état que vous avez créée.

**Note**  
Lorsqu'une tâche a enregistré des cibles AWS Lambda, Automation et AWS Step Functions Tasks résolvent les cibles à partir de groupes de ressources et de balises et envoient un appel par ressource résolue, ce qui entraîne plusieurs invocations de tâches. Mais supposons, par exemple, que vous ne souhaitiez qu’un seul appel pour une tâche Lambda enregistrée auprès d’un groupe de ressources contenant plusieurs instances. Dans ce cas, si vous travaillez dans la AWS Management Console, choisissez l’option **Cible de tâche non requise** dans la page **Enregistrer une tâche Lambda** ou **Modifier la tâche Lambda**. Si vous utilisez la AWS CLI commande, ne spécifiez pas de cibles à l'aide du `--targets` paramètre lors de l'exécution de la [https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html)commande ou de la [https://docs.aws.amazon.com/cli/latest/reference/ssm/update-maintenance-window-task.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/update-maintenance-window-task.html)commande.

Dans la plupart des cas, il est inutile de spécifier explicitement une cible pour une tâche d'automatisation. Par exemple, supposons que vous créiez une tâche de type Automation pour mettre à jour une Amazon Machine Image (AMI) pour Linux à l'aide du runbook `AWS-UpdateLinuxAmi`. Lorsque la tâche s'exécute, l'AMI est mise à jour avec les derniers packages de distribution Linux et les logiciels Amazon disponibles. Ces mises à jour sont déjà installées sur les nouvelles instances créées à partir de l'AMI. Comme l'ID de l'AMI à mettre à jour est spécifié dans les paramètres d'entrée du runbook, il est inutile de spécifier à nouveau une cible dans la tâche de la fenêtre de maintenance.

De même, supposons que vous utilisiez le AWS Command Line Interface (AWS CLI) pour enregistrer une tâche d'automatisation de la fenêtre de maintenance qui utilise le `AWS-RestartEC2Instance` runbook. Comme le nœud à redémarrer est spécifié dans l'argument `--task-invocation-parameters`, l'option `--targets` n'est pas nécessaire. 

**Note**  
Pour les tâches de la fenêtre de maintenance qui n'ont pas de cible spécifiée, vous ne pouvez pas fournir de valeurs pour `--max-errors` et `--max-concurrency`. Au lieu de cela, le système insère une valeur d'espace réservé de `1`, qui peut être rapportée dans la réponse à des commandes telles que [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-maintenance-window-tasks.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-maintenance-window-tasks.html) et [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-maintenance-window-task.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-maintenance-window-task.html). Ces valeurs n'affectent pas l'exécution de votre tâche et peuvent être ignorées.

Les exemples suivants montrent également que les options `--targets`, `--max-errors` et `--max-concurrency` peuvent être omises pour une tâche de fenêtre de maintenance sans cible.

------
#### [ Linux & macOS ]

```
aws ssm register-task-with-maintenance-window \
    --window-id "mw-ab12cd34eEXAMPLE" \
    --service-role-arn "arn:aws:iam::123456789012:role/MaintenanceWindowAndAutomationRole" \
    --task-type "AUTOMATION" \
    --name "RestartInstanceWithoutTarget" \
    --task-arn "AWS-RestartEC2Instance" \
    --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"i-02573cafcfEXAMPLE\"]}}}" \
    --priority 10
```

------
#### [ Windows ]

```
aws ssm register-task-with-maintenance-window ^
    --window-id "mw-ab12cd34eEXAMPLE" ^
    --service-role-arn "arn:aws:iam::123456789012:role/MaintenanceWindowAndAutomationRole" ^
    --task-type "AUTOMATION" ^
    --name "RestartInstanceWithoutTarget" ^
    --task-arn "AWS-RestartEC2Instance" ^
    --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"i-02573cafcfEXAMPLE\"]}}}" ^
    --priority 10
```

------

**Note**  
Pour les tâches du créneau de maintenance enregistrées avant le 23 décembre 2020 : si vous avez spécifié des cibles pour la tâche et que l'une d'elles n'est plus nécessaire, vous pouvez mettre à jour cette tâche pour supprimer les cibles à l'aide de la console Systems Manager ou de la [https://docs.aws.amazon.com/cli/latest/reference/ssm/update-maintenance-window-task.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/update-maintenance-window-task.html) AWS CLI commande.

**Plus d'informations**  
+ [Messages d'erreur : « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxConcurrency les valeurs » et « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxErrors les valeurs »](troubleshooting-maintenance-windows.md#maxconcurrency-maxerrors-not-supported)

# Résolution des problèmes liés aux fenêtres de maintenance
<a name="troubleshooting-maintenance-windows"></a>

Consultez les informations suivantes pour tenter de résoudre les problèmes liés aux fenêtres de maintenance.

**Topics**
+ [Erreur de modification de tâche : sur la page de modification de tâche de fenêtre de maintenance, la liste de rôles IAM affiche un message d'erreur : « We couldn't find the IAM maintenance window role specified for this task. It might have been deleted, or it might not have been created yet. » (Nous n'avons pas pu trouver le rôle de fenêtre de maintenance IAM spécifié pour cette tâche. Il a peut-être été supprimé ou il n'a peut-être pas encore été créé.)](#maintenance-window-role-troubleshooting)
+ [Toutes les cibles de fenêtre de maintenance ne sont pas mises à jour](#targets-not-updated)
+ [La tâche échoue avec le statut d'invocation de tâche : « The provided role does not contain the correct SSM permissions. » (Le rôle fourni ne contient pas les autorisations SSM correctes).](#incorrect-ssm-permissions)
+ [La tâche échoue avec le message d'erreur : « L'étape échoue lorsqu'elle valide et résout les entrées de l'étape »](#step-fails)
+ [Messages d'erreur : « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxConcurrency les valeurs » et « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxErrors les valeurs »](#maxconcurrency-maxerrors-not-supported)

## Erreur de modification de tâche : sur la page de modification de tâche de fenêtre de maintenance, la liste de rôles IAM affiche un message d'erreur : « We couldn't find the IAM maintenance window role specified for this task. It might have been deleted, or it might not have been created yet. » (Nous n'avons pas pu trouver le rôle de fenêtre de maintenance IAM spécifié pour cette tâche. Il a peut-être été supprimé ou il n'a peut-être pas encore été créé.)
<a name="maintenance-window-role-troubleshooting"></a>

**Problème 1** : Le rôle de fenêtre de maintenance Gestion des identités et des accès AWS (IAM) que vous avez initialement spécifié a été supprimé après la création de la tâche.

**Correctifs possibles** : 1) sélectionnez un autre rôle de fenêtre de maintenance IAM, s'il existe pour votre compte, ou créez-en un nouveau et sélectionnez-le pour cette tâche. 

**Problème 2** : Si la tâche a été créée à l'aide du AWS Command Line Interface (AWS CLI) ou d'un AWS SDK AWS Tools for Windows PowerShell, un nom de rôle de fenêtre de maintenance IAM inexistant aurait pu être spécifié. Par exemple, il est possible que le rôle de fenêtre de maintenance IAM ait été supprimé avant de créer la tâche, ou que le nom de rôle ait été saisi de façon incorrecte, par exemple, **myrole** au lieu de **my-role**.

**Correctifs possibles** : sélectionnez le nom correct du rôle de fenêtre de maintenance IAM que vous souhaitez utiliser, ou créez-en un nouveau à spécifier pour cette tâche. 

## Toutes les cibles de fenêtre de maintenance ne sont pas mises à jour
<a name="targets-not-updated"></a>

**Problème :** vous remarquez que des tâches de fenêtre de maintenance ne se sont pas exécutées sur toutes les ressources ciblées par votre fenêtre de maintenance. Par exemple, dans les résultats d'exécution de la fenêtre de maintenance, la tâche de cette ressource est marquée comme ayant échoué ou expiré.

**Solution:** les raisons les plus courantes pour lesquelles une tâche de fenêtre de maintenance ne s'exécute pas sur une ressource cible concernent la connectivité et la disponibilité. Par exemple :
+ Systems Manager a perdu la connexion avec la ressource avant ou pendant l'opération de la fenêtre de maintenance.
+ La ressource était hors ligne ou arrêtée pendant l'opération de la fenêtre de maintenance.

Vous pouvez attendre la prochaine fenêtre de maintenance planifiée pour exécuter des tâches sur les ressources. Vous pouvez exécuter manuellement les tâches de fenêtre de maintenance sur les ressources qui n'étaient pas disponibles ou qui étaient hors connexion.

## La tâche échoue avec le statut d'invocation de tâche : « The provided role does not contain the correct SSM permissions. » (Le rôle fourni ne contient pas les autorisations SSM correctes).
<a name="incorrect-ssm-permissions"></a>

**Problème** : Vous avez spécifié une fonction du service de fenêtre de maintenance pour une tâche, mais la tâche ne s'exécute pas correctement et le statut d'invocation de la tâche indique que « The provided role does not contain the correct SSM permissions. » (Le rôle fourni ne contient pas les autorisations SSM correctes). 
+ **Solution** : Dans [Tâche 1 : créer une politique personnalisée pour votre rôle de service de fenêtre de maintenance à l’aide de la console](configuring-maintenance-window-permissions-console.md#create-custom-policy-console), nous fournissons une politique de base que vous pouvez attacher à votre [fonction du service de fenêtre de maintenance personnalisée](configuring-maintenance-window-permissions-console.md#create-custom-role-console). Cette politique comprend les autorisations nécessaires pour de nombreux scénarios de tâches. Cependant, en raison de la grande variété de tâches que vous pouvez exécuter, vous devrez peut-être fournir des autorisations supplémentaires dans la politique pour votre rôle de fenêtre de maintenance.

  Par exemple, certaines actions d'automatisation fonctionnent avec des AWS CloudFormation piles. Par conséquent, vous devrez peut-être ajouter les autorisations supplémentaires `cloudformation:CreateStack`, `cloudformation:DescribeStacks`, et `cloudformation:DeleteStack` à la politique pour votre fonction du service de fenêtre de maintenance. 

  Autre exemple, le runbook d'automatisation `AWS-CopySnapshot` requiert des autorisations pour créer un instantané Amazon Elastic Block Store (Amazon EBS). Par conséquent, vous devrez peut-être ajouter l'autorisation `ec2:CreateSnapshot`.

  Pour plus d'informations sur les autorisations de rôle requises par un runbook d'automatisation AWS géré, consultez les descriptions du runbook dans la référence des [runbooks AWS Systems Manager d'automatisation](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html).

  Pour plus d'informations sur les autorisations de rôle requises par un document SSM AWS géré, consultez le contenu du document dans la section [Documents](https://console.aws.amazon.com//systems-manager/documents) de la console Systems Manager.

  Pour plus d'informations sur les autorisations de rôle nécessaires pour les tâches Step Functions, les tâches Lambda, les runbooks d'automatisation personnalisés et les documents SSM, vérifiez les autorisations requises auprès de l'auteur de ces ressources.

## La tâche échoue avec le message d'erreur : « L'étape échoue lorsqu'elle valide et résout les entrées de l'étape »
<a name="step-fails"></a>

**Problème** : un runbook Automation ou un document de commande Systems Manager utilisé dans une tâche exige que vous spécifiez des entrées telles que `InstanceId` ou `SnapshotId`, mais une valeur n'est pas fournie ou n'est pas fournie correctement.
+ **Solution 1** : si votre tâche ne cible qu'une seule ressource, telle qu'un nœud ou un instantané, saisissez son ID dans les paramètres d'entrée de la tâche.
+ **Solution 2** : si votre tâche cible plusieurs ressources, par exemple en créant des images à partir de plusieurs nœuds lorsque vous utilisez le runbook`AWS-CreateImage`, vous pouvez utiliser l'un des pseudo-paramètres pris en charge pour les tâches de la fenêtre de maintenance dans les paramètres d'entrée pour représenter le nœud IDs dans la commande. 

  Les commandes suivantes enregistrent une tâche Systems Manager Automation auprès d'une fenêtre de maintenance en utilisant la AWS CLI. La valeur `--targets` indique un ID de cible de fenêtre de maintenance. En outre, même si le paramètre `--targets` spécifie un ID de cible de fenêtre, les paramètres du runbook Automation exigent qu'un ID de nœud soit fourni. Dans ce cas, la commande utilise le pseudo paramètre `{{RESOURCE_ID}}` en tant que la valeur `InstanceId`.

  **AWS CLI commande :**

------
#### [ Linux & macOS ]

  L'exemple de commande suivant redémarre les instances Amazon Elastic Compute Cloud (Amazon EC2) appartenant au groupe cible de fenêtre de maintenance portant l'ID e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE.

  ```
  aws ssm register-task-with-maintenance-window \
      --window-id "mw-0c50858d01EXAMPLE" \
      --targets Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE \
      --task-arn "AWS-RestartEC2Instance" \
      --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole \
      --task-type AUTOMATION \
      --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" \
      --priority 0 --max-concurrency 10 --max-errors 5 --name "My-Restart-EC2-Instances-Automation-Task" \
      --description "Automation task to restart EC2 instances"
  ```

------
#### [ Windows ]

  ```
  aws ssm register-task-with-maintenance-window ^
      --window-id "mw-0c50858d01EXAMPLE" ^
      --targets Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE ^
      --task-arn "AWS-RestartEC2Instance" ^
      --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole ^
      --task-type AUTOMATION ^
      --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" ^
      --priority 0 --max-concurrency 10 --max-errors 5 --name "My-Restart-EC2-Instances-Automation-Task" ^
      --description "Automation task to restart EC2 instances"
  ```

------

  Pour de plus amples informations sur l'utilisation de pseudo-paramètres pour les tâches de fenêtre de maintenance, veuillez consulter [Utiliser des pseudo paramètres lors de l’enregistrement des tâches de la fenêtre de maintenance](maintenance-window-tasks-pseudo-parameters.md) et [Exemples d'enregistrement de tâches](mw-cli-register-tasks-examples.md#task-examples).

## Messages d'erreur : « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxConcurrency les valeurs » et « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxErrors les valeurs »
<a name="maxconcurrency-maxerrors-not-supported"></a>

**Problème :** lorsque vous enregistrez une tâche de type Run Command, vous devez spécifier au moins une cible sur laquelle la tâche doit s'exécuter. Pour les autres types de tâches (Automatisation AWS Lambda, et AWS Step Functions), selon la nature de la tâche, les cibles sont facultatives. Les options `MaxConcurrency` (le nombre de ressources sur lesquelles exécuter une tâche simultanément) et `MaxErrors` (le nombre d'échecs d'exécution de la tâche sur les ressources cibles avant que la tâche n'échoue) ne sont ni requises, ni prises en charge pour les tâches de fenêtre de maintenance qui ne spécifient pas de cibles. Le système génère ces messages d'erreur si des valeurs sont spécifiées pour l'une ou l'autre de ces options alors qu'aucune cible de tâche n'est spécifiée.

**Solution** : si vous recevez l'une de ces erreurs, supprimez les valeurs de concomitance et de seuil d'erreur avant de poursuivre l'enregistrement ou de mettre à jour la tâche de fenêtre de maintenance.

Pour de plus amples informations sur l'exécution des tâches qui ne spécifient pas de cibles, veuillez consulter [Enregistrement de tâches de fenêtre de maintenance sans cibles](maintenance-windows-targetless-tasks.md) dans le *Guide de l'utilisateur AWS Systems Manager *.