VBScript/IIS - كيف أقوم تلقائيًا بتعيين إصدار ASP.NET لموقع ويب معين
-
09-06-2019 - |
سؤال
أحتاج إلى كتابة البرنامج النصي لإنشاء تجمعات التطبيقات ومواقع الويب على IIS 6.0.لقد تمكنت من إنشاء هذه المواقع باستخدام Adsutil.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