VBScript/IIS - Comment définir automatiquement la version ASP.NET pour un site Web particulier
-
09-06-2019 - |
Question
J'ai besoin de créer un script pour la création de pools d'applications et de sites Web sur IIS 6.0.J'ai pu les créer à l'aide de adsutil.vbs et iisweb.vbs, mais je ne sais pas comment définir la version d'ASP.NET pour les sites que je viens de créer sur 2.0.50727.0.
Idéalement, j'aimerais que adsutil.vbs mette à jour la métabase.Comment puis-je faire cela?
La solution
@Chris m'a battu jusqu'au bout sur la voie ADSI
Vous pouvez le faire à l'aide de l'outil aspnet_regiis.exe.Il existe un de ces outils par version d'ASP.NET installée sur la machine.Vous pourriez débourser pour -
Ceci configure ASP.NET 1.1
%windir%\microsoft.net\framework\v1.1.4322\aspnet_regiis -s W3SVC/[iisnumber]/ROOT
Ceci configure ASP.NET 2.0
%windir%\microsoft.net\framework\v2.0.50727\aspnet_regiis -s W3SVC/[iisnumber]/ROOT
Vous le savez probablement déjà, mais si vous avez plusieurs sites 1.1 et 2.0 sur votre ordinateur, n'oubliez pas de basculer le site Web sur lequel vous modifiez les versions d'ASP.NET vers un pool d'applications compatible.Les sites ASP.NET 1.1 et 2.0 ne se mélangent pas dans le même pool d'applications.
Autres conseils
J'ai trouvé le script suivant posté sur le blog de Diablo Pup.Il utilise l'automatisation 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