Я сделал этот очень простой скрипт DSC. Что в основном создает веб-приложение на веб-сайте по умолчанию.
Configuration ConfigureWebApp
{
param ($MachineName)
Import-DscResource -Module xWebAdministration
Node $MachineName
{
xWebApplication NewWebApplication
{
Name = "MyApp"
Website = "Default Web Site"
WebAppPool = "DefaultAppPool"
PhysicalPath = "C:\Inetpub\wwwroot\MyApp"
Ensure = "Present"
}
}
}
cd "C:\Dsc\scripts"
ConfigureWebApp -MachineName "WIN-KPURIN2B87H"
Когда я запускаю сгенерированный файл MOF, он выдает следующую ошибку.
Поставщик PowerShell xWebAdministration не существует в пути к модулю PowerShell и не зарегистрирован в качестве поставщика WMI. + CategoryInfo: InvalidOperation: (root/Microsoft/...gurationManager:String) [], CimException + FullyQualifiedErrorId: ModuleNameNotFound + PSComputerName: WIN-KPURIN2B87H
Если я запускаю Get-Module -ListAvailable
, там будет указан xWebAdministration. Я проверил, что $env:PSModulePath
включает "C:\Program Files\WindowsPowerShell\Modules"
Странно то, что этот сценарий DSC является частью более крупного сценария, который объединяет множество других сценариев DSC, которые устанавливают и настраивают IIS для этого приложения. И вроде нормально проходят.
Я использую Windows Server 2012 R2. И это не сервер PULL или PUSH. Я создаю и запускаю файл MOF локально. Есть ли у кого-нибудь предложения о том, что мне здесь не хватает? У меня есть ощущение, что это как-то связано с пользовательским контекстом, в котором выполняются эти сценарии, но просто не могу точно определить причину.
Включая выпуск "tree "C:\Program Files\WindowsPowerShell\Modules\xWebAdministration" /F "
Folder PATH listing
Volume serial number is 80FD-C8E9
C:\PROGRAM FILES\WINDOWSPOWERSHELL\MODULES\XWEBADMINISTRATION
³ TechNetDocumentation-xWebAdministration.docx
³ TechNetDocumentation_xWebAdministration.html
³ xWebAdministration.psd1
³
ÃÄÄÄDSCResources
³ ÃÄÄÄMSFT_xIisModule
³ ³ MSFT_xIisModule.psm1
³ ³ MSFT_xIisModule.schema.mof
³ ³ xIisModuleDesigner.ps1
³ ³
³ ÃÄÄÄMSFT_xWebApplication
³ ³ MSFT_xWebApplication.psm1
³ ³ MSFT_xWebApplication.schema.mof
³ ³
³ ÃÄÄÄMSFT_xWebAppPool
³ ³ MSFT_xWebAppPool.psm1
³ ³ MSFT_xWebAppPool.schema.mof
³ ³
³ ÃÄÄÄMSFT_xWebConfigKeyValue
³ ³ MSFT_xWebConfigKeyValue.psm1
³ ³ MSFT_xWebConfigKeyValue.schema.mof
³ ³
³ ÃÄÄÄMSFT_xWebDeploy
³ ³ MSFT_xWebdeploy.psm1
³ ³ MSFT_xWebdeploy.schema.mof
³ ³
³ ÃÄÄÄMSFT_xWebsite
³ ³ MSFT_xWebsite.psm1
³ ³ MSFT_xWebsite.schema.mof
³ ³
³ ÀÄÄÄMSFT_xWebVirtualDirectory
³ MSFT_xWebVirtualDirectory.psm1
³ MSFT_xWebVirtualDirectory.schema.mof
³
ÀÄÄÄExamples
BakeryWebsite.zip
README.md
Sample_xWebsite_ConfigurationData.psd1
Sample_xWebsite_NewWebsite.ps1
Sample_xWebsite_NewWebsiteFromConfigurationData.ps1
Sample_xWebsite_RemoveDefault.ps1
tree "C:\Program Files\WindowsPowerShell\Modules\xWebAdministration" /F
на целевом узле? Возможно, структура каталогов не совсем правильная. - person briantist   schedule 18.06.2015Start-DscConfiguration
), поэтому, пожалуйста, объясните более подробно, как вы применяете конфигурацию. - person briantist   schedule 18.06.2015Push
. Не существует такого понятия, как серверPush
, но если бы вы использовали режимPull
, вам потребовался бы серверPull
. Выводtree
выглядит хорошо. Интересно, может быть, вы не разблокировали ZIP-файл перед его распаковкой? Если это так, то все файлы будут иметь пометку сети. Вы можете попробовать это очень быстро:gci 'C:\Program Files\WindowsPowerShell\Modules\xWebAdministration' | % { Unblock-File $_.FullName }
- person briantist   schedule 18.06.2015xPendingReboot
, и это сработало. Спасибо за вашу помощь. - person JackLock   schedule 19.06.2015