Chtěl jsem získat seznam všech webů ve webové aplikaci. Náhodou jsem napsal následující:

$webapp = "http://mywebapp" $webapp | Get-SPSite | Get-SPWeb 

Takže to vrátilo fantastické výsledky a dalo mi adresy URL každého webu ve webové aplikaci. Ale příkaz powerhell mi nedává smysl.

Vlastně jsem chtěl napsat něco jako:

$webapp = "http://mywebapp" Get-SPWebApplication $webapp | Get-SPSite | Get-SPWeb 

, který produkuje to samé výsledky. Vezme adresu URL pouze v nominální hodnotě a inteligentně předpokládá, že jde o adresu URL webové aplikace? Hádám, že to převede na objekt SPWebApplication a potrubí na Get-SPSite, který dostane každý objekt kolekce webů ve webové aplikaci atd.

Odpovědět

Potrubí předává jeden objekt příkazu druhému. Výsledkem prvního příkazu je vstup pro další příkaz.

Takže ve vašem příkladu První příkaz Generovaný seznam SPWebApplication, který je předán Get-SPSite atd.

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

Z článku technet Get-SPSiteGet-SPSite cmdlet vrací buď jeden web, který odpovídá parametru identity nebo všechny weby, které odpovídají parametru Filtr pro zadaný rozsah. Rozsahy jsou WebApplication, ContentDatabase a SiteSubscription parametry. Pokud není k dispozici žádný z těchto oborů, obor je farma. Pokud je obor zadán bez parametru Filtr, jsou vráceny všechny weby v tomto oboru.

Takže jej lze přesměrovat z SPWebApplication, SPContentDatabase a SPSiteSubscription

Get-SPContentDatabase | Get-SPSite 

komentáře

  • Takže to je můj zmatek: pro SPSite existuje několik vstupních parametrů, které mohou trvat " URL ". Jak zjistí nasměrovaný SPSite, zda zadávám parametr SPSite ' s -WebApplication místo parametru -Identity?
  • Myslím, že by pomohlo, kdyby technet ' definice obsahovaly sekci " piped input ". Pokud změním hodnotu $ webapp na něco, co neexistuje ' t, tj. " mywebapp / nothing_here " vyvolá chybu, že na této adrese URL nemůže najít webovou aplikaci. To pro mě znamená, že samozřejmě očekává adresu URL webové aplikace. To je třeba nějak zdokumentovat v článku SPSite.
  • @ferr Aktualizoval jsem svou odpověď
  • ah! Děkuji. viděl jsem to, ale nebyl jsem si ' jistý, jestli to bylo to, co jsem hledal, protože to vlastně nedefinovalo, co to znamená " Filtrovat parametr ". Zdá se, že to je to, co jsem myslel pod " Piped Inputs ".
  • Ve skutečnosti to znovu čtu, ' s není parametr filtru, ale " rozsah ". Je to univerzální termín používaný v PowerShellu? Byl bych rád, kdybych u každého objektu našel " obor " ' s článek technet … například pokud se podíváte na článek Get-SPWeb, není tam žádná zmínka o oborech, ani žádné informace o tom, co k němu poslat.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *