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.
Azure Arc özellikli sunucularda Çalıştır komutu (önizleme), Uzak Masaüstü Protokolü veya SSH aracılığıyla doğrudan bağlantı gerektirmeden Azure Arc'a bağlı sanal makinelerde (VM) betikleri veya komutları uzaktan ve güvenli bir şekilde yürütmenizi sağlar.
Her VM'de ayrı ayrı oturum açmanız gerekmediğinden, Çalıştır komutu yazılım yükleme veya güncelleştirme, güvenlik duvarı kurallarını yapılandırma, sistem durumu denetimlerini çalıştırma veya sorunları giderme gibi yönetim görevlerini gerçekleştirme yükünü ve çabasını azaltır.
Anahtar kullanım örneklerinden biri, güvenlik duruşunuzu geliştirmek için Çalıştır komutunu kullanmaktır. Azure Arc özellikli sunucularınızda güvenlik düzeltme eklerini uzaktan uygulamak, uyumluluk ilkelerini zorunlu kılmak veya güvenlik açıklarını düzeltmek için Çalıştır komutunu kullanabilirsiniz. Ayrıca parolaları döndürme, verileri şifreleme veya günlükleri denetleme gibi yaygın güvenlik görevlerini otomatikleştirebilirsiniz. Azure Arc aracılığıyla bu görevleri hibrit, çoklu bulut ve uç ortamlarınızda tutarlı bir şekilde gerçekleştirerek işlem yükünü ve yanıt süresini azaltmaya yardımcı olabilirsiniz.
Dikkat
Bazı farklılıklar olsa da Azure Arc özellikli sunucularda Çalıştır komutu, azure vm'lerinde kullanabileceğiniz Çalıştır komutu işlevine benzer ve belirtilen kısıtlamalar da buna dahildir. Farklılıklara örnek olarak, Azure Arc özellikli sunucularda Çalıştır komutu şu anda Azure portalında kullanılamaz.
Nasıl çalışır?
Çalıştır komutu Bağlı Makine aracısında yerleşik olarak bulunur (sürüm 1.33'den başlayarak) ve betik çalıştırma ve oluşturma, güncelleştirme, silme, sıralama ve listeleme işlemleri arasında betik yönetimini merkezileştirme özelliğini destekler.
Azure CLI, PowerShell veya REST API'den betik veya komut yürütmek için Çalıştır komutunu kullandığınızda, Azure vm'de yüklü olan Bağlı Makine aracısını belirtilen eylemi tamamlamaya yönlendirir. VM'ye başka uzantı yüklemeniz gerekmez.
Azure Arc özellikli sunucularda Çalıştır komutunun kullanımı ücretsiz olsa da, Azure'da depoladığınız betikler faturalama ücretlerine tabi olur.
Önemli
Azure Arc özellikli sunucularda çalıştır komutu şu anda yönetilen kimlikleri kullanarak blobların kimliğini doğrulamayı desteklememektedir.
Desteklenen yapılandırmalar
Çalıştır komutu birçok yapılandırmada kullanılabilir:
- Deneyim: Azure CLI, PowerShell ve REST API
- İşletim sistemleri: Windows ve Linux
- Ortam: Şirket içi, VMware, SCVMM, AWS, GCP ve OCI dahil olmak üzere Azure Arc'a bağlı Azure dışı ortamlar
Dikkat
Linux'ta Çalıştır komutu 36 karakterden uzun adları kabul etmez.
Çalıştır komutunu kullanma
Çalıştır komutunu kullanmak için VM'de çalıştırmak istediğiniz komutları içeren bir betik oluşturun. Ardından Azure PowerShell, AzureCLI veya REST API kullanarak betiği yürütür. Bu bölüm, Her deneyimde Çalıştır komutunun nasıl kullanılacağına ilişkin örnekler içerir.
Aşağıdaki örneklerde, Arc özellikli bir sunucuda betikleri veya komutları yürütmek için Azure PowerShell için Az.ConnectedMachine modülü kullanılır.
Makinada komut dosyası çalıştırma
Bu komut, betiği makineye gönderir, çalıştırır ve çıktıyı yakalayıp döndürür.
New-AzConnectedMachineRunCommand -ResourceGroupName "myRG" -MachineName "myMachine" -Location "eastus" -RunCommandName "RunCommandName" –SourceScript "echo Hello World!"
Dikkat
parametresine -SourceScript birden çok komut ekleyebilirsiniz. Her komutu ayırmak için kullanın ; . Örneğin: –SourceScript "id; echo Hello World!"
Depolamadaki bir betik dosyasını kullanarak makinede betik çalıştırın
Bu komut, bir betiğin karşıya yüklendiği bir depolama yığını için paylaşılan erişim imzası (SAS) adresine Bağlı Makine temsilcisini yönlendirir. Ardından aracı, betiği yürütmeye ve elde edilen çıktıyı geri göndermesi yönlendirilir.
New-AzConnectedMachineRunCommand -ResourceGroupName "MyRG0" -MachineName "MyMachine" -RunCommandName "MyRunCommand" -Location "eastus" -SourceScriptUri “< SAS URI of a storage blob with read access or public URI>”
Dikkat
scriptUri, depolama blobu için paylaşılan erişim imzası (SAS) URI'lidir ve bloba okuma erişimi sağlamalıdır. SAS URI'sinde 24 saatlik bir süre sonu önerilir. Blob seçeneklerini kullanarak Azure portalında sas URI'si oluşturabilir veya kullanarak New-AzStorageBlobSASTokenbir SAS belirteci oluşturabilirsiniz. kullanarak New-AzStorageBlobSASTokenbir SAS belirteci oluşturursanız, SAS URI biçimi şudur: base blob URL + "?" + içinden New-AzStorageBlobSASTokenSAS belirteci.
Bir makinede dağıtılan tüm Çalıştır komut kaynaklarını listeleme
Bu komut, özellikleriyle birlikte önceden dağıtılan Çalıştırma Komutlarının tam listesini döndürür.
Get-AzConnectedMachineRunCommand -ResourceGroupName "myRG" -MachineName "myMachine"
Yürütme durumunu ve sonuçlarını alma
Bu komut, bir "Run" komutunun geçerli yürütme ilerleme durumunu alır; buna en son çıktı, başlangıç ve bitiş saati, çıkış kodu ve yürütmenin terminal durumu dahildir.
Get-AzConnectedMachineRunCommand -ResourceGroupName "myRG" -MachineName "myMachine" -RunCommandName "RunCommandName"
Örnek Görünümü aracılığıyla Çalıştır komutu için durum bilgilerini alma
Bu komut, Örnek Görünümü ile makinede çalıştır komutunun durum bilgilerini alır. Örnek Görünümü Çalıştır komutunun yürütme durumunu (başarılı, başarısız vb.), çıkış kodunu, standart çıkışı ve betik yürütülerek oluşturulan standart hatayı içerir. Sıfır olmayan çıkış kodu başarısız bir yürütmeyi gösterir.
Get-AzConnectedMachineRunCommand -ResourceGroupName "MyRG" -MachineName "MyMachine" -RunCommandName "MyRunCommand"
Diğer bilgilerle birlikte yanıt şu alanları döndürür:
-
InstanceViewExecutionState: Betiğinizin başarılı olup olmadığını gösterir. -
ProvisioningState: Uzantı platformunun Çalıştır komut betiğini tetikleyip tetikleyemediğini gösterir.
Makinede Çalıştırma Komutu oluşturma veya güncelleştirme
Bu komut bir makinede Çalıştır komutu oluşturur veya güncelleştirir ve standart çıkış ile standart hata iletilerini çıkışa ve AppendBlobs hatasına akışla aktarır.
New-AzConnectedMachineRunCommand -ResourceGroupName "MyRG0" -MachineName "MyMachine" -RunCommandName "MyRunCommand3" -Location "eastus" -SourceScript "id; echo HelloWorld" -OutputBlobUri <OutPutBlobUrI> -ErrorBlobUri <ErrorBlobUri>
Dikkat
Çıktı ve hata blobları AppendBlob türünde olmalı ve SAS URI'leri bloba okuma, ekleme, oluşturma ve yazma erişimi sağlamalıdır. SAS URI'sinde 24 saatlik bir süre sonu önerilir. Çıkış veya hata blobu yoksa AppendBlob türünde bir blob oluşturulur. Blob'un seçeneklerini kullanarak Azure portalında sas URI'leri oluşturabilir veya kullanarak New-AzStorageBlobSASTokenbir SAS belirteci oluşturabilirsiniz.
Bir makinede farklı bir kullanıcı olarak 'Komut Çalıştır' oluşturma veya güncelleme
Bu komut, RunAsUser ve RunAsPassword parametrelerini kullanarak farklı bir kullanıcı olarak bir makinede Çalıştırma komutunu oluşturur veya günceller.
Bu komutu kullanmadan önce:
- Makinenin yöneticisine başvurun ve kullanıcının makineye erişimi olduğundan emin olun.
- Kullanıcının, Çalıştır komutu tarafından erişilen dizinler, dosyalar ve ağ kaynakları gibi kaynaklara erişimi olduğundan emin olun.
- Bir Windows makinesinde 'İkincil Oturum Açma'nın çalıştığından emin olun.
New-AzConnectedMachineRunCommand -ResourceGroupName "MyRG0" -MachineName "MyMachine" -RunCommandName "MyRunCommand" -Location "eastus" -SourceScript "id; echo HelloWorld" -RunAsUser myusername -RunAsPassword mypassword
Yerel betik dosyasıyla makinede Çalıştır komutunu oluşturma veya güncelleştirme
Bu komut, çalıştırıldığı cmdlet istemci makinede yerel bir betik dosyası kullanarak bir makinede Çalıştır komutu oluşturur veya güncelleştirir.
New-AzConnectedMachineRunCommand -ResourceGroupName "MyRG0" -MachineName "MyMachine" -RunCommandName "MyRunCommand" -Location "eastus" -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1"
Bir betiğe hassas girişler aktarırken makinede Çalıştırma komutunu oluşturma veya güncelleme
Bu komut, parolalar veya anahtarlar gibi hassas verileri bir betiğe aktarmak için ProtectedParameter belirtilerek Çalıştır komutunu oluşturur veya günceller.
$privateParametersArray = @{name='inputText';value='privateParam1value'}
New-AzConnectedMachineRunCommand -MachineName "MyMachine" -ResourceGroupName "MyRG0" -RunCommandName "MyRunCommand" -Location "eastus" -SourceScriptUri <SourceScriptUri> -ProtectedParameter $privateParametersArray
Girdi metnini yakalamak için örnek komut dosyası:
param ([string]$inputText)
Write-Output $inputText
Genel parametreleri, Parameter kullanarak benzer bir şekilde geçirebilirsiniz.
Windows için: Parametre ve ProtectedParameter, aşağıdaki örneğe benzer bir komut dosyasına geçirilir:
myscript.ps1 -publicParam1 publicParam1value -publicParam2 publicParam2value -secret1 secret1value -secret2 secret2valueLinux için:
Parameteradlı bir nesne ve değerleri, PowerShell betiğinde erişilebilir olması gereken ortam yapılandırmasına ayarlanır. Adsız parametreler için, ad girişine boş bir dize sağlayın. Adsız bağımsız değişkenler aşağıdaki örneğe benzer betiklere geçirilir:myscript.sh publicParam1value publicParam2value secret1value secret2value
Çalıştır komut kaynağını makineden sil
Bu komut, daha önce makinede dağıtılan Çalıştır komut kaynağını kaldırır. Betik yürütme işlemi devam ediyorsa, işlem sonlandırılır.
Remove-AzConnectedMachineRunCommand -ResourceGroupName "myRG" -MachineName "myMachine" -RunCommandName "RunCommandName"
Çalıştır komutuna erişimi sınırla (Önizleme)
Çalıştır komutuyla etkinleştirilen uzaktan erişim, bir sanal makinede (VM) belirli görevleri gerçekleştirmek için ek yükü azaltırken, uzaktan erişimi de sınırlayabilirsiniz.
Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak Çalıştır komutuna erişimi yönetme
Çalıştır komutunu kullanarak hangi kullanıcıların komut ve betik yürütebileceğini denetlemek için Azure RBAC kullanın.
Aşağıdaki tabloda Bir Çalıştır komut eylemi, eylemi gerçekleştirmek için gereken izin ve izni veren RBAC rolü açıklanmaktadır.
| Eylem | İzin | İzin ile RBAC |
|---|---|---|
| Çalıştırma komutlarını listeleme veya komutun ayrıntılarını gösterme | Microsoft.HybridCompute/machines/runCommands/read |
Yerleşik Okuyucu rolü ve üzeri |
| Komut çalıştırma | Microsoft.HybridCompute/machines/runCommands/write |
Azure Bağlı Makine Kaynak Yöneticisi rolü ve üzeri |
Çalıştır komutu işlevselliğine erişimi denetlemek için yerleşik rollerden birini kullanın veya Çalıştır komutu izni veren özel bir rol oluşturun.
Çalıştırma komutlarını yerel olarak engelleme
Çalıştır komut uzantısını izin verenler listesine (dahil) veya blok listesine (özel kullanım) ekleyerek, Bağlı Makine aracısının Çalıştır komutları aracılığıyla VM'ye erişim izni verip vermediğini denetleyebilirsiniz.
Daha fazla bilgi için bkz . Uzantı izin listeleri ve blok listeleri.
Aşağıdaki örnek, Çalıştır komut uzantısını Bir Windows VM'sinde bir blok listesine ekler:
azcmagent config set extensions.blocklist "microsoft.cplat.core/runcommandhandlerwindows"
Bu örnek, Çalıştır komut uzantılarını Linux VM'sinde izin verme listesine ekler:
azcmagent config set extensions.allowlist "microsoft.cplat.core/runcommandhandlerlinux"
Sonraki Adımlar
Çalıştır komutunu kullanmayı öğrenmek için aşağıdaki kaynaklara bakın: