2017-04-23 3 views
-1

xWebAdministration DSCモジュールを使用して静的\動的http圧縮を設定する方法はありますか?限り、私はDSCは、それらを構成する直接的な方法を提供していないが、多分xWebConfigKeyValueはそれを行うことができます理解する?もしそうなら、いくつかの例がありますか?DSCでIISを設定する

そしてまた、この:xIisHandlerで

New-WebHandler -Name "svc-ISAPI-4.0_64bit" -Path "*.svc" -Verb 'GET,POST' -Modules IsapiModule 
New-WebHandler -Name "svc-Integrated-4.0" -Path "*.svc" -Verb 'GET,POST' -Modules 'System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 

?しかしどのように?

ソリューション:

$mimeTypesDynamic = @(
    @{mimeType='text/*'; enabled='True'}, 
    @{mimeType='message/*'; enabled='True'}, 
    @{mimeType='application/x-javascript'; enabled='True'}, 
    @{mimeType='application/json'; enabled='True'}, 
    @{mimeType='application/json; charset=utf-8'; enabled='True'}, 
    @{mimeType='application/xml" enabled'; enabled='True'}, 
    @{mimeType='application/xml; charset=utf-8'; enabled='True'}, 
    @{mimeType='*/*'; enabled='false'} 
) 

$mimeTypesStatic = @(
    @{mimeType='text/*'; enabled='True'}, 
    @{mimeType='message/*'; enabled='True'}, 
    @{mimeType='application/x-javascript'; enabled='True'}, 
    @{mimeType='application/atom+xml'; enabled='True'}, 
    @{mimeType='application/xaml+xml'; enabled='True'}, 
    @{mimeType='*/*'; enabled='false'} 
) 

... 


Script configureMime { 
    SetScript = { 
     Remove-WebHandler -Name "svc-Integrated-4.0" -WarningAction SilentlyContinue 
     Remove-WebHandler -Name "svc-ISAPI-4.0_64bit" 
     Clear-WebConfiguration -filter "/system.webServer/httpCompression/dynamicTypes" -pspath IIS: -WarningAction SilentlyContinue 
     Clear-WebConfiguration -filter "/system.webServer/httpCompression/staticTypes" -pspath IIS: -WarningAction SilentlyContinue 
     foreach ($mimeD in $using:mimeTypesDynamic) { 
      Add-WebConfiguration "/system.webServer/httpCompression/dynamicTypes" -pspath IIS: -value $mimeD 
      New-Item c:\1 -ItemType Directory -ea 0 
     } 
     foreach ($mimeS in $using:mimeTypesStatic) { 
      Add-WebConfiguration "/system.webServer/httpCompression/staticTypes" -pspath IIS: -value $mimeS 
     } 
     New-WebHandler -Name "svc-ISAPI-4.0_64bit" -Path "*.svc" -Verb 'GET,POST' -Modules IsapiModule 
     New-WebHandler -Name "svc-Integrated-4.0" -Path "*.svc" -Verb 'GET,POST' -Modules 'System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 
    } 
    TestScript = { 
     $types = Get-WebConfigurationProperty -Filter "/system.webServer/httpCompression" -name dynamicTypes 
     $types.Collection.Length -eq 8 
    } 
    GetScript = { return @{ 'Result' = "Mimi Configuration" } } 
} 
+0

xIISHandlerのみハンドラの定義済みリストを受け付ける(https://github.com/PowerShell/xWebAdministration/ blob/dev/DSCResources/MSFT_xIIsHandler/MSFT_xIisHandler.psm1)。スクリプトリソースを使用することができます。 –

+0

ok、あなたは圧縮について知っていますか? @FrodeF。 – 4c74356b41

+0

おそらく、xwebconfigkeyvalue(またはスクリプトリソースを使用)が必要になるでしょう。 PowerShellの例を検索して、設定する必要があるパスと値を見つけてください。 –

答えて

1

xWebConfigKeyValueのみのAppSettings値をサポートしていますように私の知る限りxWebAdministrationのソースコードから見ることができるように見えるとxIISHandlerだけ事前に定義されたハンドラを受け入れます。したがって、スクリプトリソースを使用するか、これらの設定を構成するための独自のリソースを作成する必要があります(または、サードパーティ製のモジュールを見つける必要があります)。ここ

あなたが始めるためには、グローバルレベルでの動的および静的圧縮を変更するためのサンプルは以下のとおりです。

#Enable dynamicCompression global (remember to install dynamic compression feature first) 
Set-WebConfigurationProperty -Filter "/system.webServer/urlCompression" -PSPath IIS:\ -Name doDynamicCompression -Value "true" 

#Enable staticCompression global 
Set-WebConfigurationProperty -Filter "/system.webServer/urlCompression" -PSPath IIS:\ -Name doStaticCompression -Value "true" 
+0

これは別のものだと思いますか?つまり、urlCompression!= httpCompression?私はこれを行うために探していた: 'appcmd.exeは、設定 - セクション:system.webServer/httpCompression /+"staticTypes.[mimeType='text/*'enabled='True ']" /コミット:apphost'を設定します。そして、明らかに私はそれを真に設定することはできません、実際のデータ 'mimiType = 'text/*'(そしておそらく' enabled = 'True' 'も渡す必要があります)を渡す必要があります。また、 'Get-WebConfigurationProperty'で存在をテストできると思いますか? – 4c74356b41

+0

あなたが設定しようとしているものは決して指定していません....これは、http圧縮を有効/無効にする方法です。 httpcompression-sectionは、いったん有効になると動作する方法を定義するために使用されます。参考までに、私はこの疑問を明確にするために投票を終了しました。 StackOverflowのヘルプを読んで質問を更新してください。 –

+0

よく、ありがとう、ありがとう、しかし、あなたはおそらく分かったように、私はここで7Kの評価を持っていると私はかなり良いルールが、私はIISで働いたことがないので、この質問をすることができます。 – 4c74356b41

関連する問題