2010-04-20 3 views
8

Est-ce que quelqu'un a réussi à utiliser ce module avec succès, je cours 32 bits Windows 7, où j'ai ouvert un shell administrateur en utilisant l'administrateur, j'ai importé le module WebAdministration, puis essayé d'utiliser les commandes avec quelques problèmes, ont fourni deux exemples iciIIS 7.5 problèmes d'utilisation du module powershell

sites

J'ai créé un site Web avec la commande suivante

new-website -name testsite -port 80 -hostheader testsite -physicalpath c:\temp 

Alors j'atte Mpté pour obtenir les détails des sites en utilisant la commande get-website -name testsite mais il retourne toujours tous les sites, semble ignorer le paramètre -name. La seule façon que je peux obtenir le site utilise un filtre

get-website | ? { $_.name -eq 'testsite' } | get-member 

Quand je l'utilise appcmd fonctionne comme prévu en utilisant la commande suivante

C:\> C:\Windows\System32\inetsrv\appcmd.exe list site testsite 

AppPools

Lorsque je tente de dresser la liste des des pools d'applications à l'aide de la commande suivante

dir iis:\apppools 

i obtenir l'erreur suivante

Get-ChildItem : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 

Pourtant, quand j'utilise appcmd comme suit i obtenir tous les apppools comme prévu, sans erreur

C:\Windows\System32\inetsrv\appcmd.exe list apppool 

Quelqu'un at-il réussi à utiliser le module WebAdministration?

Merci à l'avance
Pat

Répondre

0

Vous devez vous assurer que la fenêtre PowerShell est en cours d'exécution élevée, essayez un clic droit dans le menu Démarrer et en utilisant l'option « Exécuter en tant qu'administrateur » pour assurer qu'il fonctionne élevée.

0

En ce qui concerne Get-Website ignorant le paramètre -Name, cela semble être un bug selon this forum post. La solution consiste à utiliser Get-Item

$website = "Default Web Site" 
Get-Item "IIS:\sites\$website" 

Assurez-vous d'utiliser des guillemets doubles, les variables ne sont pas traités lorsque des guillemets simples sont utilisés. En ce qui concerne la navigation dans les pools d'applications, je soupçonne qu'il s'agit d'un problème d'autorisation, comme l'a mentionné CarlosAg. Assurez-vous que vous exécutez PowerShell avec des privilèges élevés. Je lance généralement PowerShell en faisant un clic droit dessus et en sélectionnant "Exécuter en tant qu'administrateur".

8

Si vous utilisez déjà PowerShell en tant qu'administrateur et que Windows UAC est désactivé et que cette erreur persiste, assurez-vous que WAS (Windows Process Activation Service) est en cours d'exécution. Vous pouvez arrêter W3SVC mais PowerShell va certainement donner la même erreur "accès refusé" tête-grattage si WAS est arrêté.