Creare una macchina virtuale Windows con PowerShellCreate a Windows virtual machine with PowerShell

Il modulo Azure PowerShell viene usato per creare e gestire le risorse di Azure dalla riga di comando di PowerShell o negli script.The Azure PowerShell module is used to create and manage Azure resources from the PowerShell command line or in scripts. Questa guida introduttiva descrive dettagliatamente l'uso di PowerShell per creare una macchina virtuale di Azure che esegue Windows Server 2016.This quickstart details using PowerShell to create and Azure virtual machine running Windows Server 2016. Al termine della distribuzione, viene eseguita la connessione al server e viene installato IIS.Once deployment is complete, we connect to the server and install IIS.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Avviare Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell è una shell gratuita che può essere eseguita direttamente nel portale di Azure.The Azure Cloud Shell is a free shell that you can run directly within the Azure portal. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.It has common Azure tools preinstalled and configured to use with your account. Fare clic sul pulsante Cloud Shell nel menu nel riquadro in alto a destra nel portale di Azure.Click the Cloud Shell button on the menu in the upper-right of the Azure portal.

Cloud ShellCloud Shell

Il pulsante avvia una shell interattiva che è possibile usare per eseguire tutti i passaggi in questo argomento:The button launches an interactive shell that you can use to run all of the steps in this topic:

Screenshot che mostra la finestra di Cloud Shell nel portaleScreenshot showing the Cloud Shell window in the portal

Se si sceglie di installare e usare PowerShell in locale, per questa esercitazione è necessario il modulo Azure PowerShell versione 3.6 o successiva.If you choose to install and use the PowerShell locally, this tutorial requires the Azure PowerShell module version 3.6 or later. Eseguire Get-Module -ListAvailable AzureRM per trovare la versione.Run Get-Module -ListAvailable AzureRM to find the version. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell.If you need to upgrade, see Install Azure PowerShell module. Se si esegue PowerShell in locale, è anche necessario eseguire Login-AzureRmAccount per creare una connessione con Azure.If you are running PowerShell locally, you also need to run Login-AzureRmAccount to create a connection with Azure.

Creare un gruppo di risorseCreate resource group

Creare un gruppo di risorse di Azure con New-AzureRmResourceGroup.Create an Azure resource group with New-AzureRmResourceGroup. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.A resource group is a logical container into which Azure resources are deployed and managed.

New-AzureRmResourceGroup -Name myResourceGroup -Location EastUS

Creare risorse di reteCreate networking resources

Creare una rete virtuale, una subnet e un indirizzo IP pubblico.Create a virtual network, subnet, and a public IP address.

Queste risorse vengono usate per fornire la connettività di rete alla macchina virtuale e connetterla a Internet.These resources are used to provide network connectivity to the virtual machine and connect it to the internet.

# Create a subnet configuration
$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24

# Create a virtual network
$vnet = New-AzureRmVirtualNetwork -ResourceGroupName myResourceGroup -Location EastUS `
    -Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig

# Create a public IP address and specify a DNS name
$pip = New-AzureRmPublicIpAddress -ResourceGroupName myResourceGroup -Location EastUS `
    -AllocationMethod Static -IdleTimeoutInMinutes 4 -Name "mypublicdns$(Get-Random)"

Creare un gruppo di sicurezza di rete e una regola del gruppo di sicurezza di rete.Create a network security group and a network security group rule.

Il gruppo di sicurezza di rete protegge la macchina virtuale usando le regole in entrata e in uscita.The network security group secures the virtual machine using inbound and outbound rules. In questo caso viene creata una regola in entrata per la porta 3389 che consente connessioni desktop remoto in ingresso.In this case, an inbound rule is created for port 3389, which allows incoming remote desktop connections. È necessario anche creare una regola in ingresso per la porta 80, che consente il traffico Web in ingresso.We also want to create an inbound rule for port 80, which allows incoming web traffic.

# Create an inbound network security group rule for port 3389
$nsgRuleRDP = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP  -Protocol Tcp `
    -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
    -DestinationPortRange 3389 -Access Allow

# Create an inbound network security group rule for port 80
$nsgRuleWeb = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleWWW  -Protocol Tcp `
    -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
    -DestinationPortRange 80 -Access Allow

# Create a network security group
$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName myResourceGroup -Location EastUS `
    -Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP,$nsgRuleWeb

Creare una scheda di rete per la macchina virtuale.Create a network card for the virtual machine.

Creare una scheda di rete con New-AzureRmNetworkInterface per la macchina virtuale.Create a network card with New-AzureRmNetworkInterface for the virtual machine. La scheda di rete connette la macchina virtuale a una subnet, a un gruppo di sicurezza di rete e a un indirizzo IP pubblico.The network card connects the virtual machine to a subnet, network security group, and public IP address.

# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzureRmNetworkInterface -Name myNic -ResourceGroupName myResourceGroup -Location EastUS `
    -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id

Crea macchina virtualeCreate virtual machine

Creare una configurazione di macchina virtuale.Create a virtual machine configuration. Questa configurazione include le impostazioni utilizzate quando si distribuisce la macchina virtuale, ad esempio l'immagine della macchina virtuale, la dimensione e la configurazione di autenticazione.This configuration includes the settings that are used when deploying the virtual machine such as a virtual machine image, size, and authentication configuration. Quando si esegue questo passaggio vengono chieste le credenziali.When running this step, you are prompted for credentials. I valori immessi sono configurati come nome utente e password per la macchina virtuale.The values that you enter are configured as the user name and password for the virtual machine.

# Define a credential object
$cred = Get-Credential

# Create a virtual machine configuration
$vmConfig = New-AzureRmVMConfig -VMName myVM -VMSize Standard_DS2 | `
    Set-AzureRmVMOperatingSystem -Windows -ComputerName myVM -Credential $cred | `
    Set-AzureRmVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
    -Skus 2016-Datacenter -Version latest | Add-AzureRmVMNetworkInterface -Id $nic.Id

Creare la macchina virtuale con New-AzureRmVM.Create the virtual machine with New-AzureRmVM.

New-AzureRmVM -ResourceGroupName myResourceGroup -Location EastUS -VM $vmConfig

Connettersi alla macchina virtualeConnect to virtual machine

Dopo aver completato la distribuzione, creare una connessione desktop remoto con la macchina virtuale.After the deployment has completed, create a remote desktop connection with the virtual machine.

Usare il comando Get-AzureRmPublicIpAddress per ottenere l'indirizzo IP pubblico della macchina virtuale.Use the Get-AzureRmPublicIpAddress command to return the public IP address of the virtual machine. Annotare questo indirizzo IP, in modo da potersi connettere ad esso con il browser per testare la connettività Web in un passaggio futuro.Take note of this IP Address so you can connect to it with your browser to test web connectivity in a future step.

Get-AzureRmPublicIpAddress -ResourceGroupName myResourceGroup | Select IpAddress

Usare il comando seguente nel computer locale per creare una sessione desktop remoto con la macchina virtuale.Use the following command, on your local machine, to create a remote desktop session with the virtual machine. Sostituire l'indirizzo IP con l'indirizzo publicIPAddress della macchina virtuale.Replace the IP address with the publicIPAddress of your virtual machine. Quando richiesto, immettere le credenziali utilizzate durante la creazione della macchina virtuale.When prompted, enter the credentials used when creating the virtual machine.

mstsc /v:<publicIpAddress>

Installare IIS tramite PowerShellInstall IIS via PowerShell

Dopo avere eseguito l'accesso alla macchina virtuale di Azure, è possibile usare una singola riga di codice di PowerShell per installare IIS e abilitare la regola del firewall locale per consentire il traffico Web.Now that you have logged in to the Azure VM, you can use a single line of PowerShell to install IIS and enable the local firewall rule to allow web traffic. Aprire un prompt di PowerShell ed eseguire questo comando:Open a PowerShell prompt and run the following command:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

Visualizzare la pagina iniziale di IISView the IIS welcome page

Dopo l'installazione di IIS e l'apertura della porta 80 nella macchina virtuale da Internet, è possibile usare il Web browser preferito per visualizzare la pagina iniziale predefinita di IIS.With IIS installed and port 80 now open on your VM from the Internet, you can use a web browser of your choice to view the default IIS welcome page. Assicurarsi di usare l'indirizzo publicIpAddress descritto in precedenza per passare alla pagina predefinita.Be sure to use the publicIpAddress you documented above to visit the default page.

Sito IIS predefinito

Pulire le risorseClean up resources

Quando non servono più, è possibile usare il comando Remove-AzureRmResourceGroup per rimuovere il gruppo di risorse, la macchina virtuale e tutte le risorse correlate.When no longer needed, you can use the Remove-AzureRmResourceGroup command to remove the resource group, VM, and all related resources.

Remove-AzureRmResourceGroup -Name myResourceGroup

Passaggi successiviNext steps

In questa guida introduttiva è stata distribuita una macchina virtuale semplice, è stata creata una regola del gruppo di sicurezza di rete ed è stato installato un server Web.In this quick start, you’ve deployed a simple virtual machine, a network security group rule, and installed a web server. Per altre informazioni sulle macchine virtuali di Azure, passare all'esercitazione per le VM di Windows.To learn more about Azure virtual machines, continue to the tutorial for Windows VMs.