目前,我可以使用以下语法为IIS6上的主网站设置mime类型:
cscript adsutil.vbs set W3SVC/1/Root/MimeMap ".manifest, text/cache-manifest"当我只需要以W3SVC/1为目标时,这似乎工作得很好。
我需要编写一个更新脚本,以确保给定IIS6安装上的任何站点都配置了正确的mime类型。我可以将mime类型添加到每个单独的站点,也可以添加到全局级别。我需要通过编程来做到这一点,并希望在所有可能的情况下使用adsutil.vbs。
发布于 2010-01-15 01:34:45
我认为更简单的方法是只修改每个服务器上的mime类型,你只需要做一次,更改就会级联到每个网站上,但是为什么你要重写.vbs mime类型呢?你最好创建一个自定义的。
或者,您可以在IIS的元数据库中设置更改,您只需在每个服务器上将enable direct Metabase edit设置为true,然后通过代码进行更改。
发布于 2012-02-17 12:11:19
您可以使用ADSI和Powershell2.0。
$adsiPrefix = "IIS://$serverName"
$iisPath = "W3SVC"
$iisADSI = [ADSI]"$adsiPrefix/$iisPath"
$site = $iisADSI.Create("IISWebServer", $script:webSiteNumber)
$xapMimeType = New-Object -comObject MimeMap
SetCOMProperty $xapMimeType "Extension" ".xap"
SetCOMProperty $xapMimeType "MimeType" "application/x-silverlight-app"
$site.Properties["MimeMap"].Add($xapMimeType)
$site.SetInfo()
$site.CommitChanges()
function SetCOMProperty($target, $member, $value) {
$target.psbase.GetType().InvokeMember($member, [System.Reflection.BindingFlags]::SetProperty, $null, $target, $value)
}https://stackoverflow.com/questions/1910658
复制相似问题