2012-05-22 13 views
12

Quiero utilizar PowerShell para administrar mi IIS7 en Windows7 de 64 bits.Add-PsSnapin WebAdministration en Windows7

Intento instalar IIS7 PowerShell http://www.iis.net/download/PowerShell

I "Ejecutar como administrador", a continuación, escribiendo el comando se enumeran a continuación: msiexec/I iis7psprov_x64.msi pero me sale este mensaje de error: "El PowerShell es parte del sistema operativo Windows Por favor, instale a través de Programas y características o el Administrador del servidor "

creo que esta característica particular no es necesario cargar el módulo WebAdministration pero activas todas las opciones en" Programas y características |.

su vez Funciones de Windows activadas o desactivadas | IIS | Web Management Tool s | Secuencias de comandos de administración de IIS y herramientas

que hacen esas comprobaciones:

1.) Power-Shell se instala

PS C:\Program Files\IIS> $Host.Version 


    Major Minor Build Revision 
    ----- ----- ----- -------- 
    2  0  -1  -1 



PS C:\Program Files\IIS> $PSVersionTable 
    Name       Value 
    ----       ----- 
    CLRVersion      2.0.50727.5448 
    BuildVersion     6.1.7601.17514 
    PSVersion      2.0 
    WSManStackVersion    2.0 
    PSCompatibleVersions   {1.0, 2.0} 
    SerializationVersion   1.1.0.1 
    PSRemotingProtocolVersion  2.1 



PS C:\Program Files\IIS> get-host 
    Name    : ConsoleHost 
    Version   : 2.0 
    InstanceId  : 445ad8f5-87fc-48f7-b010-f7faf948b86c 
    UI    : System.Management.Automation.Internal.Host.InternalHostUserInterface 
    CurrentCulture : es-ES 
    CurrentUICulture : es-ES 
    PrivateData  : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy 
    IsRunspacePushed : False 
    Runspace   : System.Management.Automation.Runspaces.LocalRunspace 

2.) Set-ExecutionPolicy -executionpolicy {Su Política de Ejecución}

PS C:\Program Files\IIS> get-ExecutionPolicy 
Unrestricted 

3.) Administración web de módulo de importación

PS C:\Program Files\IIS> Import-Module WebAdministration 
PS C:\Program Files\IIS> 

4.) C: existe \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules \ WebAdministration ruta

5.) Módulos y complemento

PS C:\Program Files\IIS> get-module -listavailable 

ModuleType Name      ExportedCommands 
---------- ----      ---------------- 
Manifest AppLocker     {} 
Manifest BitsTransfer    {} 
Manifest PSDiagnostics    {} 
Manifest TroubleshootingPack  {} 
Manifest WebAdministration   {} 



PS C:\Program Files\IIS> Get-PSSnapin -Registered 


Name  : SqlServerCmdletSnapin100 
PSVersion : 2.0 
Description : This is a PowerShell snap-in that includes various SQL Server cmdlets. 

Name  : SqlServerProviderSnapin100 
PSVersion : 2.0 
Description : SQL Server Provider 

Name  : TfsBPAPowerShellSnapIn 
PSVersion : 2.0 
Description : This is a PowerShell snap-in that includes Team Foundation Server cmdlets. 



PS C:\Program Files\IIS> get-pssnapin 


Name  : Microsoft.PowerShell.Diagnostics 
PSVersion : 2.0 
Description : Este complemento de Windows PowerShell contiene cmdlets de Eventos de Windows y de contador de rendimient 
       o. 

Name  : Microsoft.WSMan.Management 
PSVersion : 2.0 
Description : Este complemento de Windows PowerShell contiene cmdlets (como Get-WSManInstance y Set-WSManInstance) que 
       usa el host de Windows PowerShell para administrar operaciones WSMan. 

Name  : Microsoft.PowerShell.Core 
PSVersion : 2.0 
Description : Este complemento de Windows PowerShell contiene cmdlets usados para administrar los componentes de Window 
       s PowerShell. 

Name  : Microsoft.PowerShell.Utility 
PSVersion : 2.0 
Description : Este complemento de Windows PowerShell contiene cmdlets de utilidad que sirven para manipular datos. 

Name  : Microsoft.PowerShell.Host 
PSVersion : 2.0 
Description : Este complemento de Windows PowerShell contiene cmdlets (como Start-Transcript y Stop-Transcript) proporc 
       ionados para su uso con el host de la consola de Windows PowerShell. 

Name  : Microsoft.PowerShell.Management 
PSVersion : 2.0 
Description : El complemento Windows PowerShell contiene cmdlets de administración para administrar los componentes de 
       Windows. 

Name  : Microsoft.PowerShell.Security 
PSVersion : 2.0 
Description : Este complemento de Windows PowerShell contiene varios cmdlets para la administración de la seguridad de 
       Windows PowerShell. 





PS C:\Program Files\IIS> [System.Reflection.Assembly]::LoadFrom("C:\windows\system32\inetsrv\Microsoft.Web.Administration.dll") 

GAC Version  Location 
--- -------  -------- 
True v2.0.50727  C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Administration\7.0.0.0__31bf3856ad364e35\Microsoft.... 



PS C:\Program Files\IIS> (New-Object Microsoft.Web.Administration.ServerManager) 


ApplicationDefaults  : Microsoft.Web.Administration.ApplicationDefaults 
ApplicationPoolDefaults : Microsoft.Web.Administration.ApplicationPoolDefaults 
ApplicationPools   : {DefaultAppPool} 
SiteDefaults    : Microsoft.Web.Administration.SiteDefaults 
Sites     : {Default Web Site} 
VirtualDirectoryDefaults : Microsoft.Web.Administration.VirtualDirectoryDefaults 
WorkerProcesses   : {} 




PS C:\Program Files\IIS> (New-Object Microsoft.Web.Administration.ServerManager).Sites 


ApplicationDefaults  : Microsoft.Web.Administration.ApplicationDefaults 
Applications    : {Default Web Site/} 
Bindings     : {[http] *:80:} 
Id       : 1 
Limits      : Microsoft.Web.Administration.SiteLimits 
LogFile     : Microsoft.Web.Administration.SiteLogFile 
Name      : Default Web Site 
ServerAutoStart   : True 
State      : Started 
TraceFailedRequestsLogging : Microsoft.Web.Administration.SiteTraceFailedRequestsLogging 
VirtualDirectoryDefaults : Microsoft.Web.Administration.VirtualDirectoryDefaults 
Attributes     : {name, id, serverAutoStart, state} 
ChildElements    : {bindings, limits, logFile, traceFailedRequestsLogging...} 
ElementTagName    : site 
IsLocallyStored   : True 
Methods     : {Start, Stop} 
RawAttributes    : {[name, Default Web Site], [id, 1], [serverAutoStart, True], [state, 1]} 
Schema      : Microsoft.Web.Administration.ConfigurationElementSchema 

6.) Trato de archivo PS1

$succeeded = import-module WebAdministration 
Write-Host $succeeded 

if (($succeeded -ne $null) -and ($succeeded.GetType() -eq [System.Exception])) 
{ 
    #Could not import, trying to snapin 
    add-pssnapin WebAdministration 
} 

$ tuvieron éxito es nula, y "WebAdministration complemento pssnapin" produce mensaje de error: El complemento PSSnapin: El complemento de Windows PowerShell en 'WebAdministration' no está instalado en este equipo.

PS C:\Program Files\IIS> Add-PSSnapin WebAdministration 
Add-PSSnapin : El complemento WebAdministration de Windows PowerShell no está instalado en este equipo 
En línea: 1 Carácter: 13 
+ Add-PSSnapin <<<< WebAdministration 
    + CategoryInfo   : InvalidArgument: (WebAdministration:String) [Add-PSSnapin], PSArgum 
    + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand 

sugerencias sobre esto? ¿Por qué falla la administración web de Add-PSSnapin?

ACTUALIZACIÓN: estoy confundido cuando es exactamente lo que utilizo Add-PSSnapin y cuándo hacer uso Import-Module

http://social.technet.microsoft.com/Forums/en/ITCG/thread/3e1ca6e1-d197-4c04-a145-1e922814a618

sin duda, WebAdministration es único módulo, y PSSnapin has'nt. Tal vez...

Referencias:

PowerShell IIS SNAPin

Cannot install Powershell Snap-in

http://www.iis.net/download/PowerShell

http://learn.iis.net/page.aspx/429/installing-the-iis-powershell-snap-in/

http://learningpcs.blogspot.com.es/2010/08/powershell-iis-7-webadministration.html

Versión de PowerShell instalada

Determine installed PowerShell version

+2

En IIS 7 fue un complemento, sino que lo hizo en un módulo de 7,5 así que por eso usted tiene que utilizar la importación del módulo de 7,5. –

+0

@Andy Arismendi, por lo tanto, en IIS 7.5 (Windows 7, Win2008 R2) no es posible usar el complemento para administración web, solo use el módulo de importación – Kiquenet

Respuesta

11

Esta es la función que tengo en mi profile.ps1 para cargar el módulo de WebAdmin. Cubre IIS 7 y 7,5

# Web administration is loaded as a module on Windows 2008 R2 but as a set of snapins 
# for Windows 2008 (not R2) 

function Util-Load-Web-Administration 
{ 
    $ModuleName = "WebAdministration" 
    $ModuleLoaded = $false 
    $LoadAsSnapin = $false 

    if ($PSVersionTable.PSVersion.Major -ge 2) 
    { 
     if ((Get-Module -ListAvailable | ForEach-Object {$_.Name}) -contains $ModuleName) 
     { 
      Import-Module $ModuleName 

      if ((Get-Module | ForEach-Object {$_.Name}) -contains $ModuleName) 
       { $ModuleLoaded = $true } else { $LoadAsSnapin = $true } 
     } 
     elseif ((Get-Module | ForEach-Object {$_.Name}) -contains $ModuleName) 
      { $ModuleLoaded = $true } else { $LoadAsSnapin = $true } 
    } 
    else 
    { $LoadAsSnapin = $true } 

    if ($LoadAsSnapin) 
    { 
     try 
     { 
      if ((Get-PSSnapin -Registered | ForEach-Object {$_.Name}) -contains $ModuleName) 
      { 
       if ((Get-PSSnapin -Name $ModuleName -ErrorAction SilentlyContinue) -eq $null) 
        { Add-PSSnapin $ModuleName } 

       if ((Get-PSSnapin | ForEach-Object {$_.Name}) -contains $ModuleName) 
        { $ModuleLoaded = $true } 
      } 
      elseif ((Get-PSSnapin | ForEach-Object {$_.Name}) -contains $ModuleName) 
       { $ModuleLoaded = $true } 
     } 

     catch 
     { 
      Write-Error "`t`t$($MyInvocation.InvocationName): $_" 
      Exit 
     } 
    } 
} 
+0

Gracias por esto, necesitaba automatizar IIS en un servidor mixto 2008 y Server 2008 R2 y el entorno de Windows 7 y esto ayudó mucho. – CIGuy

Cuestiones relacionadas