VBScript/IIS - كيف أقوم تلقائيًا بتعيين إصدار ASP.NET لموقع ويب معين

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

سؤال

أحتاج إلى كتابة البرنامج النصي لإنشاء تجمعات التطبيقات ومواقع الويب على 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 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top