2010-11-13 19 views
16

मैं पावरशेल गेट-वेबसाइट cmdlet का उपयोग करके विशिष्ट आईआईएस 7 वेबसाइट के बारे में जानकारी पुनर्प्राप्त करना चाहता हूं। दुर्भाग्यवश, गेट-वेबसाइट सभी वेबसाइटों के लिए जानकारी देता है, भले ही -नाम पैरामीटर मैं पास करता हूं। ऐसा लगता है कि -नाम पैरामीटर को अनदेखा किया जाता है।पावरहेल गेट-वेबसाइट नाम पैरामीटर को अनदेखा किया जाता है

उदाहरण के लिए, अगर मैं का उपयोग करें:

Import-Module WebAdministration 
Get-Website -Name "Test Website" 

मैं अपने मशीन पर सभी वेबसाइटों के लिए जानकारी प्राप्त करेंगे: प्रलेखन प्राप्त करें-वेबसाइट के अनुसार

Name    ID State  Physical Path     Bindings 
----    -- -----  -------------     -------- 
Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot http *:80: 
                   net.tcp 808:* 
                   net.pipe * 
                   net.msmq localhost 
                   msmq.formatname localhost 
Test Website  2 Started C:\websites\test    http *:80:test.mydomain.com 

निर्दिष्ट वेबसाइट के लिए जानकारी लौटना चाहिए -नाम पैरामीटर में। मुझे दस्तावेज को गलतफहमी या cmdlet का दुरुपयोग करना चाहिए, या दोनों।

किसी विशिष्ट वेबसाइट के लिए जानकारी वापस करने के लिए मुझे गेट-वेबसाइट का उपयोग कैसे करना चाहिए?

उत्तर

23

this forum post के अनुसार, यह गेट-वेबसाइट cmdlet में एक बग है। जब तक इसे संबोधित नहीं किया जाता है तो वर्कअराउंड गेट-आइटम का उपयोग करना है।

$website = "Test" 
Get-Item "IIS:\sites\$website" 

डबल कोट्स का उपयोग करना सुनिश्चित करें, सिंगल कोट्स का उपयोग होने पर चर का विस्तार नहीं किया जाता है।

+0

साइड नोट संदर्भित विषय में चारों ओर काम में उल्लेख किया है इस समस्या के समाधान मिल जाएगा: मैं निम्न सिंटैक्स भी साथ भाग्यशाली रहे हैं: [उस बग पर विषय कनेक्ट करें] (http://connect.microsoft.com/PowerShell/feedback/details/597787/get-website-always-returns-full-list-of-web-sites) – Joey

+0

केवल स्पष्टता और नए शौक के लिए (मेरे जैसा): एक चर घोषित करने की कोई आवश्यकता नहीं है। – LosManos

13

मुझे एहसास है कि यह एक पुरानी पोस्ट है लेकिन मैं हाल ही में इस मुद्दे में भाग गया और आपका प्रश्न पाया।

get-website | where { $_.Name -eq 'foobar' } 
+0

इस कार्यवाही के साथ समस्या यह है कि _all_ वेबसाइट सूचीबद्ध हैं और फिर फ़िल्टर की गई हैं। जब आपके पास कुछ हद तक वेबसाइटें होंगी, लेकिन उनमें से कुछ वैध रूप से एक आईआईएस सर्वर में वेबसाइटों के _lots_ हैं। – Mels

+0

सच है, यह सभी साइटों को फिर फ़िल्टर करता है। मैं बाएं और स्वरूपण को फ़िल्टर करना पसंद करूंगा लेकिन यह एक विकल्प नहीं था, जिसके कारण मुझे यह काम करना पड़ा। मेरे पास प्रति सर्वर 200-300 साइटें थीं और यह इस आदेश को चलाने में बड़ी देरी नहीं थी। – Marcus

8

वाइल्ड कार्ड का प्रयोग के रूप में भी कनेक्ट @Joey

द्वारा
get-website -name "*Default Web Site*" 
संबंधित मुद्दे