Azure Otomasyonu Durum Yapılandırması sorunlarını giderme
Not
Azure Otomasyonu State Configuration 30 Eylül 2027'de kullanımdan kaldırılacak, lütfen Bu tarihe kadar Azure Makine Yapılandırması. Daha fazla bilgi için blog gönderisi duyurusunu inceleyin. Azure Machine Configuration hizmeti DSC Uzantısı, Azure Otomasyonu Durum Yapılandırması özelliklerini ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Azure Makine Yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteği de içerir.
Dikkat
Linux için Azure Otomasyonu DSC, 30 Eylül 2023'te kullanımdan kaldırılmıştır. Daha fazla bilgi için duyuruya bakın.
Bu makale, Azure Otomasyonu Durum Yapılandırması'nda yapılandırmaları derlerken veya dağıtırken oluşan sorunları giderme ve çözme hakkında bilgi sağlar. Durum Yapılandırması özelliği hakkında genel bilgi için bkz. Azure Otomasyonu Durum Yapılandırmasına genel bakış.
Sorunu tanılama
Yapılandırma için bir derleme veya dağıtım hatası aldığınızda, sorunu tanılamanıza yardımcı olacak birkaç adım aşağıda verilmiştır.
1. Yapılandırmanızın yerel makinede başarıyla derlendiğinden emin olun
Azure Otomasyonu Durum Yapılandırması, PowerShell İstenen Durum Yapılandırması (DSC) üzerine kurulmuştur. DSC dili ve söz dizimi belgelerini PowerShell DSC Belgeleri'nde bulabilirsiniz.
Yerel makinenizde bir DSC yapılandırması derleyerek aşağıdakiler gibi yaygın hataları keşfedebilir ve çözebilirsiniz:
- Eksik modüller.
- Söz dizimi hataları.
- Mantıksal hatalar.
2. Düğümünüzde DSC günlüklerini görüntüleme
Yapılandırmanız başarıyla derlendiyse ancak düğüme uygulandığında başarısız olursa, DSC günlüklerinde ayrıntılı bilgileri bulabilirsiniz. Bu günlüklerin nerede bulunacağı hakkında bilgi için bkz . DSC Olay Günlükleri nerededir?
xDscDiagnostics modülü, DSC günlüklerindeki ayrıntılı bilgileri ayrıştırmanıza yardımcı olabilir. Desteğe başvurursanız, sorununuzu tanılamak için bu günlüklere ihtiyaç duyarlar.
Modülü yerel makinenize yüklemek xDscDiagnostics
için Kararlı sürümü yükleme modülünün yönergelerini izleyebilirsiniz.
Modülü Azure makinenize yüklemek xDscDiagnostics
için Invoke-AzVMRunCommand komutunu kullanın. Komutunu Çalıştır ile Windows VM'nizde PowerShell betiklerini çalıştırma bölümünde yer alan adımları izleyerek Azure portalında Çalıştır komut seçeneğini de kullanabilirsiniz.
xDscDiagnostics kullanma hakkında bilgi için bkz. DSC günlüklerini analiz etmek için xDscDiagnostics kullanma. Ayrıca bkz. xDscDiagnostics Cmdlet'leri.
3. Düğümlerin ve Otomasyon çalışma alanının gerekli modüllere sahip olduğundan emin olun
DSC, düğümde yüklü modüllere bağlıdır. Azure Otomasyonu Durum Yapılandırması'nı kullandığınızda Modülleri İçeri Aktar'daki adımları izleyerek gerekli modülleri Otomasyon hesabınıza aktarın. Yapılandırmalar, modüllerin belirli sürümlerine de bağımlı olabilir. Daha fazla bilgi için bkz . Modül sorunlarını giderme.
Senaryo: Özel karakterler içeren bir yapılandırma portaldan silinemez
Sorun
Portaldan bir DSC yapılandırmasını silmeye çalıştığınızda aşağıdaki hatayı görürsünüz:
An error occurred while deleting the DSC configuration '<name>'. Error-details: The argument
configurationName with the value <name> is not valid. Valid configuration names can contain only
letters, numbers, and underscores. The name must start with a letter. The length of the name must be
between 1 and 64 characters.
Neden
Bu hata geçici bir sorundur. Daha sonra tekrar deneyin.
Çözüm
Yapılandırmayı silmek için Remove-AzAutomationDscConfiguration cmdlet'ini kullanın.
Senaryo: DSC Aracısı kaydedilemedi
Sorun
Set-DscLocalConfigurationManager veya başka bir DSC cmdlet'i kullandığınızda bir hata alırsınız.
Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000
failed. The underlying error is: Failed to register Dsc Agent with AgentId
00000000-0000-0000-0000-000000000000 with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000').
+ CategoryInfo : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
+ PSComputerName : <computerName>
Neden
Ağ sorunu bu hataya neden olabilir. Güvenlik duvarı ayarlarınızı veya makinenin bir ara sunucunun arkasında olup olmadığını denetleyin.
Çözüm
Makinenizin DSC için uygun uç noktalara erişimi olduğunu doğrulayın ve yeniden deneyin. Gereken bağlantı noktalarının ve adreslerin listesi için bkz . Ağ planlaması.
Senaryo: Durum raporları Yetkisiz yanıt kodunu döndürür
Sorun
Azure Otomasyonu Durum Yapılandırması ile bir düğüm kaydettiğinizde aşağıdaki hata iletilerinden birini alırsınız:
The attempt to send status report to the server https://{your Automation account
URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned
unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the
Dsc Agent with the server failed.
Neden
Olası nedenler şunlardır:
Hatalı veya süresi dolmuş bir sertifika. Bkz. Düğümü yeniden kaydetme.
erişimine
*.azure-automation.net
izin vermeyen bir ara sunucu yapılandırması. Daha fazla bilgi için bkz . Özel ağların yapılandırması.Azure Otomasyonu yerel kimlik doğrulamayı devre dışı bırakdığınızda. Bkz. Yerel kimlik doğrulamayı devre dışı bırakma. Düzeltmek için bkz . Yerel kimlik doğrulamasını yeniden etkinleştirme.
İstemci bilgisayar süresi, gerçek saatten çok dakika yanlıştır. Saati denetlemek için aşağıdaki komutu kullanın:
w32tm /stripchart /computer:time.windows.com /samples:6
.
Çözüm
Başarısız olan DSC düğümünü yeniden kaydetmek için aşağıdaki adımları kullanın.
1. Adım: Düğümün kaydını kaldırma
- Azure portalında Ev>Otomasyonu Hesapları> (Otomasyon hesabınız) Durum yapılandırması (DSC) >bölümüne gidin.
- Düğümler'i seçin ve sorun yaşayan düğümü seçin.
- Düğümün kaydını kaldırmak için Kaydı Sil'i seçin.
2. Adım: DSC uzantısını düğümden kaldırma
- Azure portalında Giriş>Sanal Makinesi> (başarısız düğüm) >Uzantıları'na gidin.
- PowerShell DSC uzantısı olan Microsoft.Powershell.DSC'yi seçin.
- Uzantıyı kaldırmak için Kaldır'ı seçin.
3. Adım: Düğümden tüm hatalı veya süresi dolmuş sertifikaları kaldırma
Yükseltilmiş bir PowerShell isteminden başarısız olan düğümde şu komutları çalıştırın:
$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
ForEach ($Cert in $certs)
{
RD -LiteralPath ($Cert.Pspath)
}
}
4. Adım: Başarısız düğümü yeniden kaydetme
- Azure portalında Ev>Otomasyonu Hesapları> (Otomasyon hesabınız) Durum yapılandırması (DSC) >bölümüne gidin.
- Düğümler'i seçin.
- Ekle'yi seçin.
- Başarısız olan düğümü seçin.
- Bağlan'ı seçin ve istediğiniz seçenekleri belirleyin.
Senaryo: Düğüm "Bulunamadı" hatasıyla başarısız durumda
Sorun
DüğümDe Başarısız durumu olan bir rapor var ve şu hatayı içeriyor:
The attempt to get the action from server
https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid
configuration <guid> cannot be found.
Neden
Bu hata genellikle düğüm ABC gibi bir düğüm yapılandırması (MOF dosyası) adı yerine ABC gibi bir yapılandırma adına atandığında oluşur. WebServer.
Çözüm
- Düğümü yapılandırma adıyla değil düğüm yapılandırma adıyla atadığınızdan emin olun.
- Azure portalını veya PowerShell cmdlet'ini kullanarak düğüm yapılandırmasını bir düğüme atayabilirsiniz.
- Azure portalında Ev>Otomasyonu Hesapları> (Otomasyon hesabınız) Durum yapılandırması (DSC) >bölümüne gidin. Ardından bir düğüm seçin ve Düğüm yapılandırması ata'yı seçin.
- Set-AzAutomationDscNode cmdlet'ini kullanın.
Senaryo: Bir yapılandırma derlendiğinde düğüm yapılandırması (MOF dosyaları) üretilmemiş
Sorun
DSC derleme işiniz şu hatayla askıya alınıyor:
Compilation completed successfully, but no node configuration **.mof** files were generated.
Neden
DSC yapılandırmasında anahtar sözcüğü izleyen Node
ifade olarak değerlendirildiğinde $null
hiçbir düğüm yapılandırması üretilmemiştir.
Çözüm
Sorunu çözmek için aşağıdaki çözümlerden birini kullanın:
- Yapılandırma tanımında anahtar sözcüğün yanındaki ifadenin
Node
Null olarak değerlendirilmediğinden emin olun. - Yapılandırmayı derlerken ConfigurationData geçiriyorsanız yapılandırmanın yapılandırma verilerinden beklediği değerleri geçtiğinizden emin olun.
Senaryo: DSC düğüm raporu Devam Ediyor durumunda takılıyor
Sorun
DSC aracısının çıkışları:
No instance found with given property values
Neden
Düğümde Windows Yönetim Araçları (WMI) bozuksa bu sorun oluşabilir.
Çözüm
DSC ile ilgili bilinen sorunlar ve sınırlamalar başlığındaki yönergeleri izleyin.
Senaryo: DSC yapılandırmasında kimlik bilgisi kullanılamıyor
Sorun
DSC derleme işiniz şu hatayla askıya alındı:
System.InvalidOperationException error processing property 'Credential' of type <some resource
name>: Converting and storing an encrypted password as plaintext is allowed only if
PSDscAllowPlainTextPassword is set to true.
Neden
Bu sorun, bir yapılandırmada kimlik bilgisi kullandığınızda ancak her düğüm yapılandırması için doğru olarak ayarlanmadığında ConfigurationData
PSDscAllowPlainTextPassword
oluşabilir.
Çözüm
Her düğüm yapılandırması için doğru ConfigurationData
ayarını PSDscAllowPlainTextPassword
true olarak geçirmeyi unutmayın. Bkz. Azure Otomasyonu Durum Yapılandırmasında DSC yapılandırmalarını derleme.
Senaryo: Bir makineyi DSC uzantısından etkinleştirirken "Uzantı işlenirken hata oluştu" hatası
Sorun
Bir makineyi DSC uzantısını kullanarak etkinleştirdiğinizde, şu hatayı içeren bir hata oluşur:
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC
COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few:
Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to
register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code
BadRequest. .\".
Neden
Bu hata genellikle düğüme hizmette mevcut olmayan bir düğüm yapılandırma adı atandığında oluşur.
Çözüm
Hizmetteki adla tam olarak eşleşen düğüm adının veya düğüm yapılandırma adını içermediğinden emin olun. Bu, düğümü etkinleştirir ancak düğüm yapılandırması atamaz.
Senaryo: PowerShell kullanarak bir düğümü kaydederken "Bir veya daha fazla hata oluştu" hatası
Sorun
Register-AzAutomationDSCNode veya Register-AzureRMAutomationDSCNode kullanarak bir düğümü kaydettiğinizde, aşağıdaki hatayı alırsınız:
One or more errors occurred.
Neden
Bu hata, Otomasyon hesabı tarafından kullanılandan farklı bir aboneliğe düğüm kaydetmeye çalıştığınızda oluşur.
Çözüm
Abonelikler arası düğümü ayrı bir bulut veya şirket içi için tanımlanmış bir düğüm olarak değerlendirin. Makineleri etkinleştirmek için şu seçeneklerden birini kullanarak düğümü kaydedin:
- Windows: Şirket içinde veya Azure/AWS dışında bir bulutta fiziksel/sanal Windows makineleri.
- Linux: Şirket içi veya Azure dışındaki bir bulutta fiziksel/sanal Linux makineleri.
Senaryo: "Sağlama başarısız oldu" hata iletisi
Sorun
Bir düğümü kaydettiğinizde şu hatayı görürsünüz:
Provisioning has failed
Neden
Bu ileti, düğüm ile Azure arasında bağlantıyla ilgili bir sorun olduğunda oluşur.
Çözüm
Düğümünüzün bir sanal özel ağda mı (VPN) yoksa Azure'a bağlanırken başka sorunlarla mı karşılaştığını belirleyin. Bkz . Özellik dağıtım sorunlarını giderme.
Senaryo: Linux'ta yapılandırma uygulanırken genel bir hatayla hata oluştu
Sorun
Linux'ta bir yapılandırma uyguladığınızda, şu hatayı içeren bir hata oluşur:
This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1.
ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name
and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a
more specific error code..
Neden
/tmp konumu olarak noexec
ayarlanırsa, DSC'nin geçerli sürümü yapılandırmaları uygulayamaz.
Çözüm
noexec
/tmp konumundan seçeneğini kaldırın.
Senaryo: Örtüşen düğüm yapılandırma adları hatalı sürüme neden olabilir
Sorun
Birden çok düğüm yapılandırması oluşturmak için tek bir yapılandırma betiği kullandığınızda ve bazı düğüm yapılandırma adları diğer adların alt kümeleri olduğunda, derleme hizmeti yanlış yapılandırmayı atayabilir. Bu sorun yalnızca düğüm başına yapılandırma verilerine sahip yapılandırmalar oluşturmak için tek bir betik kullandığınızda ve yalnızca dizenin başında ad çakışması oluştuğunda oluşur. Örnek olarak, cmdlet'ler kullanılarak karma tablo olarak geçirilen düğüm verilerini temel alan yapılandırmalar oluşturmak için kullanılan tek bir yapılandırma betiği ve düğüm verileri sunucu ve 1server adlı sunucuları içerir.
Neden
Bu, derleme hizmetiyle ilgili bilinen bir sorundur.
Çözüm
En iyi geçici çözüm yerel olarak veya CI/CD işlem hattında derlemek ve düğüm yapılandırması MOF dosyalarını doğrudan hizmete yüklemektir. Hizmetteki derleme bir gereksinimse, bir sonraki en iyi geçici çözüm, adlarda çakışma olmayacak şekilde derleme işlerini bölmektir.
Senaryo: DSC yapılandırması karşıya yüklemesinde ağ geçidi zaman aşımı hatası
Sorun
DSC yapılandırmasını karşıya yüklediğinizde bir GatewayTimeout
hata alırsınız.
Neden
Derlemesi uzun süren DSC yapılandırmaları bu hataya neden olabilir.
Çözüm
Herhangi bir Import-DSCResource çağrısı için parametresini ModuleName
açıkça ekleyerek DSC yapılandırmalarınızın daha hızlı ayrıştırmasını sağlayabilirsiniz.
Senaryo: Makine ekleme sırasında hata oluştu
Sorun
Bir makine eklerken bir agent has a problem
hata alırsınız.
Neden
Bu bilinen bir sorundur. Düğüm bekleme durumunda kaldığı için aynı yapılandırmayı yeniden atayamazsınız.
Çözüm
Sorunu geçici olarak çözmek için farklı bir test yapılandırması uygulayın ve özgün yapılandırmayı yeniden deneyin.
Sonraki adımlar
Sorununuzu burada görmüyorsanız veya sorununuzu çözemiyorsanız aşağıdaki destek kanallarından birini deneyin:
- Azure Forumları aracılığıyla Azure uzmanlarından yanıt alın.
- Müşteri deneyimini geliştirmeye yönelik resmi Microsoft Azure hesabı @AzureSupport ile bağlantı kurun. Azure Desteği, Azure topluluğunun yanıtlara, desteğe ve uzmanlara bağlanmasını sağlar.
- bir Azure desteği olayı dosyala. Azure desteği sitesine gidin ve Destek Al'ı seçin.