Procédure pas à pas : utilisez le AWS Tools for Windows PowerShell avec Run Command - AWS Systems Manager

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.

Procédure pas à pas : utilisez le AWS Tools for Windows PowerShell avec Run Command

Les exemples suivants montrent comment utiliser le AWS Tools for Windows PowerShell pour afficher des informations sur les commandes et leurs paramètres, comment exécuter des commandes et comment afficher le statut de ces commandes. Cette procédure inclut un exemple pour chaque document  AWS Systems Manager prédéfini.

Important

Seuls les administrateurs de confiance doivent être autorisés à utiliser les documents préconfigurés Systems Manager illustrés dans cette rubrique. Les commandes ou scripts spécifiés dans des documents Systems Manager sont exécutés avec une autorisation administrative sur vos nœuds gérés. Si un utilisateur est autorisé à exécuter l'un des documents prédéfinis de Systems Manager (tout document commençant par AWS), il dispose également d'un accès administrateur au nœud. Pour tous les autres utilisateurs, vous devez créer des documents restrictifs et les partager avec des utilisateurs spécifiques.

Configuration des paramètres AWS Tools for Windows PowerShell de session

Spécifier vos informations d'identification

Ouvrez Outils pour Windows PowerShell sur votre ordinateur local et exécutez la commande suivante pour spécifier vos informations d'identification. Vous devez disposer des autorisations d'administrateur sur les nœuds gérés que vous souhaitez configurer ou vous devez avoir obtenu les autorisations appropriées dans AWS Identity and Access Management (IAM). Pour plus d’informations, consultez Con AWS Systems Manager figuration.

Set-AWSCredentials –AccessKey key-name –SecretKey key-name
Définir une valeur par défaut Région AWS

Exécutez la commande suivante pour définir la région de votre PowerShell session. L'exemple utilise la région USA Est (Ohio) (us-east-2). Run Commandest disponible dans les points de terminaison du service Systems Manager Régions AWS répertoriés dans le Référence générale d'Amazon Web Services.

Set-DefaultAWSRegion ` -Region us-east-2

Répertorier tous les documents disponibles

Cette commande répertorie les documents disponibles pour votre compte.

Get-SSMDocumentList

Exécuter PowerShell des commandes ou des scripts

Run Command et le document AWS-RunPowerShell vous permettent d'exécuter n'importe quel script ou commande sur un nœud géré comme si vous vous étiez connecté localement. Vous pouvez émettre des commandes ou saisir un chemin d'accès à un script local pour exécuter la commande.

Note

Pour plus d'informations sur le redémarrage des nœuds gérés lors de l'utilisation de Run Command pour appeler des scripts, consultez Gestion des redémarrages lors de l'exécution de commandes.

Afficher la description et les paramètres disponibles

Get-SSMDocumentDescription ` -Name "AWS-RunPowerShellScript"

Afficher des informations supplémentaires sur les paramètres

Get-SSMDocumentDescription ` -Name "AWS-RunPowerShellScript" | Select -ExpandProperty Parameters

Envoyer une commande en utilisant le document AWS-RunPowerShellScript

La commande suivante permet d'afficher le contenu du répertoire "C:\Users" et celui du répertoire "C:\" sur deux nœuds gérés.

$runPSCommand = Send-SSMCommand ` -InstanceIds @("instance-ID-1", "instance-ID-2") ` -DocumentName "AWS-RunPowerShellScript" ` -Comment "Demo AWS-RunPowerShellScript with two instances" ` -Parameter @{'commands'=@('dir C:\Users', 'dir C:\')}
Obtenir les détails de la demande de commande

La commande suivante utilise l'CommandId afin d'obtenir le statut de l'exécution de la commande sur les deux nœuds gérés. Cet exemple utilise l'CommandId qui a été renvoyé lors de la commande précédente.

Get-SSMCommand ` -CommandId $runPSCommand.CommandId

Dans cet exemple, le statut de la commande peut être Success, Pending ou InProgress.

Obtention d'informations sur la commande par nœud géré

La commande suivante utilise l'CommandId de la commande précédente afin d'obtenir le statut de l'exécution de la commande par nœud géré.

Get-SSMCommandInvocation ` -CommandId $runPSCommand.CommandId
Obtention d'informations sur la commande avec des données de réponse pour un nœud géré

La commande suivante renvoie la sortie de la commande Send-SSMCommand initiale pour un nœud géré spécifique.

Get-SSMCommandInvocation ` -CommandId $runPSCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Annuler une commande

La commande suivante annule le Send-SSMCommand pour le document AWS-RunPowerShellScript.

$cancelCommand = Send-SSMCommand ` -InstanceIds @("instance-ID-1","instance-ID-2") ` -DocumentName "AWS-RunPowerShellScript" ` -Comment "Demo AWS-RunPowerShellScript with two instances" ` -Parameter @{'commands'='Start-Sleep –Seconds 120; dir C:\'} Stop-SSMCommand -CommandId $cancelCommand.CommandId
Vérifier le statut de commande

La commande suivante vérifie le statut de la commande Cancel.

Get-SSMCommand ` -CommandId $cancelCommand.CommandId

Installer une application en utilisant le document AWS-InstallApplication

En utilisant Run Command et le document AWS-InstallApplication, vous pouvez installer, réparer ou désinstaller des applications sur des nœuds gérés. Cette commande a besoin d'un chemin d'accès ou d'une adresse pour un MSI.

Note

Pour plus d'informations sur le redémarrage des nœuds gérés lors de l'utilisation de Run Command pour appeler des scripts, consultez Gestion des redémarrages lors de l'exécution de commandes.

Afficher la description et les paramètres disponibles

Get-SSMDocumentDescription ` -Name "AWS-InstallApplication"

Afficher des informations supplémentaires sur les paramètres

Get-SSMDocumentDescription ` -Name "AWS-InstallApplication" | Select -ExpandProperty Parameters

Envoyer une commande en utilisant le document AWS-InstallApplication

La commande suivante installe une version de Python sur votre nœud géré en mode sans surveillance et consigne la sortie dans un fichier texte local sur votre lecteur C:.

$installAppCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallApplication" ` -Parameter @{'source'='https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi'; 'parameters'='/norestart /quiet /log c:\pythoninstall.txt'}
Obtention d'informations sur la commande par nœud géré

La commande suivante utilise l'CommandId afin d'obtenir le statut de l'exécution de la commande

Get-SSMCommandInvocation ` -CommandId $installAppCommand.CommandId ` -Details $true
Obtention d'informations sur la commande avec des données de réponse pour un nœud géré

La commande suivante retourne les résultats de l'installation Python.

Get-SSMCommandInvocation ` -CommandId $installAppCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Installation d'un PowerShell module à l'aide du document AWS-InstallPowerShellModule JSON

Vous pouvez l'utiliser Run Command pour installer PowerShell des modules sur des nœuds gérés. Pour plus d'informations sur les PowerShell modules, consultez la section PowerShell Modules Windows.

Afficher la description et les paramètres disponibles

Get-SSMDocumentDescription ` -Name "AWS-InstallPowerShellModule"

Afficher des informations supplémentaires sur les paramètres

Get-SSMDocumentDescription ` -Name "AWS-InstallPowerShellModule" | Select -ExpandProperty Parameters

Installation d'un PowerShell module

La commande suivante permet de télécharger le fichier EZOut.zip, de l'installer, puis d'exécuter une commande supplémentaire afin d'installer XPS Viewer. Enfin, la sortie de cette commande est téléchargée dans un compartiment S3 nommé « demo-ssm-output-bucket ».

$installPSCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallPowerShellModule" ` -Parameter @{'source'='https://gallery.technet.microsoft.com/EZOut-33ae0fb7/file/110351/1/EZOut.zip';'commands'=@('Add-WindowsFeature -name XPS-Viewer -restart')} ` -OutputS3BucketName demo-ssm-output-bucket
Obtention d'informations sur la commande par nœud géré

La commande suivante utilise l'CommandId afin d'obtenir le statut de l'exécution de la commande

Get-SSMCommandInvocation ` -CommandId $installPSCommand.CommandId ` -Details $true
Obtention d'informations sur la commande avec des données de réponse pour le nœud géré

La commande suivante renvoie la sortie de la commande Send-SSMCommand d'origine pour le CommandId spécifique.

Get-SSMCommandInvocation ` -CommandId $installPSCommand.CommandId ` -Details $true | Select -ExpandProperty CommandPlugins

Association d'un nœud géré à un domaine en utilisant le document JSON AWS-JoinDirectoryServiceDomain

En utilisantRun Command, vous pouvez rapidement joindre un nœud géré à un AWS Directory Service domaine. Avant d'exécuter cette commande, créez un répertoire. Nous vous recommandons également d'en découvrir plus sur l' AWS Directory Service. Pour plus d'informations, consultez le Guide d'administration AWS Directory Service.

Vous pouvez uniquement associer un nœud géré à un domaine. Vous ne pouvez pas supprimer de nœud d'un domaine.

Note

Pour plus d'informations sur les nœuds gérés lors de l'utilisation de Run Command pour appeler des scripts, consultez Gestion des redémarrages lors de l'exécution de commandes.

Afficher la description et les paramètres disponibles

Get-SSMDocumentDescription ` -Name "AWS-JoinDirectoryServiceDomain"

Afficher des informations supplémentaires sur les paramètres

Get-SSMDocumentDescription ` -Name "AWS-JoinDirectoryServiceDomain" | Select -ExpandProperty Parameters

Association d'un nœud géré à un domaine

La commande suivante joint un nœud géré au AWS Directory Service domaine donné et télécharge toute sortie générée dans l'exemple de bucket Amazon Simple Storage Service (Amazon S3).

$domainJoinCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-JoinDirectoryServiceDomain" ` -Parameter @{'directoryId'='d-example01'; 'directoryName'='ssm.example.com'; 'dnsIpAddresses'=@('192.168.10.195', '192.168.20.97')} ` -OutputS3BucketName demo-ssm-output-bucket
Obtention d'informations sur la commande par nœud géré

La commande suivante utilise l'CommandId afin d'obtenir le statut de l'exécution de la commande

Get-SSMCommandInvocation ` -CommandId $domainJoinCommand.CommandId ` -Details $true
Obtention d'informations sur la commande avec des données de réponse pour le nœud géré

Cette commande renvoie la sortie du Send-SSMCommand initial pour le CommandId spécifique.

Get-SSMCommandInvocation ` -CommandId $domainJoinCommand.CommandId ` -Details $true | Select -ExpandProperty CommandPlugins

Envoyez les métriques Windows à Amazon CloudWatch Logs à l'aide du AWS-ConfigureCloudWatch document

Vous pouvez envoyer Windows Server des messages dans les journaux de l'application, du système, de la sécurité et du suivi des événements pour Windows (ETW) à Amazon CloudWatch Logs. Lorsque vous activez la journalisation pour la première fois, Systems Manager envoie tous les journaux générés en une minute à partir du moment où vous avez commencé à charger les journaux pour les applications, le système, la sécurité et le suivi d'événements. Les journaux générés avant ce moment ne sont pas inclus. Si vous désactivez la journalisation, puis que vous la réactivez, Systems Manager envoie les journaux à partir du moment où la journalisation a été désactivée. Pour tous les fichiers journaux personnalisés et les journaux IIS (Internet Information Services), Systems Manager lit les fichiers journaux depuis le début. En outre, Systems Manager peut également envoyer les données des compteurs de performance à CloudWatch Logs.

Si vous avez précédemment activé CloudWatch l'intégration dans EC2Config, les paramètres de Systems Manager remplacent tous les paramètres stockés localement sur le nœud géré dans le fichier. C:\Program Files\Amazon\EC2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json Pour plus d'informations sur l'utilisation d'EC2Config pour gérer les compteurs de performance et les journaux sur un seul nœud géré, consultez la section Collecte de métriques et de journaux à partir d'instances Amazon EC2 et de serveurs sur site avec l'agent CloudWatch dans le guide de l'utilisateur Amazon. CloudWatch

Afficher la description et les paramètres disponibles

Get-SSMDocumentDescription ` -Name "AWS-ConfigureCloudWatch"

Afficher des informations supplémentaires sur les paramètres

Get-SSMDocumentDescription ` -Name "AWS-ConfigureCloudWatch" | Select -ExpandProperty Parameters

Envoyez les journaux des applications à CloudWatch

La commande suivante configure le nœud géré et déplace les journaux des applications Windows vers CloudWatch.

$cloudWatchCommand = Send-SSMCommand ` -InstanceID instance-ID ` -DocumentName "AWS-ConfigureCloudWatch" ` -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"ApplicationEventLog", "FullName":"AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"LogName":"Application", "Levels":"7"}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters":{"Region":"region", "LogGroup":"my-log-group", "LogStream":"instance-id"}}], "Flows":{"Flows":["ApplicationEventLog,CloudWatch"]}}}'}
Obtention d'informations sur la commande par nœud géré

La commande suivante utilise l'CommandId afin d'obtenir le statut de l'exécution de la commande

Get-SSMCommandInvocation ` -CommandId $cloudWatchCommand.CommandId ` -Details $true
Obtention d'informations sur la commande avec des données de réponse pour un nœud géré

La commande suivante renvoie les résultats de la CloudWatch configuration Amazon.

Get-SSMCommandInvocation ` -CommandId $cloudWatchCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Envoyer des compteurs de performance à CloudWatch l'utilisation du document AWS-ConfigureCloudWatch

La commande de démonstration suivante télécharge les compteurs de performance vers. CloudWatch Pour plus d'informations, consultez le guide de CloudWatch l'utilisateur Amazon.

$cloudWatchMetricsCommand = Send-SSMCommand ` -InstanceID instance-ID ` -DocumentName "AWS-ConfigureCloudWatch" ` -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"PerformanceCounter", "FullName":"AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"CategoryName":"Memory", "CounterName":"Available MBytes", "InstanceName":"", "MetricName":"AvailableMemory", "Unit":"Megabytes","DimensionName":"", "DimensionValue":""}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"AccessKey":"", "SecretKey":"","Region":"region", "NameSpace":"Windows-Default"}}], "Flows":{"Flows":["PerformanceCounter,CloudWatch"]}}}'}

Mettre à jour EC2Config en utilisant le document AWS-UpdateEC2Config

La fonctionnalité Run Command et le document AWS-EC2ConfigUpdate vous permettent de mettre à jour le service EC2Config qui s'exécute sur vos nœuds gérés Windows Server. Cette commande peut mettre à jour le service EC2Config à l'aide de la dernière version ou de la version que vous spécifiez.

Afficher la description et les paramètres disponibles

Get-SSMDocumentDescription ` -Name "AWS-UpdateEC2Config"

Afficher des informations supplémentaires sur les paramètres

Get-SSMDocumentDescription ` -Name "AWS-UpdateEC2Config" | Select -ExpandProperty Parameters

Mettre à jour EC2Config à l'aide de la dernière version

$ec2ConfigCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-UpdateEC2Config"
Obtention d'informations sur la commande avec des données de réponse pour le nœud géré

Cette commande renvoie la sortie de la commande spécifiée depuis la commande Send-SSMCommand précédente.

Get-SSMCommandInvocation ` -CommandId $ec2ConfigCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Mettre à jour EC2Config à l'aide d'une version donnée

La commande suivante remplace EC2Config par ne version plus ancienne sur l'instance.

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-UpdateEC2Config" ` -Parameter @{'version'='4.9.3519'; 'allowDowngrade'='true'}

Activer ou désactiver la mise à jour automatique de Windows en utilisant le document AWS-ConfigureWindowsUpdate

Run Command et le document AWS-ConfigureWindowsUpdate vous permettent d'activer et de désactiver les mises à jour Windows automatiques sur vos nœuds gérés Windows Server. Cette commande configure l'agent de mise à jour Windows pour télécharger et installer les mises à jour Windows à la date et à l'heure que vous spécifiez. Si une mise à jour requiert un redémarrage, le nœud géré redémarre automatiquement 15 minutes après l'installation des mises à jour. Cette commande vous permet également de configurer la mise à jour Windows de façon à rechercher les mises à jour sans les installer. Le document AWS-ConfigureWindowsUpdate est compatible avec Windows Server 2008, 2008 R2, 2012, 2012 R2 et 2016.

Afficher la description et les paramètres disponibles

Get-SSMDocumentDescription ` –Name "AWS-ConfigureWindowsUpdate"

Afficher des informations supplémentaires sur les paramètres

Get-SSMDocumentDescription ` -Name "AWS-ConfigureWindowsUpdate" | Select -ExpandProperty Parameters

Activer la mise à jour automatique de Windows

La commande suivante configure les mises à jour Windows de façon à ce qu'elles soient téléchargées et installées automatiquement tous les jours à 22 h.

$configureWindowsUpdateCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-ConfigureWindowsUpdate" ` -Parameters @{'updateLevel'='InstallUpdatesAutomatically'; 'scheduledInstallDay'='Daily'; 'scheduledInstallTime'='22:00'}
Afficher le statut de la commande afin d'activer les mises à jour automatiques Windows

La commande suivante utilise l'CommandId afin d'obtenir le statut de l'exécution de la commande pour activer les mises à jour automatiques Windows.

Get-SSMCommandInvocation ` -Details $true ` -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins

Désactiver la mise à jour automatique de Windows

La commande suivante diminue le niveau de notification des mises à jour Windows afin que le système recherche les mises à jour, mais ne mette pas à jour le nœud géré automatiquement.

$configureWindowsUpdateCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-ConfigureWindowsUpdate" ` -Parameters @{'updateLevel'='NeverCheckForUpdates'}
Afficher le statut de la commande afin de désactiver les mises à jour automatiques Windows

La commande suivante utilise l'CommandId afin d'obtenir le statut de l'exécution de la commande pour activer les mises à jour automatiques Windows.

Get-SSMCommandInvocation ` -Details $true ` -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins

Gérer les mises à jour Windows à l'aide de la fonctionnalité Run Command

Run Command et le document AWS-InstallWindowsUpdates vous permettent de gérer les mises à jour pour les nœuds gérés Windows Server. Cette commande recherche ou installe les mises à jour manquantes sur vos nœuds gérés et, éventuellement, provoque un redémarrage après l'installation. Vous pouvez également spécifier les classifications et les niveaux de sévérité appropriés pour les mises à jour à installer dans votre environnement.

Note

Pour plus d'informations sur le redémarrage des nœuds gérés lors de l'utilisation de Run Command pour appeler des scripts, consultez Gestion des redémarrages lors de l'exécution de commandes.

Les exemples suivants décrivent comment exécuter les tâches de gestion des mises à jour Windows spécifiées.

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Scan'}

Installer des mises à jour Windows spécifiques

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'IncludeKbs'='kb-ID-1,kb-ID-2,kb-ID-3';'AllowReboot'='True'}

Installer les mises à jour Windows importantes manquantes

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'SeverityLevels'='Important';'AllowReboot'='True'}

Installer les mises à jour Windows manquantes avec des exclusions spécifiques

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'ExcludeKbs'='kb-ID-1,kb-ID-2';'AllowReboot'='True'}