Szerettem volna listát szerezni egy webalkalmazás összes webéről. Véletlenül írtam a következőket:
$webapp = "http://mywebapp" $webapp | Get-SPSite | Get-SPWeb
Tehát ez fantasztikus eredményeket hozott, megadva a webalkalmazásban az egyes webek URL-jeit. De a powershell parancsnak nincs értelme számomra.
Valójában valami ilyesmit akartam írni:
$webapp = "http://mywebapp" Get-SPWebApplication $webapp | Get-SPSite | Get-SPWeb
amely ugyanazt produkálja eredmények. Csak az URL-t veszi névértéken, és intelligensen feltételezi, hogy ez egy webalkalmazás URL-je? Azt hiszem, ez átalakítja SPWebApplication objektummá, és ezt a Get-SPSite-hez kapcsolja, amely minden egyes webhely-gyűjtemény objektumot megkap a webalkalmazásban stb.
Válasz
A folyamat a parancs egyik objektumát továbbítja a másiknak. Az első parancs eredménye a következő parancs inputja.
Tehát a példádban Az első parancs Létrehozott SPWebApplication
lista, amelyet továbbít a Get-SPSite
stb. Címre
http://technet.microsoft.com/en-us/library/ff607950%28v=office.15%29.aspx
http://blogs.catapultsystems.com/SSamuel/archive/2012/10/15/using-pipes-in-powershell-tip-1.aspx
A Get-SPSite
technet cikkéből – A Get-SPSite cmdlet
egyetlen olyan webhelyet ad vissza, amely megfelel az Identity paraméternek , vagy az összes olyan webhely, amely megfelel a szűrő paraméterének a megadott hatókörben. A hatókörök a következők: WebApplication
, ContentDatabase
és SiteSubscription
paraméterek. Ha ezek a hatókörök nem szerepelnek, akkor a hatókör a gazdaság. Ha a hatókör nincs megadva Filter paraméterrel, akkor a hatókörben található összes webhely visszatér.
Így a SPWebApplication
, SPContentDatabase
és SPSiteSubscription
Get-SPContentDatabase | Get-SPSite
megjegyzések
- Tehát ez a zavarom: az SPSite számára több bemeneti paraméter létezik, amelyek " URL-t " vehetnek fel. Honnan tudja a csatolt SPSite, hogy megadom-e az SPSite ' s -WebApplication paramétert az -Identity paraméter helyett?
- Szerintem mi segítene, ha a technet A ' s definícióknak " csővezeték bemenetek " szakasza volt. Ha megváltoztatom a $ webapp értéket valami olyanra, amely nem létezik ', azaz " mywebapp / nothing_here " hibát dob, hogy az adott URL-nél nem talál webalkalmazást. Ez számomra azt jelenti, hogy természetesen webalkalmazási URL-t vár. Ezt valahogy dokumentálni kell az SPSite cikkben.
- @ferr Frissítettem a válaszomat
- ah! köszönöm. láttam ezt, de nem voltam ' biztos abban, hogy ez az, amit kerestem, mivel nem igazán határozta meg, mit jelent " Szűrő paraméter ". Úgy tűnik, hogy erre gondoltam a " vezetékes bemeneteket ".
- Valójában újra elolvasva azt ' nem a szűrő paraméter, hanem a " hatókörök ". Ez egy univerzális kifejezés, amelyet az egész powerhellben használnak? Szeretném, ha találnék " hatóköröket " az egyes objektumokon ' technet cikk … például ha megnézed a Get-SPWeb cikket, akkor nincs szó sem hatókörökről, sem arról, hogy mit kell hozzá csatolni.