Erstellen einer vollständig konfigurierten VM mit PowerShellCreate a fully configured virtual machine with PowerShell

Dieses Skript erstellt einen virtuellen Azure-Computer mit Windows Server 2016.This script creates an Azure Virtual Machine running Windows Server 2016. Nach dem Ausführen des Skripts können Sie per RDP auf den virtuellen Computer zugreifen.After running the script, you can access the virtual machine over RDP.

Für dieses Beispiel ist mindestens Azure PowerShell Az 1.0 erforderlich.This sample requires Azure PowerShell Az 1.0 or later. Führen Sie Get-Module -ListAvailable Az aus, um die installierten Versionen zu ermitteln.Run Get-Module -ListAvailable Az to see which versions are installed. Wenn Sie die Installation ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu.If you need to install, see Install Azure PowerShell module.

Führen Sie zum Anmelden bei Azure Connect-AzAccount aus.Run Connect-AzAccount to sign in to Azure.

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

BeispielskriptSample script

# Variables for common values
$resourceGroup = "myResourceGroup"
$location = "westeurope"
$vmName = "myVM"

# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."

# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location

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

# Create a virtual network
$vnet = New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $location `
  -Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig

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

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

# Create a network security group
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location $location `
  -Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP

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

# Create a virtual machine configuration
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize Standard_D1 | `
Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred | `
Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest | `
Add-AzVMNetworkInterface -Id $nic.Id

# Create a virtual machine
New-AzVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig

Bereinigen der BereitstellungClean up deployment

Führen Sie den folgenden Befehl aus, um die Ressourcengruppe, den virtuellen Computer und alle zugehörigen Ressourcen zu entfernen.Run the following command to remove the resource group, VM, and all related resources.

Remove-AzResourceGroup -Name myResourceGroup

Erläuterung des SkriptsScript explanation

Dieses Skript verwendet die folgenden Befehle zum Erstellen der Bereitstellung.This script uses the following commands to create the deployment. Jedes Element in der Tabelle ist mit der befehlsspezifischen Dokumentation verknüpft.Each item in the table links to command specific documentation.

Get-HelpCommand NotizenNotes
New-AzResourceGroupNew-AzResourceGroup Erstellt eine Ressourcengruppe, in der alle Ressourcen gespeichert sind.Creates a resource group in which all resources are stored.
New-AzVirtualNetworkSubnetConfigNew-AzVirtualNetworkSubnetConfig Erstellt eine Subnetzkonfiguration.Creates a subnet configuration. Diese Konfiguration wird mit dem Prozess der Erstellung des virtuellen Netzwerks verwendet.This configuration is used with the virtual network creation process.
New-AzVirtualNetworkNew-AzVirtualNetwork Erstellen Sie ein virtuelles Netzwerk.Creates a virtual network.
New-AzPublicIpAddressNew-AzPublicIpAddress Erstellt eine öffentliche IP-Adresse.Creates a public IP address.
New-AzNetworkSecurityRuleConfigNew-AzNetworkSecurityRuleConfig Erstellt eine Konfiguration der Netzwerksicherheitsgruppen-Regel.Creates a network security group rule configuration. Diese Konfiguration wird verwendet, um eine NSG-Regel zu erstellen, wenn die NSG erstellt wird.This configuration is used to create an NSG rule when the NSG is created.
New-AzNetworkSecurityGroupNew-AzNetworkSecurityGroup Erstellt eine Netzwerksicherheitsgruppe.Creates a network security group.
Get-AzVirtualNetworkSubnetConfigGet-AzVirtualNetworkSubnetConfig Ruft Subnetzinformationen ab.Gets subnet information. Diese Informationen werden beim Erstellen einer Netzwerkschnittstelle verwendet.This information is used when creating a network interface.
New-AzNetworkInterfaceNew-AzNetworkInterface Erstellt eine Netzwerkschnittstelle.Creates a network interface.
New-AzVMConfigNew-AzVMConfig Erstellt eine VM-Konfiguration.Creates a VM configuration. Diese Konfiguration umfasst Informationen wie VM-Name, Betriebssystem und Administratoranmeldeinformationen.This configuration includes information such as VM name, operating system, and administrative credentials. Die Konfiguration wird während der VM-Erstellung verwendet.The configuration is used during VM creation.
New-AzVMNew-AzVM Erstellen Sie eine VM.Create a virtual machine.
Remove-AzResourceGroupRemove-AzResourceGroup Entfernt eine Ressourcengruppe und alle darin enthaltenen Ressourcen.Removes a resource group and all resources contained within.

Nächste SchritteNext steps

Weitere Informationen zum Azure PowerShell-Modul finden Sie in der Azure PowerShell-Dokumentation.For more information on the Azure PowerShell module, see Azure PowerShell documentation.

Zusätzliche VM-PowerShell-Skriptbeispiele finden Sie in der Dokumentation zu Windows-VMs in Azure.Additional virtual machine PowerShell script samples can be found in the Azure Windows VM documentation.