Am vrut să obțin o listă cu toate paginile web dintr-o aplicație web. Din întâmplare, am scris următoarele:

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

Deci, acest lucru a dat rezultate fantastice, oferindu-mi adresele URL ale fiecărui web din aplicația web. Dar comanda PowerShell nu are sens pentru mine.

De fapt am vrut să scriu ceva de genul:

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

care produce același lucru rezultate. Își ia adresa URL la valoarea nominală și o presupune în mod inteligent că este o adresă URL a aplicației web? Bănuiesc că îl convertește într-un obiect SPWebApplication și îl conectează la Get-SPSite, care obține fiecare obiect de colectare a site-urilor din aplicația web etc.

Răspuns

Conducta trece un obiect al unei comenzi către altul. Rezultatul primei comenzi este o intrare pentru următoarea comandă.

Deci, în exemplul dvs. Prima comandă Lista generată de SPWebApplication care este transmisă către Get-SPSite etc

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

Din articolul technet din Get-SPSiteGet-SPSite cmdlet returnează fie un singur site care se potrivește cu parametrul Identity , sau toate site-urile care corespund parametrului Filter pentru domeniul de aplicare specificat. Domeniile de aplicare sunt WebApplication, ContentDatabase și . Dacă nu este furnizat niciunul dintre aceste domenii, domeniul de aplicare este ferma. Dacă domeniul de aplicare este specificat fără parametru de filtrare, toate site-urile din domeniul respectiv sunt returnate.

Deci poate fi canalizat de la SPWebApplication, SPContentDatabase și SPSiteSubscription

Get-SPContentDatabase | Get-SPSite 

Comentarii

  • Deci, aceasta este confuzia mea: există mai mulți parametri de intrare pentru SPSite care pot lua " URL ". Cum știe SPSite-ul cu conducte dacă specific pentru SPSite ' s -WebApplication parametru în loc de -Identity parametru?
  • Cred că ceea ce ar ajuta este dacă technet Definițiile ' au o secțiune " intrări cu canal ". Dacă schimb valoarea $ webapp în ceva care nu ' nu există, adică " mywebapp / nothing_here " generează o eroare că nu poate găsi o aplicație web la adresa URL respectivă. Acest lucru înseamnă pentru mine că se așteaptă la o adresă URL a aplicației web, desigur. Acest lucru trebuie documentat cumva în articolul SPSite.
  • @ferr Mi-am actualizat răspunsul
  • ah! mulțumesc. Am văzut asta, dar nu eram ' sigur dacă asta căutam, deoarece nu definea cu adevărat ce însemna prin " Parametru de filtrare ". Se pare că asta am vrut să spun prin " Intrări prin conducte ".
  • De fapt, citind-o din nou, ea ' nu este parametrul filtrului, ci " domeniile ". Este acesta un termen universal folosit în întreaga putere? Aș dori dacă aș găsi " Domenii de aplicare " listate pe fiecare obiect ' s articol technet … de exemplu, dacă te uiți la articolul Get-SPWeb, nu se menționează domeniile și nici informații despre ce să-i aduci.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *