La herramienta appcmd de IIS 7 permite realizar todo tipo de modificaciones en Internet Information Services 7 a través de la línea de comandos. Muy útil cuando tenemos que realizar cambios de configuración, scripts o tareas masivas. APPCMD se encuentra dentro del directorio «inetsrv»:
C:\Windows\system32\inetsrv
ó
%windir%\system32\inetsrv
Antes de realizar la modificación de cualquier parámetro, podemos listar y verificar la configuración del website con el siguiente comando (ejemplo website www.foo.com):
PS C:\Windows\system32\inetsrv> .\appcmd.exe list SITE "www.foo.com" /config <site name="www.foo.com" id="1979809497" serverAutoStart="true"> <bindings> <binding protocol="http" bindingInformation=":80:www.foo.com" /> </bindings> <limits maxBandwidth="4294967295" maxConnections="4294967295" /> <logFile logFormat="W3C" /> <traceFailedRequestsLogging /> <applicationDefaults /> <virtualDirectoryDefaults /> <ftpServer> <connections /> <security> <dataChannelSecurity /> <commandFiltering> </commandFiltering> <ssl /> <sslClientCertificates /> <authentication> <anonymousAuthentication /> <basicAuthentication /> <clientCertAuthentication /> <customAuthentication> <providers> </providers> </customAuthentication> </authentication> </security> <customFeatures> <providers> </providers> </customFeatures> <messages /> <fileHandling /> <firewallSupport /> <userIsolation> <activeDirectory /> </userIsolation> <directoryBrowse /> <logFile /> </ftpServer> <application path="/" applicationPool="foo.com"> <virtualDirectoryDefaults /> <virtualDirectory path="/" physicalPath="\\192.168.1.100\v_IIS\foo.com\www.foo.com" /> </application> </site>
En este caso queremos modificar el Physical Path del directorio virtual raíz virtualDirectory path=»/». El comando es el siguiente:
C:\Windows\system32\inetsrv> .\appcmd set VDIR "www.foo.com/" -physicalPath:"C:\inetpub\foo.com"
Está bastante claro, lo único que conviene aclarar es que al vdir le añadimos la barra al final «www.foo.com/» porque estamos modificando el Physical Path del Virtual Directory con path virtual path=»/».
Para cualquier duda, podéis ejecutar el comando sin argumentos y visualizar la ayuda básica. Para información sobre objetos concretos se puede ir afinando la búsqueda de ayuda:
appcmd /?
appcmd site /?
appcmd add site /?