Chciałem uzyskać listę wszystkich witryn internetowych w aplikacji internetowej. Przypadkowo napisałem co następuje:

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

To dało fantastyczne wyniki, dając mi adresy URL każdej strony w aplikacji internetowej. Ale polecenie PowerShell nie ma dla mnie sensu.

Właściwie chciałem napisać coś takiego:

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

co daje to samo czy po prostu przyjmuje wartość nominalną adresu URL i inteligentnie zakłada, że jest to adres URL aplikacji internetowej? Zgaduję, że konwertuje go na obiekt SPWebApplication i przesyła go do Get-SPSite, który pobiera każdy obiekt zbioru witryn w aplikacji internetowej itd.

Odpowiedź

Potok przekazuje jeden obiekt polecenia do drugiego. Wynikiem pierwszego polecenia jest dane wejściowe dla następnego polecenia.

W naszym przykładzie pierwsze polecenie Wygenerowana lista SPWebApplication, która jest przekazywana do 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

Z artykułu poświęconego technetowi Get-SPSiteGet-SPSite cmdlet zwraca jedną witrynę, która jest zgodna z parametrem Identity lub wszystkie witryny, które pasują do parametru filtru dla określonego zakresu. Zakresy to WebApplication, ContentDatabase i . Jeśli żaden z tych zakresów nie zostanie podany, zakres to farma. Jeśli zakres jest określony bez parametru filtru, zwracane są wszystkie witryny w tym zakresie.

Więc można go przesłać potokiem z SPWebApplication, SPContentDatabase i SPSiteSubscription

Get-SPContentDatabase | Get-SPSite 

Komentarze

  • To jest moje zamieszanie: istnieje wiele parametrów wejściowych dla SPSite, które mogą przyjmować " URL ". Skąd potokowa witryna SPSite wie, czy określam parametr SPSite ' s -WebApplication zamiast parametru -Identity?
  • Myślę, że pomogłoby gdyby technet Definicje ' miały sekcję " potokowe dane wejściowe ". Jeśli zmienię wartość $ webapp na coś, co nie ' nie istnieje, tj. " mywebapp / none_here " zgłasza błąd, że nie może znaleźć aplikacji internetowej pod tym adresem URL. Oznacza to dla mnie, że oczywiście oczekuje adresu URL aplikacji internetowej. Trzeba to jakoś udokumentować w artykule na SPSite.
  • @ferr Zaktualizowałem odpowiedź
  • ah! Dziękuję Ci. widziałem to, ale nie ' nie byłem pewien, czy to jest to, czego szukałem, ponieważ tak naprawdę nie określało, co oznacza " Parametr filtru ". Wygląda na to, że to właśnie miałem na myśli, pisząc " Piped Inputs ".
  • Czytając go jeszcze raz, ' to nie parametr filtru, ale " zakresy ". Czy jest to uniwersalny termin używany w programie PowerShell? Chciałbym, gdybym mógł znaleźć " Zakresy " wymienione na każdym obiekcie ' s artykuł technet … na przykład, jeśli spojrzysz na artykuł Get-SPWeb, nie ma tam wzmianki o zakresach ani żadnych informacji o tym, co do niego potokować.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *