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

StackOverflow https://stackoverflow.com/questions/20923

Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

Я нашел следующий скрипт опубликовано в блоге 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 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top