मैं ऐड-वेब-कॉनफिगरेशन के बदसूरत सिंटैक्स का सहारा लिए बिना आईआईएस एप्लीकेशन पूल रीसायकल बार कैसे सेट कर सकता हूं?


9

मैं हमारे आईआईएस 7.5 उदाहरण के बिट्स और टुकड़ों के माध्यम से और अन्य लोगों की स्क्रिप्ट के माध्यम से स्क्रिप्टिंग कर रहा हूं जो मुझे एक सिंटैक्स के साथ आया है जो मुझे पसंद है:

$WebAppPoolUserName = "domain\user"
$WebAppPoolPassword = "password"

$WebAppPoolNames = @("Test","Test2")

ForEach ($WebAppPoolName in $WebAppPoolNames ) {
    $WebAppPool = New-WebAppPool -Name $WebAppPoolName  
    $WebAppPool.processModel.identityType = "SpecificUser"
    $WebAppPool.processModel.username = $WebAppPoolUserName
    $WebAppPool.processModel.password = $WebAppPoolPassword
    $WebAppPool.managedPipelineMode = "Classic"
    $WebAppPool.managedRuntimeVersion = "v4.0"
    $WebAppPool | set-item
}

मैंने इसे कई अलग-अलग तरीकों से देखा है, जो कम सुस्वादु हैं और मुझे यह पसंद है कि ऑब्जेक्ट गुण सेट करने का यह सिंटैक्स कुछ ऐसा दिखता है जैसे मैं टेकनेट पर देखता हूं :

Set-ItemProperty 'IIS:\AppPools\DemoPool' -Name recycling.periodicRestart.requests -Value 100000

एक बात मैं यह पता लगाने में सक्षम नहीं हुआ है कि इस सिंटैक्स का उपयोग करके रीसायकल शेड्यूल को कैसे सेटअप किया जाए।

यह आदेश ApplicationPoolDefaults सेट करता है, लेकिन बदसूरत है:

add-webconfiguration  system.applicationHost/applicationPools/applicationPoolDefaults/recycling/periodicRestart/schedule -value (New-TimeSpan -h 1 -m 30)

मैंने पूर्व में appcmd के माध्यम से निम्नलिखित कुछ का उपयोग करके ऐसा किया है, लेकिन मैं वास्तव में यह सब शक्तियां के माध्यम से करना चाहूंगा:

%appcmd% set apppool "BusinessUserApps" /+recycling.periodicRestart.schedule.[value='01:00:00']

मैंने कोशिश की है:

$WebAppPool.recycling.periodicRestart.schedule = (New-TimeSpan -h 1 -m 30)

जब तक मैं $ WebAppPool = get-item iis: \ AppPools \ AppPoolName चर को ताज़ा करने के लिए उपयोग नहीं करता है, तब तक .schedule प्रॉपर्टी को एक टाइमपैन में बदलने का विषम प्रभाव होता है।

वहाँ भी है, $WebappPool.recycling.periodicRestart.schedule.Collection लेकिन संग्रह पर कोई जोड़ () फ़ंक्शन नहीं है और मुझे इसे संशोधित करने का कोई अन्य तरीका नहीं मिला है।

क्या किसी को मेरे द्वारा लिखे गए कोड के अनुरूप सिंटैक्स का उपयोग करके मैं निर्धारित रीसायकल समय निर्धारित कर सकता हूं?


क्या आपने कभी इसका पता लगाया?
JohannesH

जवाबों:


10

मैं कभी भी यह पता नहीं लगा सका कि इसे ऑब्जेक्ट पर कैसे सेट किया जाए, लेकिन इसे बनाने के बाद निम्नलिखित काम करता है:

clear-ItemProperty IIS:\AppPools\MyPoolName -Name Recycling.periodicRestart.schedule #clear values
set-ItemProperty IIS:\AppPools\MyAppPoolName -Name Recycling.periodicRestart.schedule -Value @{value="00:00:00"} #to set it to midnight

यह मेरे लिए काम करता है।
जौनी

0

तो बस नहीं

$webapppool.recycling.periodicrestart.schedule -Value "01:30:00" 

फिर? या टाइमस्पैन के बराबर एक ToString?

(मैं पॉवरशेल नहीं करता; बस आपके अन्य बिट्स के आधार पर एक सिंटैक्टिक अनुमान)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.