Можно ли использовать DSC для настройки IIS на рабочей станции Windows 10?

Я не мог найти это на веб-сайтах, и это кажется мне очевидным вариантом использования

Возможно ли запустить Windows Desired State Configuration / DSC на рабочей станции Windows 10?

Например, настройка сайтов IIS на машинах разработки с использованием DSC в режиме "Push" для localhost

2 ответа

Нет.

Интернет подразумевает, что это может быть и так, но я испытываю недостаток хороших простых руководств по быстрому старту, поэтому вот что я попробовал:

# TestDSC.ps1
Configuration TestDSC
{
    Import-DscResource -Module PSDesiredStateConfiguration, xWebAdministration

    WindowsFeature IIS
    {
        Ensure          = "Present"
        Name            = "Web-Server"
    }
    Node localhost
    {
        xWebsite DefaultSite
        {
            Ensure          = "Present"
            Name            = "Default Web Site"
            State           = "Stopped"
            PhysicalPath    = "C:\inetpub\wwwroot"
        }
    }
}

Затем запустите в Powershell:

 .\TestDSC.ps1
 TestDSC

И это должно вывести localhost.mof в TestDSC каталог

Запустить в режиме push:

Start-DscConfiguration -Wait -Verbose TestDSC

Сбой без WinRM

Клиент не может подключиться к месту назначения, указанному в запросе. Убедитесь, что служба в месте назначения работает и принимает запросы. Обратитесь к журналам и документации для службы WS-Management, работающей в месте назначения, чаще всего IIS или WinRM. Если местом назначения является служба WinRM, выполните следующую команду в месте назначения для анализа и настройки службы WinRM: "winrm quickconfig".

Но давайте попробуем этот интересный обходной путь: https://blogs.technet.microsoft.com/pstips/2017/03/01/using-dsc-with-the-winrm-service-disabled/

$configData = [byte[]][System.IO.File]::ReadAllBytes((Resolve-Path -Path '.\TestDSC\localhost.mof'))
Invoke-CimMethod -Namespace root/Microsoft/Windows/DesiredStateConfiguration -ClassName MSFT_DSCLocalConfigurationManager -Method SendConfigurationApply -Arguments @{ConfigurationData = $configData; force = $true}

О нет, почему ты не сказал мне начать с!

Ресурсу PowerShell DSC MSFT_RoleResource не удалось выполнить функциональность Test-TargetResource с сообщением об ошибке: Установка ролей и функций с использованием конфигурации требуемого состояния PowerShell поддерживается только в SKU сервера. Это не поддерживается в SKU клиента.

Windows 10 не является серверной SKU

Надеюсь, это поможет сэкономить время, около 2018 года. Я не рекомендую тратить время на дальнейшие исследования, но с нетерпением ждем обновлений от Microsoft (подсказка)

Я знаю, что невероятно опоздал, но я наткнулся на это, изучая IIS с DSC, и почувствовал, что полученный ответ вводит в заблуждение. Как человек, сделавший карьеру на использовании DSC для управления настольными компьютерами и серверами Windows, я могу с уверенностью сказать, что DSC поддерживается во всех версиях Windows после Win8/Server 2012. Точка.

Винда 7, 8, 8.1, 10, 11? Ага.
Windows Server 2012–2019 и более поздние версии? Тоже да! Контейнеры Windows всех вкусов? Абсолютно!

Вариант использования, приведенный в вопросе, на самом деле является одним из наиболее эффективных способов использования DSC. Если вы хотите создать рабочую станцию ​​разработчика с IIS, вам обязательно стоит написать для нее конфигурацию DSC. Затем вы можете применить эту конфигурацию DSC к своей локальной рабочей станции, виртуальной машине или даже контейнеру Windows для разработки вашей команды.

Верно сказать, что вы не можете использовать ресурс DSC «WindowsFeature» для установки IIS на настольные компьютеры с Windows 10. Но это не имеет никакого отношения ни к поддержке DSC в Windows 10, ни даже к поддержке IIS. Все это связано со странным разделением между двумя разными модулями, которые функционируют почти одинаково, но по каким-то причинам отличаются.

В Windows Server модуль «ServerManager» предоставляет доступ к «Install-WindowsFeature». Это то, что вы бы использовали для установки функции IIS, а также то, что ресурс DSC «WindowsFeature» использует для установки/удаления функций на серверах.

На рабочем столе Windows модуль «DISM» предоставляет доступ к «Enable-WindowsOptionalFeature». Он используется для установки клиентской версии Hyper-V или функции Windows 10 IIS. Это также то, что ресурс WindowsOptionalFeature использует для выполнения тех же функций.

Почему они разные? Почему Microsoft не объединила эти два модуля в один, который работал бы на обоих SKU? Твоя догадка так же хороша как и моя. Но, опять же, как человек, который этим зарабатывает на жизнь: да, вы можете на 100% использовать DSC на настольном компьютере.

Другие вопросы по тегам