2011-12-20 14 views
12

के माध्यम से प्रदर्शित नहीं कर सकता है, मैं निम्न कथन निष्पादित करने का प्रयास कर रहा हूं।पावरशेल cmdlet संपत्ति दिखाता है, लेकिन यह इसे 'select'

dir IIS:\Sites| foreach{ get-webapplication -site $_.Name} | select -first 1 

यह

Name    Application pool Protocols Physical Path 
----    ---------------- --------- ------------- 
i1    DefaultWebSite  http   C:\inetpub\hosts\DefaultWebSite\i1 

में परिणाम है लेकिन जब मैं परिणाम निम्नलिखित निष्पादित खाली

dir IIS:\Sites| foreach{ get-webapplication -site $_.Name} | select -first 1 name 

तो मैं इस वस्तु

dir IIS:\Sites| foreach{ get-webapplication -site $_.Name} | select -first 1 | get-member | sort 
Name | select Name, MemberType | format-table -auto 

Name        MemberType 
----        ---------- 
applicationPool     NoteProperty 
Attributes       Property 
ChildElements       Property 
ClearLocalData       Method 
Collection      NoteProperty 
ConfigurationPathType    NoteProperty 
Copy         Method 
Delete         Method 
ElementTagName      Property 
enabledProtocols     NoteProperty 
Equals         Method 
GetAttribute       Method 
GetAttributeValue      Method 
GetChildElement       Method 
GetCollection       Method 
GetHashCode        Method 
GetMetadata        Method 
GetParentElement      Method 
GetType         Method 
Item      ParameterizedProperty 
ItemXPath       NoteProperty 
LoadProperties       Method 
Location       NoteProperty 
Methods        Property 
path        NoteProperty 
PhysicalPath     ScriptProperty 
PSPath       NoteProperty 
Schema        Property 
SetAttributeValue      Method 
SetMetadata        Method 
ToPSObject        Method 
ToString        Method 
Update         Method 
UpdateCollection      Method 
virtualDirectoryDefaults   NoteProperty 

के लिए गुण में देखा है तो कोई 'नाम' संपत्ति नहीं है । यह कैसे है कि गेट-वेबप्लिकेशन नाम संपत्ति दिखा सकता है, लेकिन हम इसे चुन नहीं सकते?

+1

संबंधित प्रश्न: http://stackoverflow.com/questions/7504027/powershell- webadministration-हो w-to-get-website-from-webapplication – BACON

उत्तर

17

वेब प्रशासन प्रशासन मॉड्यूल संबंधित प्रकार के लिए डिफ़ॉल्ट प्रारूप को परिभाषित करता है। इस मामले में, WebApplication कि आप इस प्रकार का है Microsoft.IIs.PowerShell.Framework.ConfigurationElement#site#application

कि आप फ़ाइल iisprovider.format.ps1xml मॉड्यूल (आमतौर पर C:\Windows\System32\WindowsPowerShell\v1.0\Modules\WebAdministration में स्थित) के तहत को देखें, तो आप देखेंगे प्रारूप इस प्रकार का नाम लिए निर्दिष्ट रूप में नीचे है :

... 
<TableColumnItem> 
    <ScriptBlock> 
     $name = $_.Path.Trim('/') 
     $name 
    </ScriptBlock> 
</TableColumnItem> 
... 

इस प्रकार नाम वास्तव में $_.Path.Trim('/') से मिल गया है, तो आप भी ऐसा कर सकते अगर आप चाहते हैं:

get-webapplication -site "test" | select @{e={$_.Path.Trim('/')};l="Name"} 
+0

डब्ल्यूटीएफ .... यही कारण है कि मैं शक्तिशक्ति से नफरत करता हूं। यह पूरी तरह से अनजान है। – Oliver

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