Skapa en fullständigt konfigurerad virtuell dator med PowerShell
Det här skriptet skapar en virtuell Azure-dator som kör Windows Server 2016. När du kört skriptet har du åtkomst till den virtuella datorn över RDP.
Det här exemplet kräver Azure PowerShell Az 1.0 eller senare. Kör Get-Module -ListAvailable Az
för att se vilka versioner som är installerade.
Om du behöver installera kan du läsa Installera Azure PowerShell modul.
Kör Connect-AzAccount för att logga in på Azure.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Exempelskript
# 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
Rensa distribution
Kör följande kommando för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser.
Remove-AzResourceGroup -Name myResourceGroup
Förklaring av skript
Det här skriptet använder följande kommandon för att skapa distributionen. Varje post i tabellen länkar till kommandospecifik dokumentation.
Kommando | Kommentarer |
---|---|
New-AzResourceGroup | Skapar en resursgrupp där alla resurser lagras. |
New-AzVirtualNetworkSubnetConfig | Skapar en undernätskonfiguration. Den här konfigurationen används med skapandeprocessen för virtuella nätverk. |
New-AzVirtualNetwork | Skapar ett virtuellt nätverk. |
New-AzPublicIpAddress | Skapar en offentlig IP-adress. |
New-AzNetworkSecurityRuleConfig | Skapar en regelkonfiguration för nätverkssäkerhetsgrupper. Konfigurationen används för att skapa en NSG-regel när NSG:n skapas. |
New-AzNetworkSecurityGroup | skapa en nätverkssäkerhetsgrupp |
Get-AzVirtualNetworkSubnetConfig | Hämtar information om undernät. Den här informationen används när du skapar ett nätverksgränssnitt. |
New-AzNetworkInterface | Skapar ett nätverksgränssnitt. |
New-AzVMConfig | Skapar en virtuell datorkonfiguration. Den här konfigurationen omfattar information som virtuellt datornamn, operativsystem och administrativa autentiseringsuppgifter. Konfigurationen används vid skapande av virtuell dator. |
New-AzVM | Skapa en virtuell dator. |
Remove-AzResourceGroup | Tar bort en resursgrupp och alla resurser som ingår i gruppen. |
Nästa steg
Mer information om Azure PowerShell-modulen finns i Azure PowerShell-dokumentationen.
Ytterligare PowerShell-skriptexempel för virtuella datorer finns i dokumentationen för virtuella Azure Windows-datorer.