53

मैं यह देखने के लिए देख रहा हूं कि उपयोग करने के लिए .NET Framework के संस्करण को निर्दिष्ट करने के लिए IIS PowerShell Cmdlet नया-WebAppPool का उपयोग कैसे कर सकता हूं। वर्तमान में, यह v2.0 पर डिफ़ॉल्ट है, हालांकि मैं एमवीसी का उपयोग कर रहा हूं, और यह काम नहीं करेगा क्योंकि यह एक v4.0 सुविधा है। हम वास्तव में चाहते हैं कि प्रत्येक साइट का अपना स्वयं का एप्लिकेशन पूल हो, और ऐसा लगता है कि हमें स्क्रिप्ट के माध्यम से कॉन्फ़िगर करने में असमर्थता के कारण मैन्युअल रूप से उन पूलों को बनाना होगा। क्या इसे स्वचालित करने का कोई तरीका है?नया-WebAppPool का उपयोग करते समय मैं .NET Framework संस्करण कैसे सेट करूं?

मुझे डर है कि उत्तर "आप नहीं कर सकते" होने जा रहा है क्योंकि documentation इसे स्थापित करने के लिए किसी भी पैरामीटर की पेशकश नहीं करता है, और Google स्क्वाट बदल रहा है; यह मुझे इंप्रेशन दे रहा है कि केवल लिखित तरीके से साइट्स सेट अप करना स्वीकार्य है, और एप्लिकेशन पूल को कॉन्फ़िगर करने के बारे में कुछ सिर्फ "नहीं किया गया है।" मैं संभवतः कल्पना नहीं कर सकता कि क्यों नहीं - यदि आप प्रक्रिया का एक बड़ा हिस्सा स्वचालित कर रहे हैं, तो आप अन्य प्रमुख भाग को स्वचालित क्यों नहीं कर सकते?

कोई भी जो PowerShell के माध्यम से ऐसा करने के बारे में कुछ अंतर्दृष्टि प्राप्त कर सकता है, वह मुझे बहुत मदद करेगा।

उत्तर

90
WebAdministration मॉड्यूल के साथ

भरी हुई एक पूल आपके द्वारा बनाए गए पर इस कोशिश: यहां settable गुण की एक सूची है

Set-ItemProperty IIS:\AppPools\<pool_name> managedRuntimeVersion v4.0 
+23

विस्तार स्क्रिप्ट डाउनलोड कर सकते हैं: http : //msdn.microsoft.com/en-us/library/aa347554 (v = VS.90) .aspx –

0
Import-Module WebAdministration 
#Get all web sites 
dir IIS:\Sites | ForEach-Object { 
    #Go to the app pools root 
    cd IIS:\AppPools\ 
    if (!(Test-Path $_.Name -pathType container)) 
    { 
    #Create the app pool and set .net framework version 
    $appPool = New-Item $_.Name 
    $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value $IISAppPoolDotNetVersion 
    #Go to the web sites root 
    cd IIS:\Sites\ 
    $iisApp = Get-Item $_.Name 
    $iisApp | Set-ItemProperty -Name "applicationPool" -Value $_.Name 
    } 
    else { 
    $dotNetVersion = (Get-ItemProperty $_.Name managedRuntimeVersion).Value 
    if ($dotNetVersion -ne $IISAppPoolDotNetVersion){ 
     #Get the app pool and set .net framework version 
     $appPool = Get-Item $_.Name 
     $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value $IISAppPoolDotNetVersion  
    } 
    } 
} 

आप से how to set the IIS Application Pool to specify version of the .NET Framework

संबंधित मुद्दे