2010-11-13 4 views
16

Je souhaite récupérer des informations concernant un site Web IIS 7 spécifique à l'aide de l'applet de commande PowerShell Get-Website. Malheureusement, Get-Website renvoie des informations pour tous les sites Web quel que soit le paramètre -Name que je transmets. Il semble que le paramètre -Name soit ignoré.Le paramètre de nom Powershell Get-WebSite est ignoré

Par exemple, si j'utilise:

Import-Module WebAdministration 
Get-Website -Name "Test Website" 

je vais recevoir de l'information pour tous les sites sur ma machine:

Name    ID State  Physical Path     Bindings 
----    -- -----  -------------     -------- 
Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot http *:80: 
                   net.tcp 808:* 
                   net.pipe * 
                   net.msmq localhost 
                   msmq.formatname localhost 
Test Website  2 Started C:\websites\test    http *:80:test.mydomain.com 

Selon la documentation Get-site Web devrait renvoyer des informations pour le site spécifié dans le paramètre -Name. Je dois mal comprendre la documentation ou utiliser abusivement la cmdlet, ou les deux.

Comment dois-je utiliser Get-Website pour renvoyer des informations pour un site Web spécifique?

Répondre

23

Selon this forum post, il s'agit d'un bogue dans la cmdlet Get-Website. La solution de contournement jusqu'à ce que cela est adressé consiste à utiliser Get-Item. Assurez-vous d'utiliser des guillemets doubles, les variables ne sont pas développées lorsque des guillemets simples sont utilisés.

+0

Side note: [Connectez le sujet sur ce bogue] (http://connect.microsoft.com/PowerShell/feedback/details/597787/get-website-always-returns-full-list-of-web-sites) – Joey

+0

Juste pour la clarté et les débutants (comme moi): il n'est pas nécessaire de déclarer une variable. – LosManos

13

Je me rends compte que c'est un post plus ancien, mais j'ai récemment rencontré ce problème et j'ai trouvé votre question. J'ai eu la chance avec la syntaxe suivante aussi:

get-website | where { $_.Name -eq 'foobar' } 
+0

Le problème avec cette solution de contournement est que tous les sites Web sont répertoriés, puis filtrés. Pas beaucoup quand vous avez une poignée de sites Web, mais certains d'entre nous ont légitimement _lots_ de sites Web dans un seul serveur IIS. – Mels

+0

Vrai, il retourne tous les sites puis filtre. Je préférerais filtrer à gauche et mettre en forme à droite, mais ce n'était pas une option qui est la raison pour laquelle je devais faire cette solution de contournement. J'ai également eu 200-300 sites par serveur et ce n'était pas un énorme retard d'exécution de cette commande. – Marcus

8

L'utilisation des cartes sauvages également contourner ce problème comme mentionné dans le travail autour du sujet de connexion référencé par @Joey

get-website -name "*Default Web Site*" 
Questions connexes