Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Azure Automation State Configuration zostanie wycofana 30 września 2027 r., przejdź na Azure Machine Configuration do tego czasu. Aby uzyskać więcej informacji, zobacz ogłoszenie blog. Usługa Azure Machine Configuration łączy funkcje rozszerzenia DSC, Azure Automation State Configuration i najczęściej żądane funkcje opinii klientów. Azure Machine Configuration obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą Arc.
Ważne
Linki nawigacji Dodaj, Redaguj i Galeria zostaną usunięte z portalu 31 marca 2025 r.
Uwaga
Azure Automation DSC dla systemu Linux został wycofany 30 września 2023 r. Aby uzyskać więcej informacji, zobacz ogłoszenie.
Konfiguracje Desired State Configuration (DSC) można skompilować w Azure Automation State Configuration w następujący sposób:
usługa kompilacji Azure State Configuration
- Metoda dla początkujących z interaktywnym interfejsem użytkownika
- Łatwe śledzenie stanu zadania
Windows PowerShell
- Wywoływanie Windows PowerShell na komputerze lokalnym lub serwisie kompilacji
- Integracja z potokiem testowania programistycznego
- Podaj wartości parametrów złożonych
- Obsługa danych węzłowych i nienode'owych na dużą skalę
- Znaczna poprawa wydajności
Można również użyć szablonów Azure Resource Manager z rozszerzeniem Azure Desired State Configuration (DSC), aby przesłać konfiguracje do maszyn wirtualnych Azure. Rozszerzenie Azure DSC używa platformy agenta maszyny wirtualnej Azure do dostarczania, wprowadzania i raportowania konfiguracji DSC działających na maszynach wirtualnych Azure. Aby uzyskać szczegółowe informacje o kompilacji przy użyciu szablonów Azure Resource Manager, zobacz rozszerzenie Desired State Configuration z szablonami Azure Resource Manager.
Kompilowanie konfiguracji DSC w Azure State Configuration
Portal
- Na koncie usługi Automation wybierz pozycję Konfiguracja stanu (DSC).
- Wybierz kartę Konfiguracje , a następnie wybierz nazwę konfiguracji do skompilowania.
- Wybierz pozycję Kompiluj.
- Jeśli konfiguracja nie ma parametrów, zostanie wyświetlony monit o potwierdzenie, czy chcesz go skompilować. Jeśli konfiguracja ma parametry, zostanie otwarty panel Konfiguracja kompilacji, aby można było podać wartości parametrów.
- Zostanie otwarta strona Zadanie kompilacji, aby można było śledzić stan zadania kompilacji. Za pomocą tej strony można również śledzić konfiguracje węzłów (dokumenty konfiguracji MOF) umieszczone na serwerze ściągania Azure Automation State Configuration.
Azure PowerShell
Możesz użyć Start-AzAutomationDscCompilationJob, aby rozpocząć kompilowanie przy użyciu programu Windows PowerShell. Poniższy przykładowy kod rozpoczyna kompilację konfiguracji DSC o nazwie SampleConfig.
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'
Start-AzAutomationDscCompilationJob Zwraca obiekt zadania kompilacji, którego można użyć do śledzenia stanu zadania. Następnie można użyć tego obiektu zadania kompilacji z poleceniem Get-AzAutomationDscCompilationJob w celu określenia stanu zadania kompilacji oraz polecenia Get-AzAutomationDscCompilationJobOutput , aby wyświetlić jego strumienie (dane wyjściowe). Fragment kodu poniżej rozpoczyna kompilację konfiguracji SampleConfig, czeka na jej zakończenie, a następnie wyświetla strumienie.
$CompilationJob = Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'
while($null -eq $CompilationJob.EndTime -and $null -eq $CompilationJob.Exception)
{
$CompilationJob = $CompilationJob | Get-AzAutomationDscCompilationJob
Start-Sleep -Seconds 3
}
$CompilationJob | Get-AzAutomationDscCompilationJobOutput –Stream Any
Deklarowanie podstawowych parametrów
Deklaracja parametrów w konfiguracjach DSC, w tym typy parametrów i właściwości, działa tak samo jak w runbookach Azure Automation. Aby dowiedzieć się więcej na temat parametrów elementu Runbook, zobacz
W poniższym przykładzie użyto parametrów FeatureName i IsPresent do określenia wartości właściwości w konfiguracji węzła ParametersExample.sample wygenerowane podczas kompilacji.
Configuration ParametersExample
{
param(
[Parameter(Mandatory=$true)]
[string] $FeatureName,
[Parameter(Mandatory=$true)]
[boolean] $IsPresent
)
$EnsureString = 'Present'
if($IsPresent -eq $false)
{
$EnsureString = 'Absent'
}
Node 'sample'
{
WindowsFeature ($FeatureName + 'Feature')
{
Ensure = $EnsureString
Name = $FeatureName
}
}
}
Można skompilować konfiguracje DSC, które używają podstawowych parametrów, w portalu Azure Automation State Configuration lub za pomocą Azure PowerShell.
Portal
W portalu można wprowadzić wartości parametrów po kliknięciu pozycji Kompiluj.
Azure PowerShell
Program PowerShell wymaga parametrów w tabeli mieszającej, gdzie klucz odpowiada nazwie parametru, a wartość jest równa wartości parametru.
$Parameters = @{
'FeatureName' = 'Web-Server'
'IsPresent' = $False
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ParametersExample' -Parameters $Parameters
Aby uzyskać informacje na temat przekazywania PSCredential obiektów jako parametrów, zobacz Zasoby poświadczeń.
Kompilowanie konfiguracji zawierających zasoby złożone w Azure Automation
Funkcja Złożone zasoby pozwala na używanie konfiguracji DSC jako zagnieżdżonych zasobów w ramach konfiguracji. Ta funkcja umożliwia stosowanie wielu konfiguracji do jednego zasobu. Zobacz Zasoby złożone: używanie konfiguracji DSC jako zasobu , aby dowiedzieć się więcej o zasobach złożonych.
Uwaga
Aby konfiguracje zawierające zasoby złożone zostały poprawnie skompilowane, należy najpierw zaimportować do Azure Automation wszelkie zasoby DSC, na których te zasoby złożone polegają. Dodawanie zasobu złożonego DSC nie różni się od dodawania modułu programu PowerShell do Azure Automation. Ten proces jest udokumentowany w Zarządzanie modułami w Azure Automation.
Zarządzanie danymi konfiguracyjnymi podczas kompilowania konfiguracji w Azure Automation
ConfigurationData jest wbudowanym parametrem DSC, który umożliwia oddzielenie konfiguracji strukturalnej od dowolnej konfiguracji specyficznej dla środowiska podczas korzystania z rozszerzenia DSC programu PowerShell. Aby uzyskać więcej informacji, zobacz Oddzielanie „Co” od „Gdzie” w środowisku PowerShell DSC.
Uwaga
Podczas kompilowania w Azure Automation State Configuration można użyć ConfigurationData w Azure PowerShell, ale nie w portalu Azure.
W poniższym przykładzie konfiguracja DSC wykorzystuje ConfigurationData za pośrednictwem słów kluczowych $ConfigurationData i $AllNodes. W tym przykładzie potrzebny jest również moduł xWebAdministration.
Configuration ConfigurationDataSample
{
Import-DscResource -ModuleName xWebAdministration -Name MSFT_xWebsite
Write-Verbose $ConfigurationData.NonNodeData.SomeMessage
Node $AllNodes.Where{$_.Role -eq 'WebServer'}.NodeName
{
xWebsite Site
{
Name = $Node.SiteName
PhysicalPath = $Node.SiteContents
Ensure = 'Present'
}
}
}
Poprzednią konfigurację DSC można skompilować przy użyciu programu Windows PowerShell. Poniższy skrypt dodaje dwie konfiguracje węzłów do usługi ściągania Azure Automation State Configuration: ConfigurationDataSample.MyVM1 i ConfigurationDataSample.MyVM3.
$ConfigData = @{
AllNodes = @(
@{
NodeName = 'MyVM1'
Role = 'WebServer'
},
@{
NodeName = 'MyVM2'
Role = 'SQLServer'
},
@{
NodeName = 'MyVM3'
Role = 'WebServer'
}
)
NonNodeData = @{
SomeMessage = 'I love Azure Automation State Configuration and DSC!'
}
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ConfigurationDataSample' -ConfigurationData $ConfigData
Praca z elementami zawartości w Azure Automation podczas kompilacji
Odwołania do zasobów są takie same zarówno w Azure Automation State Configuration, jak i w elementach Runbook. Aby uzyskać więcej informacji, zobacz następujące artykuły:
Zasoby poświadczeń
Jeśli konfiguracja ma parametr określający obiekt PSCredential, użyj Get-AutomationPSCredential, przekazując nazwę obiektu poświadczeń Azure Automation do cmdlet w celu pobrania poświadczeń. Azure Automation przekazuje poświadczenia do konfiguracji.
Aby zapewnić bezpieczeństwo poświadczeń w konfiguracjach węzłów, zaszyfruj poświadczenia w pliku MOF konfiguracji węzła. Musisz przyznać PowerShell DSC uprawnienia do wyprowadzania danych jako tekst niezaszyfrowany podczas generowania MOF konfiguracji węzła. Azure Automation szyfruje cały plik MOF po jego wygenerowaniu przez zadanie kompilacji, a PowerShell DSC nie ma świadomości tego faktu.
Możesz poinformować PowerShell DSC, że poświadczenia mogą być wyprowadzane jako zwykły tekst w wygenerowanych plikach MOF konfiguracji węzła z użyciem danych konfiguracji. Należy przekazać PSDscAllowPlainTextPassword = $true przez ConfigurationData dla każdej nazwy bloku węzła, która jest wyświetlana w konfiguracji DSC i używa poświadczeń.
W poniższym przykładzie przedstawiono konfigurację DSC, która używa zasobu poświadczeń automatyzacji.
Configuration CredentialSample
{
Import-DscResource -ModuleName PSDesiredStateConfiguration
$Cred = Get-AutomationPSCredential 'SomeCredentialAsset'
Node $AllNodes.NodeName
{
File ExampleFile
{
SourcePath = '\\Server\share\path\file.ext'
DestinationPath = 'C:\destinationPath'
Credential = $Cred
}
}
}
Poprzednią konfigurację DSC można skompilować przy użyciu programu PowerShell. Poniższy kod programu PowerShell dodaje dwie konfiguracje węzłów do serwera pobierania usługi Azure Automation State Configuration: CredentialSample.MyVM1 i CredentialSample.MyVM2.
$ConfigData = @{
AllNodes = @(
@{
NodeName = '*'
PSDscAllowPlainTextPassword = $True
},
@{
NodeName = 'MyVM1'
},
@{
NodeName = 'MyVM2'
}
)
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'CredentialSample' -ConfigurationData $ConfigData
Uwaga
Po zakończeniu kompilacji może zostać wyświetlony komunikat o błędzie
The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported. Możesz bezpiecznie zignorować ten komunikat.
Kompilowanie konfiguracji DSC w programie Windows PowerShell
Proces kompilowania konfiguracji DSC w Windows PowerShell jest opisany w dokumentacji PowerShell DSC Write, Kompiluj i Zastosuj Konfigurację. Ten proces można wykonać na stacji roboczej dewelopera lub w usłudze kompilacji, takiej jak Azure DevOps. Następnie można zaimportować pliki MOF utworzone przez skompilowanie konfiguracji do usługi Azure State Configuration.
Kompilowanie w programie Windows PowerShell umożliwia również podpisywanie zawartości konfiguracji. Agent DSC weryfikuje podpisaną konfigurację węzła lokalnie na węźle zarządzanym. Weryfikacja zapewnia, że konfiguracja zastosowana do węzła pochodzi z autoryzowanego źródła.
Można również zaimportować konfiguracje węzłów, które zostały skompilowane poza Azure. Importowanie obejmuje kompilację ze stacji roboczej dewelopera lub usługi, takiej jak Azure DevOps. Takie podejście ma wiele zalet, w tym wydajność i niezawodność.
Uwaga
Plik konfiguracji węzła nie może być większy niż 1 MB, aby umożliwić Azure Automation importowanie go.
Aby uzyskać więcej informacji na temat podpisywania konfiguracji węzłów, zobacz Ulepszenia w programie WMF 5.1 — jak podpisać konfigurację i moduł.
Importowanie konfiguracji węzła w portalu Azure
Na koncie usługi Automation wybierz pozycję Konfiguracja stanu (DSC) w obszarze Zarządzanie konfiguracją.
Na stronie Konfiguracja stanu (DSC) wybierz kartę Konfiguracje , a następnie wybierz pozycję Dodaj.
Na stronie Importu wybierz ikonę folderu obok Pliku konfiguracji węzła, aby wyszukać plik MOF konfiguracji węzła na komputerze lokalnym.
Wprowadź nazwę w polu Nazwa konfiguracji. Ta nazwa musi być zgodna z nazwą konfiguracji, z której została skompilowana konfiguracja węzła.
Wybierz przycisk OK.
Importowanie konfiguracji węzła przy użyciu Azure PowerShell
Aby zaimportować konfigurację węzła do konta usługi Automation, użyj cmdletu Import-AzAutomationDscNodeConfiguration.
$importAzAutomationDscNodeConfigurationSplat = @{
AutomationAccountName = 'MyAutomationAccount'
ResourceGroupName = 'MyResourceGroup'
ConfigurationName = 'MyNodeConfiguration'
Path = 'C:\MyConfigurations\TestVM1.mof'
}
Import-AzAutomationDscNodeConfiguration @importAzAutomationDscNodeConfigurationSplat
Następne kroki
- Aby rozpocząć, zobacz Rozpocznij pracę z Konfiguracją Stanu Azure Automation.
- Aby dowiedzieć się więcej na temat kompilowania konfiguracji DSC w celu przypisania ich do węzłów docelowych, zobacz
Compile DSC configurations in Azure Automation State Configuration (Konfiguracje DSC Azure Automation State Configuration - Aby zapoznać się z dokumentacją poleceń cmdlet programu PowerShell, zobacz Az.Automation.
- Aby uzyskać informacje o cenach, zobacz cennik Azure Automation State Configuration.
- Aby zapoznać się z przykładem użycia State Configuration w potoku ciągłego wdrażania, zobacz Skonfiguruj ciągłe wdrażanie z Chocolatey.
- Aby rozwiązać problemy związane z kompilowaniem konfiguracji DSC w Azure Automation State Configuration, zobacz Rozwiązywanie problemów z Azure Automation State Configuration.