Passer au contenu

Comment utiliser les données utilisateur pour ajouter un nouveau compte utilisateur avec accès RDP à mon instance Amazon EC2 ?

Lecture de 5 minute(s)
0

Je souhaite ajouter un autre utilisateur qui peut se connecter à mon instance Windows Amazon Elastic Compute Cloud (Amazon EC2) avec le protocole RDP (Remote Desktop Protocol).

Brève description

Pour créer un nouvel utilisateur local disposant d'autorisations RDP et capable de se connecter à votre instance EC2, utilisez les commandes PowerShell qui s'exécutent dans le cadre des données utilisateur. Si vous envisagez de lancer une nouvelle instance, les données utilisateur s'exécutent automatiquement chaque fois que l'instance redémarre ou se réinitialise. Si vous utilisez une instance que vous avez déjà lancée, vous devez planifier l'exécution des données utilisateur.

Pour plus d'informations, consultez la section Exécution des données utilisateur.

Résolution

Important : Avant d'arrêter et de démarrer votre instance, effectuez les actions suivantes :

Remarque : Lorsque vous arrêtez et démarrez une instance, son adresse IP publique change. Une bonne pratique consiste à utiliser une adresse IP Elastic pour acheminer le trafic externe vers votre instance au lieu d'une adresse IP publique. Si vous utilisez Amazon Route 53, vous devrez peut-être mettre à jour les enregistrements DNS Route 53 lorsque l'adresse IP publique change.

Ajouter le script PowerShell à votre instance au lancement

Procédez comme suit :

  1. Utilisez l'assistant de lancement de l'instance pour configurer le lancement de l'instance, puis choisissez Avancé sous Configurer le stockage.

  2. Sous Détails avancés, sélectionnez Données utilisateur.

  3. Saisissez le script PowerShell suivant :

    <powershell>$user = New-LocalUser -AccountNeverExpires:$true -Password ( ConvertTo-SecureString -AsPlainText -Force 'ExampleP@ssword!') -Name "RDPUser" -FullName "Local RDPUser" -Description "Local Administrator"
    Add-LocalGroupMember -Group "Administrators" -Member $user
    Add-LocalGroupMember -Group "Remote Desktop Users" -Member $user
    </powershell>

    Remarque : L'exemple de script précédent crée un nouvel utilisateur local nommé RDPUser avec le mot de passe ExampleP@ssword!. Le compte AWS est configuré pour être activé, n'expire pas et inclut une brève description. Le script ajoute le compte utilisateur au groupe Administrateurs et au groupe Utilisateurs du Bureau à distance. L'accès au groupe Utilisateurs du Bureau à distance est obligatoire, mais vous pouvez supprimer la section Add-LocalGroupMember -Group "Administrators" -Member $user si nécessaire.

  4. Sélectionnez Lancer l’instance.

Ajouter le script PowerShell à votre instance après le lancement

Si votre instance EC2 est déjà lancée, procédez comme suit :

  1. Configurez vos paramètres afin qu'Amazon EC2 reflète les données utilisateur mises à jour au prochain démarrage.

  2. Arrêtez votre instance EC2.

  3. Ouvrez la console Amazon EC2.

  4. Choisissez Instances, puis sélectionnez votre instance.

  5. Choisissez Actions, puis sélectionnez Paramètres de l’instance.

  6. Choisissez Afficher/Modifier les données utilisateur.

  7. Dans Données utilisateur, entrez le script PowerShell suivant :

    <powershell>$user = New-LocalUser -AccountNeverExpires:$true -Password ( ConvertTo-SecureString -AsPlainText -Force 'ExampleP@ssword!') -Name "RDPUser" -FullName "Local RDPUser" -Description "Local Administrator"
    Add-LocalGroupMember -Group "Administrators" -Member $user
    Add-LocalGroupMember -Group "Remote Desktop Users" -Member $user
    </powershell>

    Remarque : L'exemple de script précédent crée un nouveau compte utilisateur local nommé RDPUser avec le mot de passe ExampleP@ssword!. Le compte est configuré pour être activé, n'expire pas et inclut une brève description. Le script ajoute le compte utilisateur au groupe Administrateurs et au groupe Utilisateurs du Bureau à distance. L'accès au groupe Utilisateurs du Bureau à distance est obligatoire, mais vous pouvez supprimer la section Add-LocalGroupMember -Group "Administrators" -Member $user si nécessaire.

  8. Démarrez votre instance.

Vérifier qu'Amazon EC2 a créé le compte utilisateur

Pour confirmer qu'Amazon EC2 a créé le compte utilisateur, vous pouvez utiliser Session Manager, une fonctionnalité d'AWS Systems Manager, ou utiliser l'accès à distance PSSession.

Pour créer la variable $usernamelist, exécutez la commande suivante :

$usernamelist = Get-WmiObject -Class Win32_UserAccount -Filter "LocalAccount='True'" |Select Name, Status, Disabled, AccountType, Lockout, PasswordRequired, PasswordChangeable, SID

Remarque : La variable $usernamelist contient une liste de tous les comptes utilisateurs correspondant à l'exigence Le compte local est vrai.

Pour obtenir une vue détaillée du compte utilisateur que vous avez créé, exécutez la commande suivante :

$usernamelist | select-string -AllMatches RDPUser

Remarque : Remplacez RDPUser par le nom de votre compte utilisateur.

Résoudre les problèmes

Si vous rencontrez des problèmes lors de l'ajout d'un nouveau compte utilisateur, effectuez les opérations suivantes :

  • Si Amazon EC2 n'a pas créé le compte utilisateur, exécutez les commandes route print ou invoke-webrequest pour vérifier les métadonnées d'instance et accéder aux données utilisateur. Si vous recevez une réponse qui n'est pas une réponse 200, vérifiez les données utilisateur de l'instance.
  • Pour consulter les journaux de données utilisateur, consultez la section Comment résoudre les problèmes lorsque j’exécute des scripts de données utilisateur pour configurer mon instance Windows EC2 ?
  • Testez le script sur un ordinateur local avant de l'exécuter.
  • Vérifiez que l'instance utilise la version appropriée de PowerShell et que le script peut s'exécuter sur une deuxième instance.
AWS OFFICIELA mis à jour il y a un an