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

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

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

21.08.2008 19:39:44
2 ОТВЕТА
РЕШЕНИЕ

@ Крис победил меня на пути 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 не смешиваются в одном пуле приложений.

6
23.05.2017 10:33:14

Я нашел следующий скрипт в блоге 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 
2
21.08.2008 19:49:31