VBScript / IIS - Как автоматически установить версию ASP.NET для определенного веб-сайта - PullRequest
2 голосов
/ 21 августа 2008

Мне нужно сценарий создания пулов приложений и веб-сайтов на IIS 6.0. Я смог создать их с помощью adsutil.vbs и iisweb.vbs, но не знаю, как установить версию ASP.NET для сайтов, которые я только что создал, на 2.0.50727.0.

В идеале я хотел бы добавить adsutil.vbs для обновления метабазы. Как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 22 августа 2008

@ Крис побил меня до удара по пути ADSI

Это можно сделать с помощью инструмента aspnet_regiis.exe. Существует один из этих инструментов для каждой версии ASP.NET, установленной на компьютере. Вы могли бы раскошелиться на -

Это настраивает ASP.NET 1.1

%windir%\microsoft.net\framework\v1.1.4322\aspnet_regiis -s W3SVC/[iisnumber]/ROOT

Это настраивает ASP.NET 2.0

%windir%\microsoft.net\framework\v2.0.50727\aspnet_regiis -s W3SVC/[iisnumber]/ROOT

Возможно, вы уже знаете это, но если на вашем компьютере установлено несколько сайтов 1.1 и 2.0, просто не забудьте переключить веб-сайт, на котором вы меняете версии ASP.NET, на совместимый пул приложений. Сайты ASP.NET 1.1 и 2.0 не смешиваются в одном пуле приложений.

2 голосов
/ 21 августа 2008

Я нашел следующий скрипт , опубликованный в блоге Diablo Pup. Использует автоматизацию ADSI.

'******************************************************************************************
' Name: SetASPDotNetVersion
' Description: Set the script mappings for the specified ASP.NET version
' Inputs: objIIS, strNewVersion
'******************************************************************************************
Sub SetASPDotNetVersion(objIIS, strNewVersion)
 Dim i, ScriptMaps, arrVersions(2), thisVersion, thisScriptMap
 Dim strSearchText, strReplaceText

 Select Case Trim(LCase(strNewVersion))
  Case "1.1"
   strReplaceText = "v1.1.4322"
  Case "2.0"
   strReplaceText = "v2.0.50727"
  Case Else
   wscript.echo "WARNING: Non-supported ASP.NET version specified!"
   Exit Sub
 End Select

 ScriptMaps = objIIS.ScriptMaps
 arrVersions(0) = "v1.1.4322"
 arrVersions(1) = "v2.0.50727"
 'Loop through all three potential old values
 For Each thisVersion in arrVersions
  'Loop through all the mappings
  For thisScriptMap = LBound(ScriptMaps) to UBound(ScriptMaps)
   'Replace the old with the new 
   ScriptMaps(thisScriptMap) = Replace(ScriptMaps(thisScriptMap), thisVersion, strReplaceText)
  Next
 Next 

 objIIS.ScriptMaps = ScriptMaps
 objIIS.SetInfo
 wscript.echo "<-------Set ASP.NET version to " & strNewVersion & " successfully.------->"
End Sub 
...