Szybki start — tworzenie witryny internetowej przy użyciu Desired State Configuration (DSC)

Dotyczy: Windows PowerShell 4.0, Windows PowerShell 5.0

W tym ćwiczeniu przedstawiono tworzenie i stosowanie konfiguracji Desired State Configuration (DSC) od początku do końca. W przykładzie, którego użyjemy, gwarantuje, że serwer ma Web-Server włączoną funkcję (IIS), a zawartość prostej witryny internetowej "Hello world" znajduje się w inetpub\wwwroot katalogu tego serwera.

Aby zapoznać się z omówieniem tego, co to jest rozszerzenie DSC i jak działa, zobacz Desired State Configuration Omówienie dla osób podejmujących decyzje.

Wymagania

Do uruchomienia tego przykładu potrzebny będzie komputer z systemem Windows Server 2012 lub nowszym oraz programem PowerShell 4.0 lub nowszym.

Zapisywanie i umieszczanie pliku index.htm

Najpierw utworzymy plik HTML, który będzie używany jako zawartość witryny internetowej.

W folderze głównym utwórz folder o nazwie test.

W edytorze tekstów wpisz następujący tekst:

<head></head>
<body>
<p>Hello World!</p>
</body>

Zapisz to tak, jak index.htm w utworzonym test wcześniej folderze.

Zapisywanie konfiguracji

Konfiguracja DSC to specjalna funkcja programu PowerShell, która definiuje sposób konfigurowania co najmniej jednego komputera docelowego (węzłów).

W programie PowerShell ISE wpisz następujące polecenie:

Configuration WebsiteTest {

    # Import the module that contains the resources we're using.
    Import-DscResource -ModuleName PsDesiredStateConfiguration

    # The Node statement specifies which targets this configuration will be applied to.
    Node 'localhost' {

        # The first resource block ensures that the Web-Server (IIS) feature is enabled.
        WindowsFeature WebServer {
            Ensure = "Present"
            Name   = "Web-Server"
        }

        # The second resource block ensures that the website content copied to the website root folder.
        File WebsiteContent {
            Ensure = 'Present'
            SourcePath = 'c:\test\index.htm'
            DestinationPath = 'c:\inetpub\wwwroot'
        }
    }
}

Zapisz plik jako WebsiteTest.ps1.

Widać, że wygląda ona jak funkcja programu PowerShell z dodaniu słowa kluczowego Konfiguracja użyta przed nazwą funkcji.

Blok Node określa węzeł docelowy do skonfigurowania. W tym przypadku wartość localhost.

Konfiguracja wywołuje dwa zasoby: WindowsFeature i File. Zasoby wykonują pracę nad zapewnieniem, że węzeł docelowy znajduje się w stanie zdefiniowanym przez konfigurację.

Kompilowanie konfiguracji

Aby konfiguracja DSC została zastosowana do węzła, należy najpierw skompilować ją do pliku MOF. W tym celu należy uruchomić konfigurację, taką jak funkcja. W konsoli programu PowerShell przejdź do tego samego folderu, w którym zapisano konfigurację, i uruchom następujące polecenia, aby skompilować konfigurację do pliku MOF:

. .\WebsiteTest.ps1
WebsiteTest

Spowoduje to wygenerowanie następujących danych wyjściowych:

Directory: C:\ConfigurationTest\WebsiteTest


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        3/13/2017   5:20 PM           2746 localhost.mof

Pierwszy wiersz udostępnia funkcję konfiguracji w konsoli programu . Drugi wiersz uruchamia konfigurację. W rezultacie nowy folder o nazwie WebsiteTest jest tworzony jako podfolder bieżącego folderu. Folder WebsiteTest zawiera plik o nazwie localhost.mof. Jest to plik, który można następnie zastosować do węzła docelowego.

Stosowanie konfiguracji

Teraz, gdy masz skompilowany plik MOF, możesz zastosować konfigurację do węzła docelowego (w tym przypadku komputera lokalnego), wywołując polecenie cmdlet Start-DscConfiguration .

Polecenie Start-DscConfiguration cmdlet informuje Configuration Manager lokalnego (LCM), który jest aparatem DSC, aby zastosować konfigurację. Narzędzie LCM wykonuje pracę wywoływania zasobów DSC w celu zastosowania konfiguracji.

Uwaga

Aby umożliwić uruchamianie rozszerzenia DSC, system Windows musi być skonfigurowany do odbierania poleceń zdalnych programu PowerShell, nawet w przypadku uruchamiania localhost konfiguracji. Aby łatwo skonfigurować środowisko prawidłowo, wystarczy uruchomić polecenie Set-WsManQuickConfig -Force w terminalu programu PowerShell z podwyższonym poziomem uprawnień.

W konsoli programu PowerShell przejdź do tego samego folderu, w którym zapisano konfigurację, i uruchom następujące polecenie:

Start-DscConfiguration .\WebsiteTest

Testowanie konfiguracji

Możesz wywołać polecenie cmdlet Get-DscConfigurationStatus , aby sprawdzić, czy konfiguracja zakończyła się pomyślnie.

Możesz również przetestować wyniki bezpośrednio, w tym przypadku przechodząc do http://localhost/ w przeglądarce internetowej. Powinna zostać wyświetlona strona HTML "Hello world" utworzona jako pierwszy krok w tym przykładzie.

Następne kroki