2008-08-21 18 views
2

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

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

ответ

6

@Chris бил меня на удар по пути 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

Я нашел следующий сценарий posted в блоге 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