Udostępnij przez


Rozszerzenie DSC programu PowerShell

Uwaga / Notatka

Rozszerzenie DSC zostanie wycofane 31 marca 2028 r. Przejdź do usługi Azure Machine Configuration do tej daty. Aby uzyskać więcej informacji, zobacz ogłoszenie w blogu . Usługa Azure Machine Configuration łączy niektóre funkcje rozszerzenia DSC, usługi Azure Automation State Configuration i często żądane funkcje opinii klientów. Usługa Azure Machine Configuration obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.

Przegląd

Rozszerzenie DSC programu PowerShell dla systemu Windows przekazuje i stosuje konfigurację DSC programu PowerShell na maszynie wirtualnej platformy Azure. Rozszerzenie DSC wywołuje do rozszerzenia 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.

Uwaga / Notatka

Wypróbuj pomoc maszyny wirtualnej, aby uzyskać szybszą diagnostykę. Zalecamy uruchomienie asysty maszyny wirtualnej dla systemu Windows lub asystenta maszyny wirtualnej dla systemu Linux. Te narzędzia diagnostyczne oparte na skryptach ułatwiają identyfikowanie typowych problemów, które mają wpływ na agenta gościa maszyny wirtualnej platformy Azure i ogólną kondycję maszyny wirtualnej.

Jeśli występują problemy z wydajnością maszyn wirtualnych, przed skontaktowaniem się z pomocą techniczną uruchom te narzędzia.

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

Internet connectivity

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 przechowywana poza platformą 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

Name Wartość / przykład Typ danych
apiVersion 2018-10-01 date
wydawca Microsoft.Powershell.DSC ciąg
typ DSC ciąg
wersjaTypeHandlera 2.77 int

Ustawienia Wartości właściwości

Name Typ danych Description
settings.wmfVersion ciąg Określa wersję programu Windows Management Framework, która powinna być zainstalowana na maszynie wirtualnej. Ustawienie tej właściwości na wartość "latest" powoduje 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 ciąg 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, ustaw 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 ciąg 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 ciąg 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 będzie szyfrowana.
settings.configurationData.url ciąg 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, ustaw właściwość protectedSettings.configurationDataUrlSasToken na wartość tokenu SAS.
settings.privacy.dataEnabled ciąg 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 powoduje 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 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 oznacza, czy węzeł został pomyślnie 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

Name Typ danych Description
protectedSettings.configurationArguments ciąg Definiuje wszelkie parametry, które chcesz przekazać do konfiguracji DSC.
protectedSettings.configurationUrlSasToken ciąg Określa token SAS, aby uzyskać dostęp do adresu URL zdefiniowanego przez adres configuration.url.
protectedSettings.configurationDataUrlSasToken ciąg Określa token SAS, aby uzyskać dostęp do adresu URL zdefiniowanego przez configurationData.url.

Template deployment

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

Troubleshoot

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 podstan i kody powodzenia/błędu stanu wraz ze szczegółowym błędem 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 Meaning 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
1 100 Błąd argumentu Wskazuje problem w danych wejściowych dostarczonych przez użytkownika. Komunikat o błędzie jest dostarczany przez określony wyjątek

Support

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ć incydent do pomocy technicznej Azure. Przejdź do witryny pomocy technicznej platformy Azure i wybierz pozycję Uzyskaj pomoc techniczną. Aby uzyskać informacje na temat korzystania z pomocy technicznej platformy Azure, przeczytaj często zadawane pytania dotyczące pomocy technicznej platformy Microsoft Azure.