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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *