Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Komut Çalıştır özelliği, Azure Windows VM'sinde PowerShell betiklerini çalıştırmak için sanal makine (VM) aracısını kullanır. Genel makine veya uygulama yönetimi için bu betikleri kullanabilirsiniz. Vm erişimi ve ağ sorunlarını hızla tanılamanıza ve düzeltmenize ve VM'yi yeniden iyi bir duruma döndürmenize yardımcı olabilir.
Sosyal haklar
Sanal makinelerinize birden çok yolla erişebilirsiniz. Komutunu Çalıştır, SANAL makine aracısını kullanarak sanal makinelerinizde betikleri uzaktan çalıştırabilir. Komutunu Azure portalı, REST API veya Windows VM'leri için PowerShell aracılığıyla kullanırsınız.
Bu özellik, bir sanal makine içinde betik çalıştırmak istediğiniz tüm senaryolarda kullanışlıdır. Hatalı ağ veya yönetici kullanıcı yapılandırması nedeniyle RDP veya SSH bağlantı noktası açık olmayan bir sanal makinede sorun gidermenin ve düzeltmenin tek yollarından biridir.
Önkoşullar
Desteklenen Windows İşletim Sistemleri
| İşletim Sistemi Sürümü | x64 | ARM64 |
|---|---|---|
| Windows 10 | Desteklenir | Desteklenir |
| Windows 11 | Desteklenir | Desteklenir |
| Windows Server 2016 | Desteklenir | Desteklenir |
| Windows Server 2016 Core | Desteklenir | Desteklenir |
| Windows Server 2019 | Desteklenir | Desteklenir |
| Windows Server 2019 Core | Desteklenir | Desteklenir |
| Windows Sunucusu 2022 | Desteklenir | Desteklenir |
| Windows Server 2022 Core | Desteklenir | Desteklenir |
| Windows Server 2022 Azure Edition | Desteklenir | Desteklenir |
| Windows Server 2025 | Desteklenir | Desteklenir |
| Windows Server 2025 Core | Desteklenir | Desteklenir |
| Windows Server 2025 Azure Edition | Desteklenir | Desteklenir |
Kısıtlamalar
Run Komutunu kullanırken aşağıdaki kısıtlamalar geçerlidir:
- Çıkış son 4.096 baytla sınırlıdır.
- Bu betiği çalıştırmak için minimum süre 20 saniye kadardır.
- Betikler Windows'da Sistem olarak çalıştırılır.
- Bir kerede tek bir betik çalıştırılabilir.
- Bilgi isteyen betikler (etkileşimli mod) desteklenmez.
- Çalışan bir betiği iptal edemezsiniz.
- Betiğin çalıştırılabileceği maksimum süre 90 dakikadır. Bu süreden sonra zaman aşımına uğrar.
- Betiğin sonuçlarını döndürmek için sanal makineden giden bağlantı gerekir.
- VM Aracısı'nın durdurulmasına veya güncelleştirilmasına neden olacak bir betiğin çalıştırılması önerilmez. Bu, uzantının Geçiş durumunda olmasını ve zaman aşımına yol açmasını sağlayabilir.
Not
Düzgün çalışmak için Çalıştır Komutu, Azure genel IP adreslerine bağlantı (bağlantı noktası 443) gerektirir. Uzantının bu uç noktalara erişimi yoksa betikler başarıyla çalıştırılabilir ancak sonuçları döndürmez. Sanal makinedeki trafiği engelliyorsanız, etiketini kullanarak kullanabilirsiniz.
VM aracısı durumu HAZIR DEĞİlse Komut Çalıştır özelliği çalışmaz. Azure portalında VM'nin özelliklerinde aracı durumunu denetleyin.
Kullanılabilir komutlar
Bu tabloda, Windows VM'leri için kullanılabilen komutların listesi gösterilir. İstediğiniz özel betiği çalıştırmak için RunPowerShellScript komutunu kullanabilirsiniz. Bir komutu çalıştırmak için Azure CLI veya PowerShell kullanırken, veya --command-id parametresi için -CommandId sağladığınız değer aşağıdaki listelenen değerlerden biri olmalıdır. Kullanılabilir bir komut olmayan bir değer belirttiğinizde şu hatayı alırsınız:
The entity was not found in this Azure location
Kullanılabilir Komutlar
| CommandID | Açıklama | Daha Fazla Bilgi |
|---|---|---|
| RunPowerShellScript | PowerShell betiği çalıştırır | |
| NLA'yi Devre Dışı Bırak | Ağ Düzeyinde Kimlik Doğrulamayı (NLA) devre dışı bırakır. Değişikliğin etkili olması için betik tamamlandıktan sonra VM'yi yeniden başlatmanız gerekir. Betiğin kendisi VM'yi yeniden başlatmaz. | readme |
| DisableWindowsUpdate | Windows Update aracılığıyla Otomatik Güncelleştirmeleri devre dışı bırakın. | readme |
| EnableAdminAccount | Yerel Yönetici hesabının devre dışı bırakılıp bırakılmadığını kontrol eder ve eğer öyleyse etkinleştirir. | readme |
| ENABLEEMS | Sorun giderme senaryolarında seri konsol bağlantısına izin vermek için Acil Durum Yönetim Hizmetleri'ni (EMS) etkinleştirin. | readme |
| EnableRemotePS | Uzak PowerShell'i etkinleştirin. | readme |
| EnableWindowsUpdate | Windows Update aracılığıyla Otomatik Güncelleştirmeleri etkinleştirin. | readme |
| IMDSCertCheck | IMDS Sistem Durumunu denetler ve ardından IMDS'nin bağlı olduğu şu anda yüklü sertifikaları analiz eder. Eksikse ek ayrıntılar ve risk azaltma adımları gösterilir. | readme |
| IPConfig | TCP/IP'ye bağlı her bağdaştırıcı için IP adresi, alt ağ maskesi ve varsayılan ağ geçidi için ayrıntılı bilgileri gösterir. Kullanım kılavuzu için Betikleri çalıştırma bölümüne başvurun | readme |
| RDPSettings | Kayıt defteri ayarlarını ve etki alanı ilkesi ayarlarını denetler. Makine bir etki alanının parçasıysa veya ayarları varsayılan değerlerle değiştirirse ilke eylemleri önerir. | readme |
| ResetRDPCert | RDP dinleyicisine bağlı SSL sertifikasını kaldırır ve RDP dinleyicisi güvenliğini varsayılan olarak geri yükler. Sertifikayla ilgili herhangi bir sorun görürseniz bu betiği kullanın. | readme |
| SetRDPPort | Uzak Masaüstü bağlantıları için varsayılan veya kullanıcı tarafından belirtilen bağlantı noktası numarasını ayarlar. Bağlantı noktasına gelen erişim için güvenlik duvarı kuralını etkinleştirir. | readme |
| Windows Etkinleştirme Doğrulaması | Geçerli Windows lisans durumunu (etkin veya değil) denetler ve makine özelliği etkinleştirilmemişse uyarı oluşturulur. | readme |
| WindowsGhostedNicValidationScript | Bu betik, PCI ve VMBUS veri yolları üzerindeki ağ bağdaştırıcıları için Windows kayıt defterini tarar, bunları şu anda etkin olan ağ bağdaştırıcılarıyla karşılaştırır ve hayalet NIC'leri tanımlar. Ağ sorunlarını gidermek veya eski NIC'leri temizlemek için kullanışlıdır. | readme |
| Windows Yükseltme Değerlendirme Doğrulama | Bu betik, Bir Windows makinesinin (istemci veya sunucu) yerinde işletim sistemi yükseltmesine hazır olup olmadığını değerlendirmek için tasarlanmıştır ve Azure Sanal Makineler için dikkat edilmesi gereken özel noktalar vardır. İşletim sistemi sürümünü, desteklenen yükseltme yollarını, sistem disk alanını ve Güvenilen Başlatma, Güvenli Önyükleme ve vTPM gibi Azure güvenlik özelliklerini değerlendirir. | readme |
Komut Çalıştırma'ya erişimi sınırlama
Çalıştırma komutlarının listelenmesi veya bir komutun ayrıntılarının gösterilmesi için Abonelik Düzeyinde izin gerekir Microsoft.Compute/locations/runCommands/read . Yerleşik Okuyucu rolü ve üst düzeyler bu izne sahiptir.
Komut çalıştırmak için izin gerekir Microsoft.Compute/virtualMachines/runCommand/action .
Sanal Makine Katılımcısı rolü ve üst düzeyler bu izne sahiptir.
Komut Çalıştır'ı kullanmak için yerleşik rollerden birini kullanabilir veya özel bir rol oluşturabilirsiniz.
Çalıştırma Komutlarını Kullanma
Not
- Parametre değerleri yalnızca dize türü olabilir ve betik gerekirse bunları diğer türlere dönüştürmekle sorumludur.
- Yürütmek için hangi modalitenin kullanıldığına bağlı olarak, bazı kaçışlar gerekebilir. Örneğin, komutu bir PowerShell oturumunda yürütüyorsanız, betik dosyasının yolunun tırnak işaretleri olması gerekir.
- Yerleşik komutlar düzenlenemez.
Azure portalında bir VM'ye gidin ve soldaki menüden İşlemler'in altında Çalıştır komutunu seçin. VM'de çalıştırılacak kullanılabilir komutların listesini görürsünüz.
Çalıştırılacak komutu seçin. Bazı komutların isteğe bağlı veya gerekli giriş parametreleri olabilir. Bu komutlar için parametreler, giriş değerlerini sağlamanız için metin alanları olarak sunulur. Her komut için Betiği görüntüle'yi genişleterek çalıştırılan betiği görüntüleyebilirsiniz. RunPowerShellScript , kendi özel betiğinizi sağlamanıza olanak sağladığından diğer komutlardan farklıdır.
Komutu seçtikten sonra çalıştır'ı seçerek betiği çalıştırın. Betik tamamlandıktan sonra çıktıyı ve çıkış penceresindeki hataları döndürür. Aşağıdaki ekran görüntüsünde RDPSettings komutunu çalıştırmaya yönelik örnek bir çıkış gösterilmektedir .
Eylem Çalıştırma Komutu Windows sorunlarını giderme
Windows ortamları için eylem çalıştırma komutunun sorunlarını giderirken, diğer ayrıntılar için genellikle aşağıdaki dizinde bulunan RunCommandExtension günlük dosyasına bakın: C:\WindowsAzure\Logs\Plugins\Microsoft.CPlat.Core.RunCommandWindows\<version>\RunCommandExtension.log
Bilinen sorunlar
Komut ayrılmış karakterler içeriyorsa Eylem Çalıştırma Komut Uzantınız Windows ortamınızda yürütülemeyebilir. Örneğin:
&Simge aşağıdaki PowerShell betiği gibi komutunuzun parametresinde geçirilirse başarısız olabilir.$paramm='abc&jj' Invoke-AzVMRunCommand -ResourceGroupName AzureCloudService1 -Name test -CommandId 'RunPowerShellScript' -ScriptPath C:\data\228332902\PostAppConfig.ps1 -Parameter @{"Prefix" = $paramm}^bağımsız değişkeninde kaçış&karakteri kullanın, örneğin$paramm='abc^&jj'Çalıştır Komutu uzantısı, yürütülecek komut yolda "\n" içeriyorsa, yeni bir satır olarak ele alınacağı için yürütülemeyebilir. Örneğin,
C:\Windows\notepad.exedosya yolunda öğesini içerir\n. yolunuz içinde ile\nöğesini değiştirmeyi\Ngöz önünde bulundurun.Kayıt defteri anahtarında
HKLM\SOFTWARE\Microsoft\Command Processor\AutoRunherhangi bir özel ayar olmadığından emin olun (burada ayrıntılı olarak anlatılır). Bu, RunCommand Uzantısı yüklemesi sırasında tetiklenebilir veya aşamaları etkinleştirebilir ve 'XYZ iç veya dış komut, çalışabilir program veya toplu iş dosyası olarak tanınmıyor' gibi bir hataya neden olabilir.
Eylem Çalıştırma Komutunu Kaldırma
Eylem çalıştırma komutu Windows uzantısını kaldırmanız gerekiyorsa Azure PowerShell ve CLI için aşağıdaki adımlara bakın:
Aşağıdaki kaldırma örneklerinde rgname ve vmname değerini ilgili kaynak grubu adınız ve sanal makine adınızla değiştirin.
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RemoveRunCommandWindowsExtension'
Not
Çalıştırma Komutunu yeniden uyguladığınızda uzantı otomatik olarak yüklenir. Uzantıyla ilgili sorunları gidermek için uzantı kaldırma komutunu kullanabilirsiniz.
Sonraki adımlar
Sanal makinenizde betikleri ve komutları uzaktan çalıştırmanın diğer yolları hakkında bilgi edinmek için bkz . Windows VM'nizde betikleri çalıştırma.