Rozszerzenie DSC programu PowerShell
Uwaga
Przed włączeniem rozszerzenia DSC chcielibyśmy wiedzieć, że nowsza wersja rozszerzenia DSC jest teraz ogólnie dostępna, zarządzana przez funkcję konfiguracji maszyny o nazwie Azure Automange. Funkcja konfiguracji maszyny łączy funkcje programu obsługi rozszerzenia Desired State Configuration (DSC), usługi Azure Automation State Configuration i najczęściej żądanych funkcji z opinii klientów. Konfiguracja maszyny obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.
Omówienie
Rozszerzenie DSC programu PowerShell dla systemu Windows jest publikowane i obsługiwane przez firmę Microsoft. Rozszerzenie przekazuje i stosuje konfigurację DSC programu PowerShell na maszynie wirtualnej platformy Azure. Rozszerzenie DSC wywołuje rozszerzenie DSC programu PowerShell, aby wprowadzić odebraną konfigurację DSC na maszynie wirtualnej. Ten dokument zawiera szczegółowe informacje o obsługiwanych platformach, konfiguracjach i opcjach wdrażania rozszerzenia maszyny wirtualnej DSC dla systemu Windows.
Wymagania wstępne
System operacyjny
Rozszerzenie DSC obsługuje następujące systemy operacyjne
Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012R2, Windows Server 2012, Windows Server 2008 R2 SP1, Windows Client 7/8.1/10
Łączność z Internetem
Rozszerzenie DSC dla systemu Windows wymaga, aby docelowa maszyna wirtualna mogła komunikować się z platformą Azure i lokalizacją pakietu konfiguracji (.zip pliku), jeśli jest on przechowywany w lokalizacji spoza platformy Azure.
Schemat rozszerzenia
Poniższy kod JSON przedstawia schemat części ustawień rozszerzenia DSC w szablonie usługi Azure Resource Manager.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "Microsoft.Powershell.DSC",
"apiVersion": "2018-10-01",
"location": "<location>",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.77",
"autoUpgradeMinorVersion": true,
"settings": {
"wmfVersion": "latest",
"configuration": {
"url": "http://validURLToConfigLocation",
"script": "ConfigurationScript.ps1",
"function": "ConfigurationFunction"
},
"configurationArguments": {
"argument1": "Value1",
"argument2": "Value2"
},
"configurationData": {
"url": "https://foo.psd1"
},
"privacy": {
"dataCollection": "enable"
},
"advancedOptions": {
"forcePullAndApply": false,
"downloadMappings": {
"specificDependencyKey": "https://myCustomDependencyLocation"
}
}
},
"protectedSettings": {
"configurationArguments": {
"parameterOfTypePSCredential1": {
"userName": "UsernameValue1",
"password": "PasswordValue1"
},
"parameterOfTypePSCredential2": {
"userName": "UsernameValue2",
"password": "PasswordValue2"
}
},
"configurationUrlSasToken": "?g!bber1sht0k3n",
"configurationDataUrlSasToken": "?dataAcC355T0k3N"
}
}
}
Wartości właściwości
Nazwisko | Wartość / przykład | Typ danych |
---|---|---|
apiVersion | 2018-10-01 | data |
wydawca | Microsoft.Powershell.DSC | string |
type | DSC | string |
typeHandlerVersion | 2.77 | int |
Ustawienia Wartości właściwości
Nazwisko | Typ danych | opis |
---|---|---|
settings.wmfVersion | string | Określa wersję programu Windows Management Framework, która powinna być zainstalowana na maszynie wirtualnej. Ustawienie tej właściwości na wartość "latest" spowoduje zainstalowanie najbardziej zaktualizowanej wersji programu WMF. Jedyne możliwe wartości dla tej właściwości to "4.0", "5.0" i "latest". Te możliwe wartości podlegają aktualizacjom. Wartość domyślna to "latest". |
settings.configuration.url | string | Określa lokalizację adresu URL, z której chcesz pobrać plik zip konfiguracji DSC. Jeśli podany adres URL wymaga tokenu SAS na potrzeby dostępu, należy ustawić właściwość protectedSettings.configurationUrlSasToken na wartość tokenu SAS. Ta właściwość jest wymagana, jeśli zdefiniowano parametr settings.configuration.script i/or settings.configuration.function. |
settings.configuration.script | string | Określa nazwę pliku skryptu, który zawiera definicję konfiguracji DSC. Ten skrypt musi znajdować się w folderze głównym pliku zip pobranego z adresu URL określonego przez właściwość configuration.url. Ta właściwość jest wymagana, jeśli zdefiniowano ustawienia.configuration.url i/lub settings.configuration.script. |
settings.configuration.function | string | Określa nazwę konfiguracji DSC. Konfiguracja o nazwie musi znajdować się w skrycie zdefiniowanym przez plik configuration.script. Ta właściwość jest wymagana, jeśli zdefiniowano ustawienia.configuration.url i/lub settings.configuration.function. |
settings.configurationArguments | Kolekcja | Definiuje wszelkie parametry, które chcesz przekazać do konfiguracji DSC. Ta właściwość nie zostanie zaszyfrowana. |
settings.configurationData.url | string | Określa adres URL, z którego ma być pobierany plik danych konfiguracji (pds1), który ma być używany jako dane wejściowe dla konfiguracji DSC. Jeśli podany adres URL wymaga tokenu SAS na potrzeby dostępu, należy ustawić właściwość protectedSettings.configurationDataUrlSasToken na wartość tokenu SAS. |
settings.privacy.dataEnabled | string | Włącza lub wyłącza zbieranie danych telemetrycznych. Jedynymi możliwymi wartościami tej właściwości są "Enable", "Disable", "lub $null. Pozostawienie tej właściwości pustej lub null spowoduje włączenie telemetrii |
settings.advancedOptions.forcePullAndApply | Bool | To ustawienie zostało zaprojektowane w celu ulepszenia środowiska pracy z rozszerzeniem w celu rejestrowania węzłów w usłudze Azure Automation DSC. Jeśli wartość to $true , rozszerzenie będzie czekać na pierwsze uruchomienie konfiguracji pobranej z usługi przed zwróceniem powodzenia/niepowodzenia. Jeśli wartość jest ustawiona na $false, stan zwrócony przez rozszerzenie będzie odnosić się tylko do tego, czy węzeł został zarejestrowany w usłudze Azure Automation State Configuration, a konfiguracja węzła nie zostanie uruchomiona podczas rejestracji. |
settings.advancedOptions.downloadMappings | Kolekcja | Definiuje alternatywne lokalizacje do pobierania zależności, takich jak WMF i .NET |
Wartości właściwości ustawień chronionych
Nazwisko | Typ danych | opis |
---|---|---|
protectedSettings.configurationArguments | string | Definiuje wszelkie parametry, które chcesz przekazać do konfiguracji DSC. Ta właściwość zostanie zaszyfrowana. |
protectedSettings.configurationUrlSasToken | string | Określa token SAS, aby uzyskać dostęp do adresu URL zdefiniowanego przez adres configuration.url. Ta właściwość zostanie zaszyfrowana. |
protectedSettings.configurationDataUrlSasToken | string | Określa token SAS, aby uzyskać dostęp do adresu URL zdefiniowanego przez configurationData.url. Ta właściwość zostanie zaszyfrowana. |
Wdrażanie na podstawie szablonu
Rozszerzenia maszyn wirtualnych platformy Azure można wdrażać za pomocą szablonów usługi Azure Resource Manager. Szablony są idealne podczas wdrażania co najmniej jednej maszyny wirtualnej wymagającej konfiguracji po wdrożeniu. Przykładowy szablon usługi Resource Manager zawierający rozszerzenie DSC dla systemu Windows można znaleźć w galerii Szybki start platformy Azure.
Rozwiązywanie problemów i pomoc techniczna
Rozwiązywanie problemów
Dane dotyczące stanu wdrożeń rozszerzeń można pobrać z witryny Azure Portal i przy użyciu interfejsu wiersza polecenia platformy Azure. Aby wyświetlić stan wdrożenia rozszerzeń dla danej maszyny wirtualnej, uruchom następujące polecenie przy użyciu interfejsu wiersza polecenia platformy Azure.
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
Pakiet rozszerzenia jest pobierany i wdrażany w tej lokalizacji na maszynie wirtualnej platformy Azure
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}
Plik stanu rozszerzenia zawiera kody powodzenia/błędu podstanu i stanu wraz ze szczegółowymi informacjami o błędzie i opisem każdego uruchomienia rozszerzenia.
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}\Status\{0}.Status -> {0} being the sequence number
Dzienniki wyjściowe rozszerzenia są rejestrowane w następującym katalogu:
C:\WindowsAzure\Logs\Plugins\{Extension_Name}\{Extension_Version}
Kody błędów i ich znaczenie
Kod błędu | Znaczenie | Możliwe działanie |
---|---|---|
1000 | Błąd ogólny | Komunikat o tym błędzie jest dostarczany przez określony wyjątek w dziennikach rozszerzeń |
52 | Błąd instalacji rozszerzenia | Komunikat o tym błędzie jest dostarczany przez określony wyjątek |
1002 | Błąd instalacji programu Wmf | Błąd podczas instalowania programu WMF. |
1004 | Nieprawidłowy pakiet zip | Nieprawidłowy plik zip ; Błąd podczas rozpakowywania pliku zip |
1100 | Błąd argumentu | Wskazuje problem w danych wejściowych dostarczonych przez użytkownika. Komunikat o błędzie jest dostarczany przez określony wyjątek |
Pomoc techniczna
Jeśli potrzebujesz więcej pomocy w dowolnym momencie tego artykułu, możesz skontaktować się z ekspertami platformy Azure na forach MSDN Azure i Stack Overflow. Alternatywnie możesz zgłosić zdarzenie pomoc techniczna platformy Azure. Przejdź do witryny pomoc techniczna platformy Azure i wybierz pozycję Uzyskaj pomoc techniczną. Aby uzyskać informacje na temat korzystania z pomocy technicznej platformy Azure, zapoznaj się z często zadawanymi pytaniami dotyczącymi usługi Microsoft pomoc techniczna platformy Azure.