Hızlı Başlangıç: Azure Stack Hub'da PowerShell kullanarak Windows Server VM oluşturma

Azure Stack Hub PowerShell kullanarak Windows Server 2016 sanal makinesi (VM) oluşturabilirsiniz. VM oluşturmak ve kullanmak için bu makaledeki adımları izleyin. Bu makalede aşağıdaki adımları da bulabilirsiniz:

  • Uzak istemciyle VM'ye bağlanın.
  • IIS web sunucusunu yükleyin ve varsayılan giriş sayfasını görüntüleyin.
  • Kaynaklarınızı temizleyin.

Not

Bu makalede açıklanan adımları Azure Stack Geliştirme Seti'nden veya vpn üzerinden bağlıysanız Windows tabanlı bir dış istemciden çalıştırabilirsiniz.

Windows Server VM önkoşulları

  • Azure Stack Hub operatörünüzün Windows Server 2016 görüntüsünü Azure Stack Hub Market'e eklediğinden emin olun.

  • Azure Stack Hub, kaynakları oluşturmak ve yönetmek için belirli bir Azure PowerShell sürümü gerektirir. Azure Stack Hub için PowerShell'i yapılandırmadıysanız PowerShell'i yükleme adımlarını izleyin.

  • Azure Stack Hub PowerShell ayarlandıysa Azure Stack Hub ortamınıza bağlanmanız gerekir. Yönergeler için bkz. Kullanıcı olarak PowerShell ile Azure Stack Hub'a bağlanma.

Kaynak grubu oluşturma

Kaynak grubu, Azure Stack Hub kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir kapsayıcıdır. Geliştirme setinizde veya Azure Stack Hub tümleşik sisteminden aşağıdaki kod bloğunu çalıştırarak bir kaynak grubu oluşturun.

Not

Kod örneklerindeki tüm değişkenler için değerler atanır. Ancak, isterseniz yeni değerler atayabilirsiniz.

# Create variables to store the location and resource group names.
$location = "local"
$ResourceGroupName = "myResourceGroup"

New-AzResourceGroup `
  -Name $ResourceGroupName `
  -Location $location

Depolama kaynaklarını oluşturma

Önyükleme tanılamasının çıkışını depolamak için bir depolama hesabı oluşturun.

# Create variables to store the storage account name and the storage account SKU information
$StorageAccountName = "mystorageaccount"
$SkuName = "Standard_LRS"

# Create a new storage account
$StorageAccount = New-AzStorageAccount `
  -Location $location `
  -ResourceGroupName $ResourceGroupName `
  -Type $SkuName `
  -Name $StorageAccountName

Set-AzCurrentStorageAccount `
  -StorageAccountName $storageAccountName `
  -ResourceGroupName $resourceGroupName

Ağ kaynakları oluşturma

Bir sanal ağ, alt ağ ve genel IP adresi oluşturun. Bu kaynaklar VM'ye ağ bağlantısı sağlamak için kullanılır.

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

# Create a virtual network
$vnet = New-AzVirtualNetwork `
  -ResourceGroupName $ResourceGroupName `
  -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 $ResourceGroupName `
  -Location $location `
  -AllocationMethod Static `
  -IdleTimeoutInMinutes 4 `
  -Name "mypublicdns$(Get-Random)"

Ağ güvenliği grubu ve ağ güvenliği grup kuralı oluşturma

Ağ güvenlik grubu, gelen ve giden kurallarını kullanarak VM'nin güvenliğini sağlar. Gelen Uzak Masaüstü bağlantılarına izin vermek için 3389 numaralı bağlantı noktası için bir gelen kuralı ve gelen web trafiğine izin vermek için 80 numaralı bağlantı noktası için bir gelen kuralı oluşturalım.

# 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 an inbound network security group rule for port 80
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig `
  -Name myNetworkSecurityGroupRuleWWW `
  -Protocol Tcp `
  -Direction Inbound `
  -Priority 1001 `
  -SourceAddressPrefix * `
  -SourcePortRange * `
  -DestinationAddressPrefix * `
  -DestinationPortRange 80 `
  -Access Allow

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

VM için ağ kartı oluşturma

Ağ kartı VM'yi bir alt ağa, ağ güvenlik grubuna ve genel IP adresine bağlar.

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

VM oluşturma

VM yapılandırması oluşturma. Bu yapılandırma, VM'yi dağıtırken kullanılan ayarları içerir. Örneğin: kimlik bilgileri, boyut ve VM görüntüsü.

# Define a credential object to store the username and password for the VM
$UserName='demouser'
$Password='Password@123'| ConvertTo-SecureString -Force -AsPlainText
$Credential=New-Object PSCredential($UserName,$Password)

# Create the VM configuration object
$VmName = "VirtualMachinelatest"
$VmSize = "Standard_A1"
$VirtualMachine = New-AzVMConfig `
  -VMName $VmName `
  -VMSize $VmSize

$VirtualMachine = Set-AzVMOperatingSystem `
  -VM $VirtualMachine `
  -Windows `
  -ComputerName "MainComputer" `
  -Credential $Credential -ProvisionVMAgent

$VirtualMachine = Set-AzVMSourceImage `
  -VM $VirtualMachine `
  -PublisherName "MicrosoftWindowsServer" `
  -Offer "WindowsServer" `
  -Skus "2016-Datacenter" `
  -Version "latest"

# Sets the operating system disk properties on a VM.
$VirtualMachine = Set-AzVMOSDisk `
  -VM $VirtualMachine `
  -CreateOption FromImage | `
  Set-AzVMBootDiagnostic -ResourceGroupName $ResourceGroupName `
  -StorageAccountName $StorageAccountName -Enable |`
  Add-AzVMNetworkInterface -Id $nic.Id


# Create the VM.
New-AzVM `
  -ResourceGroupName $ResourceGroupName `
  -Location $location `
  -VM $VirtualMachine

VM’ye bağlanma

Önceki adımda oluşturduğunuz VM'ye uzaktan bağlanmak için genel IP adresine ihtiyacınız vardır. VM'nin genel IP adresini almak için aşağıdaki komutu çalıştırın:

Get-AzPublicIpAddress `
  -ResourceGroupName $ResourceGroupName | Select IpAddress

VM ile uzak masaüstü oturumu oluşturmak için aşağıdaki komutu kullanın. IP adresini, sanal makinenizin publicIPAddress değeriyle değiştirin. İstendiğinde, VM'yi oluştururken kullanılan kullanıcı adını ve parolayı girin.

mstsc /v <publicIpAddress>

PowerShell kullanarak IIS yükleme

Artık Azure VM'de oturum açtığınıza göre, IIS'yi yüklemek ve web trafiğine izin vermek için yerel güvenlik duvarı kuralını etkinleştirmek için tek bir PowerShell satırı kullanabilirsiniz. Bir PowerShell istemi açın ve şu komutu çalıştırın:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

IIS karşılama sayfasını görüntüleme

IIS yüklü ve VM'nizde 80 numaralı bağlantı noktası açıkken, varsayılan IIS karşılama sayfasını görüntülemek için herhangi bir tarayıcıyı kullanabilirsiniz. Varsayılan sayfayı ziyaret etmek için önceki bölümde belgelediğiniz publicIpAddress değerini kullanın.

Varsayılan IIS sitesi

VM’yi silin

Artık gerekli olmadığında, VM'yi ve ilgili kaynaklarını içeren kaynak grubunu kaldırmak için aşağıdaki komutu kullanın:

Remove-AzResourceGroup `
  -Name $ResourceGroupName

Sonraki adımlar

Bu hızlı başlangıçta basit bir Windows VM dağıttınız. Azure Stack Hub VM'leri hakkında daha fazla bilgi edinmek için Azure Stack Hub VM özellikleri'ne geçin.