Créer des machines virtuelles avec Azure PowerShell
Dans ce tutoriel, vous allez découvrir toutes les étapes impliquées dans la configuration d’une machine virtuelle avec Azure PowerShell. Ce didacticiel traite également des requêtes de sortie, de la réutilisation des ressources Azure et du nettoyage des ressources.
Ce didacticiel peut être effectué avec l’expérience interactive offerte via Azure Cloud Shell, ou vous pouvez installer Azure PowerShell localement.
Utilisez ctrl-shift-v (cmd-shift-v sur macOS) pour coller le texte du didacticiel dans Azure Cloud Shell.
Connexion
Si vous utilisez une installation locale d’Azure PowerShell, vous devez vous connecter avant d’effectuer d’autres étapes.
Connect-AzAccount
Effectuez le processus de connexion en suivant les étapes affichées dans votre terminal.
Créer un groupe de ressources
Dans Azure, toutes les ressources sont allouées dans un groupe d’administration des ressources. Les groupes de ressources fournissent des regroupements logiques de ressources qui facilitent leur utilisation en tant que collection.
Pour ce tutoriel, toutes les ressources créées passent dans un groupe unique nommé TutorialResources
.
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources
Créer des informations d’identification d’administrateur pour la machine virtuelle
Avant de pouvoir créer une machine virtuelle, vous devez créer un objet d’informations d’identification contenant le nom d’utilisateur et le mot de passe du compte administrateur de la machine virtuelle Windows.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Entrez le nom d’utilisateur et le mot de passe lorsque vous y êtes invité. L’objet d’informations d’identification résultant est passé en tant que paramètre à l’étape suivante.
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: tutorAdmin
Password for user tutorAdmin: *********
Créer une machine virtuelle
Les machines virtuelles dans Azure ont un grand nombre de dépendances. Azure PowerShell crée ces ressources pour vous en fonction des arguments de ligne de commande que vous spécifiez. Pour la lisibilité, nous utilisons d’platissement PowerShell pour transmettre des paramètres aux applets de commande Azure PowerShell.
Créez une machine virtuelle exécutant Windows.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
Size = 'Standard_D2s_v3'
}
$newVM1 = New-AzVM @vmParams
À mesure que la machine virtuelle est créée, vous voyez les valeurs de paramètre utilisées et les ressources Azure en cours de création. PowerShell affiche une barre de progression, comme indiqué ci-dessous.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
Une fois la machine virtuelle prête, nous pouvons afficher les résultats dans le portail Azure ou en inspectant la variable $newVM1
.
$newVM1
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM1
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
Les valeurs de propriété répertoriées à l’intérieur des accolades sont des objets imbriqués. À l’étape suivante, nous allons vous montrer comment afficher des valeurs spécifiques dans ces objets imbriqués.
Obtenir des informations sur la machine virtuelle avec des requêtes
Obtenons des informations plus détaillées sur la machine virtuelle que nous venons de créer. Dans cet exemple, nous vérifions le nom de la machine virtuelle et le compte d’administrateur que nous avons créés.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Nous pouvons utiliser d’autres commandes Azure PowerShell pour obtenir des informations spécifiques sur la configuration réseau.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object -Property Name, PrivateIpAddress
Dans cet exemple, nous utilisons le pipeline PowerShell pour envoyer l’objet $newVM 1 à l’applet de commande Get-AzNetworkInterface
. À partir de l’objet d’interface réseau résultant, nous sélectionnons l’objet IpConfigurations imbriqué. Dans l’objet IpConfigurations, nous sélectionnons les propriétés Name et PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Pour confirmer que la machine virtuelle est en cours d’exécution, nous devons nous connecter via le Bureau à distance. Pour cela, nous devons connaître l’adresse IP publique.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp |
Select-Object -Property Name, IpAddress, @{label='FQDN';expression={$_.DnsSettings.Fqdn}}
Dans cet exemple, nous utilisons le Get-AzPublicIpAddress
et stockons les résultats dans la variable $publicIp
. À partir de cette variable, nous sélectionnons des propriétés et utilisons une expression pour récupérer la propriété Fqdn imbriquée.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
À partir de votre ordinateur local, vous pouvez exécuter la commande suivante pour vous connecter à la machine virtuelle via le Bureau à distance.
mstsc.exe /v $publicIp.IpAddress
Pour plus d’informations sur l’interrogation des propriétés d’objet, consultez Interrogation des ressources Azure.
Création d’une machine virtuelle sur le sous-réseau existant
La deuxième machine virtuelle utilise le sous-réseau existant.
$vm2Params = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM2'
ImageName = 'Win2016Datacenter'
VirtualNetworkName = 'TutorialVM1'
SubnetName = 'TutorialVM1'
PublicIpAddressName = 'tutorialPublicIp2'
Credential = $cred
OpenPorts = 3389
}
$newVM2 = New-AzVM @vm2Params
$newVM2
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM2
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM2
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : tutorialvm2-dfa5af.eastus.cloudapp.azure.com
Vous pouvez ignorer quelques étapes pour obtenir l’adresse IP publique de la nouvelle machine virtuelle, car elle est retournée dans la propriété FullyQualifiedDomainName de l’objet $newVM2
. Utilisez la commande suivante pour vous connecter à l’aide du Bureau à distance.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Nettoyage
Maintenant que le didacticiel est terminé, il est temps de nettoyer les ressources créées. Vous pouvez supprimer des ressources individuelles avec la commande Remove-AzResource
, mais la méthode la plus sûre pour supprimer toutes les ressources d’un groupe de ressources est de supprimer le groupe à l’aide de la commande Remove-AzResourceGroup
.
$job = Remove-AzResourceGroup -Name TutorialResources -Force -AsJob
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost Remove-AzResource...
Cette commande supprime les ressources créées pendant le didacticiel et est garantie de les libérer dans l’ordre correct. Le paramètre AsJob
empêche PowerShell de bloquer pendant la suppression. Pour attendre la fin de la suppression, utilisez la commande suivante :
Wait-Job -Id $job.Id
Une fois le nettoyage terminé, le didacticiel est terminé. Poursuivez pour obtenir un résumé de tout ce que vous avez appris et des liens vers des ressources qui vous aideront à suivre vos étapes suivantes.
Résumé
Félicitations! Vous avez appris à créer des machines virtuelles avec des ressources nouvelles ou existantes, des expressions utilisées et d’autres commandes Azure PowerShell pour capturer des données à stocker dans des variables d’interpréteur de commandes et examiner certaines des ressources créées pour les machines virtuelles Azure.
L’endroit où vous vous trouvez dépend de la façon dont vous envisagez d’utiliser Azure PowerShell. Il existe une variété de matériaux qui vont plus loin dans les fonctionnalités décrites dans ce tutoriel.
Documentation détaillée d’Azure PowerShell
Vous pouvez prendre le temps d’explorer la documentation complète Azure PowerShell définie.
Pour plus d’informations sur les commandes utilisées dans ce didacticiel, consultez les articles suivants.
- New-AzResourceGroup
- obtenir des informations d’identification
- New-AzVM
- sélectionner un objet
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- de travail d’attente
Il existe également des articles qui expliquent plus en détail les fonctionnalités qui ont été présentées dans le didacticiel.
- de mise en forme PowerShell
- requêtes
- mise en forme
- Utiliser des travaux PowerShell
Exemples de scripts
Si vous souhaitez commencer immédiatement avec des tâches spécifiques, examinez certains exemples de scripts.
- Azure App Service
- bases de données SQL
- cosmos DB
- référentiel d’exemples
Rétroaction
Si vous souhaitez envoyer des commentaires, des suggestions ou poser des questions, il existe plusieurs façons d’entrer en contact avec vous.
-
Send-Feedback
est une commande intégrée pour Azure PowerShell qui vous permet de fournir des commentaires de formulaire libre à l’équipe. - Déposez une demande de fonctionnalité ou un rapport de bogue dans le référentiel Azure PowerShell .
- Posez une question ou obtenez des précisions en plaçant un problème dans le référentiel de documentation Azure PowerShell .
Nous espérons que vous appréciez l’utilisation d’Azure PowerShell !
Vous avez un défi avec cette section ? Si c'est le cas, faites-nous part de vos commentaires pour que nous puissions l'améliorer.