Windows’a yönelik sanal makine uzantıları ve özellikleri

Azure sanal makine (VM) uzantıları, dağıtım sonrası yapılandırma ve Azure VM'lerinde otomasyon görevleri sunan küçük uygulamalardır. Örneğin, bir sanal makine yazılım yüklemesi, virüsten koruma veya VM'nin içinde betik çalıştırma özelliği gerektiriyorsa, VM uzantısını kullanabilirsiniz.

Azure CLI, PowerShell, Azure Resource Manager (ARM) şablonlarını ve Azure portalını kullanarak Azure VM uzantılarını çalıştırabilirsiniz. Uzantıları yeni bir VM dağıtımıyla paketleyebilir veya mevcut herhangi bir sistemde çalıştırabilirsiniz.

Bu makalede, önkoşullar ve uzantıları algılama, yönetme ve kaldırma yönergeleri de dahil olmak üzere Azure VM uzantılarına genel bir bakış sağlanır. Birçok VM uzantısı kullanılabilir olduğundan bu makalede genelleştirilmiş bilgiler sağlanır. Her uzantının potansiyel olarak benzersiz bir yapılandırması ve kendi belgeleri vardır.

Kullanım örnekleri ve örnekler

Her Azure VM uzantısının belirli bir kullanım örneği vardır. İşte bazı örnekler:

İşleme özgü uzantılara ek olarak, hem Windows hem de Linux sanal makineleri için Özel Betik Uzantısı kullanılabilir. Windows için Özel Betik Uzantısı, herhangi bir PowerShell betiğinin bir VM üzerinde çalışmasına izin verir. Özel betikler, yerel Azure araçlarının sağlayabileceklerinin ötesinde yapılandırma gerektiren Azure dağıtımları tasarlamak için kullanışlıdır.

Ön koşullar

Azure VM uzantılarıyla çalışmak için aşağıdaki önkoşulları gözden geçirin.

Azure VM Aracısı

VM'de uzantıları işlemek için Windows için Azure Sanal Makine Aracısı'nın yüklü olması gerekir. Bu aracı, Azure VM Aracısı veya Windows Konuk Aracısı olarak da adlandırılır. Uzantıları yüklemeye hazırlanırken, bazı uzantıların kaynaklara veya bağımlılıklara erişim gibi tek tek önkoşulları olduğunu unutmayın.

Azure VM Aracısı, bir Azure VM ile Azure doku denetleyicisi arasındaki etkileşimleri yönetir. Aracı, VM uzantılarını çalıştırma da dahil olmak üzere Azure VM'lerini dağıtmanın ve yönetmenin birçok işlevsel özelliğinden sorumludur.

Azure VM Aracısı, Azure Market görüntülere önceden yüklenmiştir. Aracı, desteklenen işletim sistemlerine el ile de yüklenebilir.

Aracı birden çok işletim sisteminde çalışır. Ancak uzantılar çerçevesi, uzantıların kullandığı işletim sistemleri için bir sınıra sahiptir. Bazı uzantılar tüm işletim sistemlerinde desteklenmez ve hata kodu 51 ("Desteklenmeyen işletim sistemi") gösterebilir. Desteklenebilirlik için tek tek uzantı belgelerine bakın.

Ağ erişimi

Uzantı paketleri Azure Depolama uzantı deposundan indirilir. Uzantı durumu karşıya yüklemeleri Azure Depolama'a gönderiliyor.

Azure VM Aracısı'nın desteklenen bir sürümünü kullanıyorsanız, VM bölgesindeki Azure Depolama erişime izin vermeniz gerekmez. VM Aracısı'nı kullanarak iletişimi aracı iletişimleri için Azure doku denetleyicisine yönlendirebilirsiniz (özellik aracılığıyla özel IP adresi 168.63.129.16 üzerindeki ayrıcalıklı kanal aracılığıylaHostGAPlugin). VM Aracısı'nın desteklenmeyen bir sürümündeyseniz, vm'den ilgili bölgedeki Azure Depolama giden erişime izin vermeniz gerekir.

Önemli

Konuk güvenlik duvarını kullanarak veya ara sunucu aracılığıyla 168.63.129.16 IP adresine erişimi engellerseniz uzantılar başarısız olur. VM Aracısı'nın desteklenen bir sürümünü kullansanız veya giden erişimi yapılandırsanız bile hata oluşur. 80 ve 32526 bağlantı noktaları gereklidir.

Aracılar yalnızca uzantı paketlerini ve rapor durumunu indirmek için kullanılabilir. Örneğin, uzantı yüklemesinde GitHub'dan (Özel Betik Uzantısı) bir betik indirilmesi veya Azure Depolama (Azure Backup) erişimi gerekiyorsa, diğer güvenlik duvarı veya ağ güvenlik grubu (NSG) bağlantı noktalarını açmanız gerekir. Farklı uzantıların farklı gereksinimleri vardır çünkü bunlar kendi haklarında uygulamalardır. Azure Depolama veya Microsoft Entra Id'ye erişim gerektiren uzantılar için Azure NSG hizmet etiketlerini kullanarak erişime izin vekleyebilirsiniz.

Azure VM Aracısı, aracı trafiği isteklerinin yeniden yönlendirilmesini sağlamak için ara sunucu desteği sağlamaz. VM Aracısı, 168.63.129.16 IP adresi üzerinden İnternet'te veya konakta bulunan kaynaklara erişmek için özel proxy'nize (varsa) dayanır.

VM uzantılarını bulma

Birçok VM uzantısı Azure VM'leri ile kullanılabilir. Tam listeyi görmek için PowerShell cmdlet'ini Get-AzVMExtensionImage kullanın.

Aşağıdaki komut, Batı ABD bölgesi konumundaki tüm kullanılabilir VM uzantılarını listeler:

Get-AzVmImagePublisher -Location "West US" |
Get-AzVMExtensionImageType |
Get-AzVMExtensionImage | Select Type, Version

Bu komut aşağıdaki örneğe benzer bir çıkış sağlar:

Type                Version
----                -------
AcronisBackup       1.0.33
AcronisBackup       1.0.51
AcronisBackupLinux  1.0.33
AlertLogicLM        1.3.0.1
AlertLogicLM        1.3.0.0
AlertLogicLM        1.4.0.1

VM uzantılarını çalıştırma

Azure VM uzantıları mevcut VM'lerde çalışır. Bu, yapılandırma değişiklikleri yapmanız veya zaten dağıtılmış bir VM'de bağlantıyı kurtarmanız gerektiğinde kullanışlıdır. VM uzantıları ARM şablonu dağıtımlarıyla birlikte de paketlenebilir. ARM şablonlarıyla uzantıları kullanarak Azure VM'lerini dağıtım sonrası müdahale olmadan dağıtabilir ve yapılandırabilirsiniz.

Mevcut bir VM'de uzantı çalıştırmak için aşağıdaki yöntemleri kullanabilirsiniz.

Dekont

Aşağıdaki örneklerden bazıları komutlarda parametre değerlerini kullanır "<placeholder>" . Her komutu çalıştırmadan önce, tüm "<placeholder>" değerleri yapılandırmanız için belirli değerlerle değiştirdiğinizden emin olun.

PowerShell

Tek tek uzantıları çalıştırmak için çeşitli PowerShell komutları vardır. Listeyi görmek için Get-Command komutunu kullanın ve Uzantıya filtreleyin:

Get-Command Set-Az*Extension* -Module Az.Compute

Bu komut aşağıdaki örneğe benzer bir çıkış sağlar:

CommandType     Name                                          Version    Source
-----------     ----                                          -------    ------
Cmdlet          Set-AzVMAccessExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMADDomainExtension                     4.5.0      Az.Compute
Cmdlet          Set-AzVMAEMExtension                          4.5.0      Az.Compute
Cmdlet          Set-AzVMBackupExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMBginfoExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMChefExtension                         4.5.0      Az.Compute
Cmdlet          Set-AzVMCustomScriptExtension                 4.5.0      Az.Compute
Cmdlet          Set-AzVMDiagnosticsExtension                  4.5.0      Az.Compute
Cmdlet          Set-AzVMDiskEncryptionExtension               4.5.0      Az.Compute
Cmdlet          Set-AzVMDscExtension                          4.5.0      Az.Compute
Cmdlet          Set-AzVMExtension                             4.5.0      Az.Compute
Cmdlet          Set-AzVMSqlServerExtension                    4.5.0      Az.Compute
Cmdlet          Set-AzVmssDiskEncryptionExtension             4.5.0      Az.Compute

Aşağıdaki örnekte, GitHub deposundan hedef sanal makineye bir betik indirmek ve ardından betiği çalıştırmak için Özel Betik Uzantısı kullanılmaktadır.

Set-AzVMCustomScriptExtension -ResourceGroupName "<myResourceGroup>" `
    -VMName "<myVM>" -Name "<myCustomScript>" `
    -FileUri "https://raw.githubusercontent.com/neilpeterson/nepeters-azure-templates/master/windows-custom-script-simple/support-scripts/Create-File.ps1" `
    -Run "Create-File.ps1" -Location "<myVMregion>"

Aşağıdaki örnekte, Bir Windows VM'sinin yönetim parolasını geçici bir parolaya sıfırlamak için VMAccess uzantısı kullanılır. Bu kodu çalıştırdıktan sonra, ilk oturum açma sırasında parolayı sıfırlamanız gerekir.

$cred=Get-Credential

Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myVMAccess" `
    -Location "myVMregion" -UserName $cred.GetNetworkCredential().Username `
    -Password $cred.GetNetworkCredential().Password -typeHandlerVersion "2.0"

Herhangi bir VM uzantısını başlatmak için Set-AzVMExtension komutunu kullanabilirsiniz.

Azure portalı

Azure portalı aracılığıyla mevcut bir VM'ye VM uzantıları uygulayabilirsiniz. Portalda VM'yi seçin, Uzantılar + Uygulamalar'ı ve ardından + Ekle'yi seçin. Kullanılabilir uzantılar listesinden istediğiniz uzantıyı seçin ve sihirbazdaki yönergeleri izleyin.

Aşağıdaki örnekte Azure portalından Microsoft Kötü Amaçlı Yazılımdan Koruma uzantısının yüklenmesi gösterilmektedir:

Screenshot of the dialog for installing the Microsoft Antimalware extension.

Azure Resource Manager şablonları

BIR ARM şablonuna VM uzantıları ekleyebilir ve bunları şablonun dağıtımıyla çalıştırabilirsiniz. Bir uzantıyı şablonla dağıttığınızda, tam olarak yapılandırılmış Azure dağıtımları oluşturabilirsiniz.

Aşağıdaki JSON örneği, bir dizi yük dengeli VM ve Azure SQL veritabanı dağıtan ve ardından her vm'ye bir .NET Core uygulaması yükleyen bir ARM şablonundan alınıyor. Yazılım yüklemesini VM uzantısı üstlenir.

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },
    "protectedSettings": {
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

ARM şablonları oluşturma hakkında daha fazla bilgi için bkz . ARM şablonundaki sanal makineler.

VM uzantısı verilerinin güvenliğini sağlamaya yardımcı olun

Bir VM uzantısını çalıştırdığınızda kimlik bilgileri, depolama hesabı adları ve erişim anahtarları gibi hassas bilgileri eklemeniz gerekebilir. Birçok VM uzantısı, verileri şifreleyen ve yalnızca hedef VM'nin içinde şifresini çözen korumalı bir yapılandırma içerir. Her uzantının belirli bir korumalı yapılandırma şeması vardır ve her şema uzantıya özgü belgelerde ayrıntılı olarak açıklanmıştır.

Aşağıdaki JSON örneği, Windows için Özel Betik Uzantısı örneğini gösterir. Çalıştırılacak komut bir kimlik bilgileri kümesi içerir. Bu örnekte, çalıştırılacak komut şifrelenmez.

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ],
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

Özelliğini yapılandırmaya commandToExecuteprotected taşımak, aşağıdaki örnekte gösterildiği gibi yürütme dizesinin güvenliğini sağlar:

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },
    "protectedSettings": {
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

Uzantıları kullanan bir Hizmet olarak Azure altyapısı (IaaS) VM'sinde, sertifikalar konsolunda konu Windows Azure CRP Sertifika Oluşturucu'ya sahip sertifikaları görebilirsiniz. Klasik RedDog Ön Uç (RDFE) VM'sinde, bu sertifikalar Uzantılar için Windows Azure Hizmet Yönetimi konu adına sahiptir.

Bu sertifikalar, uzantıların kullandığı korumalı ayarların (parola ve diğer kimlik bilgileri) aktarımı sırasında VM ile konağı arasındaki iletişimin güvenliğini sağlar. Azure doku denetleyicisi sertifikaları oluşturur ve Azure VM Aracısı'na geçirir. VM'yi her gün durdurup başlatırsanız, doku denetleyicisi yeni bir sertifika oluşturabilir. Sertifika, bilgisayarın kişisel sertifika deposunda depolanır. Bu sertifikalar silinebilir. Azure VM Aracısı gerekirse sertifikaları yeniden oluşturur.

Aracılar ve uzantılar nasıl güncelleştirilir?

Aracılar ve uzantılar aynı otomatik güncelleştirme mekanizmasını paylaşır.

Bir güncelleştirme kullanılabilir olduğunda ve otomatik güncelleştirmeler etkinleştirildiğinde, güncelleştirme yalnızca bir uzantı veya başka bir VM modeli değiştikten sonra VM'ye yüklenir. Değişiklikler şunları içerebilir:

  • Veri diskleri
  • Uzantıları
  • Uzantı Etiketleri
  • Önyükleme tanılama kapsayıcısı
  • Konuk işletim sistemi gizli dizileri
  • VM boyutu
  • Ağ profili

Yayımcılar güncelleştirmeleri çeşitli zamanlarda bölgeler için kullanılabilir hale getirir. Farklı sürümlerde farklı bölgelerdeki VM'leriniz olabilir.

Dekont

Bazı güncelleştirmeler ek güvenlik duvarı kuralları gerektirebilir. Daha fazla bilgi için bkz . Ağ erişimi.

VM'ye dağıtılan uzantıları listeleme

Bir VM'ye dağıtılan uzantıları listelemek için aşağıdaki komutu kullanabilirsiniz:

$vm = Get-AzVM -ResourceGroupName "<myResourceGroup>" -VMName "<myVM>"
$vm.Extensions | select Publisher, VirtualMachineExtensionType, TypeHandlerVersion

Bu komut aşağıdaki örneğe benzer bir çıktı oluşturur:

Publisher             VirtualMachineExtensionType          TypeHandlerVersion
---------             ---------------------------          ------------------
Microsoft.Compute     CustomScriptExtension                1.9

Aracı güncelleştirmeleri

Azure VM Aracısı yalnızca uzantı işleme kodunu içerir. Windows sağlama kodu ayrıdır. Azure VM Aracısı'nı kaldırabilirsiniz. Azure VM Aracısı'nın otomatik güncelleştirmesini devre dışı bırakamazsınız.

Uzantı işleme kodu aşağıdaki görevlerden sorumludur:

  • Azure dokusuyla iletişim kurun.
  • Yüklemeler, raporlama durumu, tek tek uzantıları güncelleştirme ve uzantıları kaldırma gibi VM uzantısı işlemlerini işleyin. Güncelleştirmeler, uzantı işleme kodunda güvenlik düzeltmeleri, hata düzeltmeleri ve iyileştirmeler içerir.

Hangi sürümü çalıştırdığınızı denetlemek için bkz . Azure VM Aracısı'nı algılama.

Uzantı güncelleştirmeleri

Bir uzantı güncelleştirmesi kullanılabilir olduğunda ve otomatik güncelleştirmeler etkinleştirildiğinde, bir VM modeli değişirse Azure VM Aracısı uzantıyı indirir ve yükselter.

Otomatik uzantı güncelleştirmeleri küçük veya düzeltmedir. Uzantıyı sağlarken küçük güncelleştirmeleri kabul edebilir veya geri çevirebilirsiniz. Aşağıdaki örnekte, bir ARM şablonundaki ikincil sürümleri parametresini kullanarak otomatik olarak yükseltme gösterilmektedir "autoUpgradeMinorVersion": true, :

    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },

En son ikincil sürüm hata düzeltmelerini almak için uzantı dağıtımlarınızda her zaman otomatik güncelleştirmeyi seçmenizi kesinlikle öneririz. Güvenlik veya önemli hata düzeltmeleri taşıyan düzeltme güncelleştirmelerini geri çeviremezsiniz.

Otomatik güncelleştirmeleri devre dışı bırakırsanız veya ana sürümü yükseltmeniz gerekiyorsa Set-AzVMExtension komutunu kullanın ve hedef sürümü belirtin.

Uzantı güncelleştirmelerini tanımlama

Uzantı güncelleştirmelerini tanımlamanın birkaç yolu vardır.

Uzantının vm üzerinde autoUpgradeMinorVersion ile ayarlandığını belirleme

Uzantının parametresiyle autoUpgradeMinorVersion sağlanmış olup olmadığını belirlemek için VM modelini görüntüleyebilirsiniz. VM modelini denetlemek için Get-AzVm komutunu kullanın ve kaynak grubunu ve VM adını aşağıdaki gibi sağlayın:

 $vm = Get-AzVm -ResourceGroupName "myResourceGroup" -VMName "myVM"
 $vm.Extensions

Aşağıdaki örnek çıktı, parametresinin autoUpgradeMinorVersion olarak trueayarlandığını gösterir:

ForceUpdateTag              :
Publisher                   : Microsoft.Compute
VirtualMachineExtensionType : CustomScriptExtension
TypeHandlerVersion          : 1.9
AutoUpgradeMinorVersion     : True

autoUpgradeMinorVersion olayının ne zaman gerçekleştiğini belirleme

Uzantıya yönelik bir güncelleştirmenin ne zaman gerçekleştiğini görmek için C:\WindowsAzure\Logs\WaAppAgent.log konumundaki VM'deki aracı günlüklerini gözden geçirebilirsiniz.

Aşağıdaki örnekte sürümü yüklü OLAN VM Microsoft.Compute.CustomScriptExtension ve sürümü 1.8 için kullanılabilir bir düzeltme gösterilmektedir 1.9.

[INFO]  Getting plugin locations for plugin 'Microsoft.Compute.CustomScriptExtension'. Current Version: '1.8', Requested Version: '1.9'
[INFO]  Auto-Upgrade mode. Highest public version for plugin 'Microsoft.Compute.CustomScriptExtension' with requested version: '1.9', is: '1.9'

Aracı izinleri

Görevlerini gerçekleştirmek için Azure VM Aracısı'nın Yerel Sistem olarak çalışması gerekir.

VM uzantılarıyla ilgili sorunları giderme

Her VM uzantısının belirli sorun giderme adımları olabilir. Örneğin, Özel Betik Uzantısı'nı kullandığınızda, betik yürütme ayrıntılarını uzantının çalıştırıldığı VM'de yerel olarak bulabilirsiniz.

Aşağıdaki sorun giderme eylemleri tüm VM uzantıları için geçerlidir:

  • Azure VM Aracısı Günlüğünü denetlemek için uzantınızın C:\WindowsAzure\Logs\WaAppAgent.log içinde sağlandığı etkinliğe bakın.

  • C:\WindowsAzure\Logs\Plugins extensionName içinde daha fazla ayrıntı için uzantı günlüklerine<bakın>.

  • Hata kodları, bilinen sorunlar ve uzantıya özgü diğer bilgiler için uzantıya özgü belgelerde sorun giderme bölümlerine bakın.

  • Sistem günlüklerine bakın. Paket yöneticisine özel erişim gerektiren başka bir uygulamanın uzun süre çalışan yüklemesi gibi uzantıyla engellenmiş olabilecek diğer işlemleri denetleyin.

  • Vm'de, sağlama durumu başarısız olan bir uzantı varsa, diğer yeni uzantılar yüklenemez.

Uzantı hatalarının yaygın nedenleri

Uzantının başarısız olmasının bazı yaygın nedenleri şunlardır:

  • Uzantıların çalıştırılması 20 dakika sürer. (90 dakikası olan Özel Betik, Chef ve DSC özel durumlardır.) Dağıtımınız bu süreyi aşarsa zaman aşımı olarak işaretlenir. Bu sorunun nedeni düşük kaynak VM'leri olabilir veya uzantı sağlamaya çalışırken diğer VM yapılandırmaları veya başlangıç görevleri büyük miktarda kaynak tüketiyor olabilir.

  • En düşük önkoşullar karşılanmaz. Bazı uzantıların HPC görüntüleri gibi VM SKU'larına bağımlılıkları vardır. Uzantılar, Azure Depolama veya genel hizmetlerle iletişim kurma gibi belirli ağ erişim gereksinimlerine sahip olabilir. Diğer örnekler paket depolarına erişim, disk alanı yetersiz veya güvenlik kısıtlamaları olabilir.

  • Paket yöneticisi erişimi özeldir. Bazı durumlarda, her ikisinin de paket yöneticisine özel erişime ihtiyacı olduğundan uzun süre çalışan bir VM yapılandırması ve uzantı yüklemesi çakışabilir.

Uzantı durumunu görüntüleme

Bir VM uzantısı bir VM'de çalıştırıldıktan sonra, uzantı durumunu döndürmek için Get-AzVM komutunu kullanın. Sonuç Substatuses[0] , uzantı sağlamanın başarılı olduğunu gösterir ve bu da vm'ye başarıyla dağıtıldığı anlamına gelir. Sonucu görürseniz Substatuses[1] , uzantının VM içinde yürütülmesi başarısız olur.

Get-AzVM -ResourceGroupName "myResourceGroup" -VMName "myVM" -Status

Çıktı aşağıdaki örneğe benzer:

Extensions[0]           :
  Name                  : CustomScriptExtension
  Type                  : Microsoft.Compute.CustomScriptExtension
  TypeHandlerVersion    : 1.9
  Substatuses[0]        :
    Code                : ComponentStatus/StdOut/succeeded
    Level               : Info
    DisplayStatus       : Provisioning succeeded
    Message             : Windows PowerShell \nCopyright (C) Microsoft Corporation. All rights reserved.\n
  Substatuses[1]        :
    Code                : ComponentStatus/StdErr/succeeded
    Level               : Info
    DisplayStatus       : Provisioning succeeded
    Message             : The argument 'cseTest%20Scriptparam1.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the

-File parameter.
  Statuses[0]           :
    Code                : ProvisioningState/failed/-196608
    Level               : Error
    DisplayStatus       : Provisioning failed
    Message             : Finished executing command

Uzantı yürütme durumunu Azure portalında da bulabilirsiniz. VM'yi seçin, Uzantılar'ı ve ardından istediğiniz uzantıyı seçin.

VM uzantısını yeniden çalıştırma

Bazı durumlarda, bir VM uzantısını yeniden çalıştırmanız gerekebilir. Uzantıyı kaldırıp istediğiniz bir yürütme yöntemiyle yeniden çalıştırarak uzantıyı yeniden çalıştırabilirsiniz. Uzantıyı kaldırmak için Remove-AzVMExtension komutunu aşağıdaki gibi kullanın:

Remove-AzVMExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myExtensionName"

Uzantıyı Azure portalından da kaldırabilirsiniz. Bir VM seçin, Uzantılar'ı ve ardından istediğiniz uzantıyı seçin. Kaldır'ı seçin.

Ortak VM uzantısı başvurusu

Aşağıdaki tabloda VM uzantıları için bazı yaygın başvurular sağlanmaktadır.

Uzantı adı Tanım
Windows için Özel Betik Uzantısı Bir Azure sanal makinesinde betik çalıştırma.
Windows için DSC uzantısı PowerShell istenen durum yapılandırmalarını bir sanal makineye uygulayın.
Azure Tanılama uzantısı Azure Tanılama yönetme.
VMAccess uzantısı Kullanıcıları ve kimlik bilgilerini yönetme.

Sonraki adımlar

VM uzantıları hakkında daha fazla bilgi için bkz . Azure sanal makine uzantıları ve özellikleri.