私はWindowsServer 2016 Nano(TP 5)でPowershellDSCを実行して実験してきました。構成を実行すると、次のエラーが発生します。
PowerShell DSCリソースMSFT_xWindowsFeatureがTest-TargetResource機能の実行に失敗しました。エラーメッセージが表示されます。PowerShellDesiredStateConfigurationを使用した役割と機能のインストールは、サーバーSKUでのみサポートされます。クライアントSKUではサポートされていません。
確かに、NanoはサーバーSKUですよね?
興味がある場合は、これが私が使用しているDSC構成です(1つの問題を修正する必要がありましたが、 https://github.com/PowerShell/xPSDesiredStateConfiguration/pull/258 を参照してください) :
Configuration Webserver
{
Import-DscResource -ModuleName xPSDesiredStateConfiguration
Node "172.28.128.9"
{
Log MyMessage
{
Message = "This installs IIS"
}
xWindowsFeature "Webserver"
{
Name = "Web-Server"
Ensure = "Present"
IncludeAllSubFeature = $TRUE
}
}
}
MSFT_xWindowsFeature.psm1のTest-TargetResource関数は、サーバーマネージャーのPSモジュール(nanoサーバーでは使用できません)をインポートしようとし、失敗した場合はその例外をスローします。
try
{
Import-Module -Name 'ServerManager' -ErrorAction Stop
}
catch [System.Management.Automation.RuntimeException] {
if ($_.Exception.Message -like "*Some or all identity references could not be translated*")
{
Write-Verbose $_.Exception.Message
}
else
{
Write-Verbose -Message $script:localizedData.ServerManagerModuleNotFoundMessage
New-InvalidOperationException -Message $script:localizedData.SkuNotSupported
}
}
catch
{
Write-Verbose -Message $script:localizedData.ServerManagerModuleNotFoundMessage
New-InvalidOperationException -Message $script:localizedData.SkuNotSupported
}
そのエラーメッセージのテキストは、サーバーがクライアントSKUであるかどうかについて必ずしも正確ではなく、MSFT_xWindowsFeature.strings.psd1で定義されています。
SkuNotSupported = Installing roles and features using PowerShell Desired State Configuration is supported only on Server SKU's. It is not supported on Client SKU.