Je voulais obtenir une liste de tous les sites Web dune application Web. Par accident, jai écrit ce qui suit:
$webapp = "http://mywebapp" $webapp | Get-SPSite | Get-SPWeb
Donc, cela a donné des résultats fantastiques, me donnant les URL de chaque site Web dans lapplication Web. Mais la commande powershell na pas de sens pour moi.
Je voulais en fait écrire quelque chose comme:
$webapp = "http://mywebapp" Get-SPWebApplication $webapp | Get-SPSite | Get-SPWeb
qui produit le même prend-il simplement lURL à sa valeur nominale et suppose-t-elle intelligemment quil sagit dune URL dapplication Web? Je suppose quil le convertit en un objet SPWebApplication, et le dirige vers Get-SPSite, qui récupère chaque objet de collection de sites dans lapplication Web, etc.
Réponse
Le pipeline passe un objet dune commande à un autre. Le résultat de la première commande est une entrée pour la commande suivante.
Donc dans votre exemple La première commande Liste générée de SPWebApplication
qui est transmise à 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
De larticle technet de Get-SPSite
– Le Get-SPSite cmdlet
renvoie soit un site unique qui correspond au paramètre Identity , ou tous les sites correspondant au paramètre Filter pour létendue spécifiée. Les étendues sont les suivantes: WebApplication
, ContentDatabase
et SiteSubscription
. Si aucune de ces portées nest fournie, le la portée est la ferme. Si la portée est spécifiée sans paramètre Filter, tous les sites de cette portée sont renvoyés.
Il peut donc être acheminé depuis SPWebApplication
, SPContentDatabase
et SPSiteSubscription
Get-SPContentDatabase | Get-SPSite
Commentaires
- Voilà donc ma confusion: il existe plusieurs paramètres dentrée pour SPSite qui peuvent prendre " URL ". Comment le SPSite canalisé sait-il si je spécifie pour SPSite ' s -WebApplication paramètre au lieu du paramètre -Identity?
- Je pense que ce qui aiderait si technet Les définitions de ' contenaient une section " entrées canalisées ". Si je change la valeur $ webapp en quelque chose qui nexiste pas ', cest-à-dire " mywebapp / rien_ici " il renvoie une erreur indiquant quil ne trouve pas dapplication Web à cette URL. Cela signifie pour moi quil attend une URL dapplication Web, bien sûr. Cela doit être documenté dune manière ou dune autre dans larticle SPSite.
- @ferr Jai mis à jour ma réponse
- ah! Merci. je lai vu, mais je nétais ' pas sûr que cétait ce que je cherchais car il ne définissait pas vraiment ce que cela signifiait par " Paramètre de filtre ". Il semble que cest ce que je voulais dire par " Entrées canalisées ".
- En fait, en le relisant, ' nest pas le paramètre de filtre, mais les " portées ". Est-ce un terme universel utilisé dans PowerShell? Jaimerais que je trouve des " Scopes " répertoriés sur chaque objet ' s article technet … par exemple, si vous regardez larticle Get-SPWeb, il ny a aucune mention de portées ni aucune information sur ce quil faut diriger vers lui.