<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VirtualMinds &#187; IIS</title>
	<atom:link href="http://virtualminds.es/blog/index.php/category/iis/feed" rel="self" type="application/rss+xml" />
	<link>http://virtualminds.es/blog</link>
	<description>Think Virtually</description>
	<lastBuildDate>Mon, 07 Jun 2010 09:31:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Replicar configuración entre dos IIS</title>
		<link>http://virtualminds.es/blog/index.php/2008/08/replicar-configuraciaon-entre-dos-iis.html</link>
		<comments>http://virtualminds.es/blog/index.php/2008/08/replicar-configuraciaon-entre-dos-iis.html#comments</comments>
		<pubDate>Fri, 01 Aug 2008 08:51:29 +0000</pubDate>
		<dc:creator>Iñaki</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Receta]]></category>

		<guid isPermaLink="false">http://virtualminds.es/wordpress/?p=10</guid>
		<description><![CDATA[Volvemos con un poco de Perl, esta vez para Windows. Tengo un cliente con un par de frontales web y en su día programé una pequeña utilidad para mantener la configuración de los dos servidores actualizada. Para que funcione es necesario que esté instalado Perl para Windows (Yo uso el de ActiveState) y la utilidad [...]]]></description>
			<content:encoded><![CDATA[<p>Volvemos con un poco de Perl, esta vez para Windows. Tengo un cliente con un par de frontales web y en su día  programé una pequeña utilidad para mantener  la configuración de los dos servidores actualizada. Para que funcione es necesario que esté instalado Perl para Windows (Yo uso el de <a href="http://www.activestate.com/Products/activeperl/index.mhtml"  title="ActivePerl">ActiveState</a>) y la utilidad de migración de Internet Information Server que podéis descargar desde el site de Microsoft en <a href="http://www.microsoft.com/downloads/details.aspx?familyid=2aefc3e4-ce97-4f25-ace6-127f933a6cd2&#038;displaylang=en"  title="IIS Migration Tool">esta dirección</a>.</p>
<p>El script utilizada el servicio de componentes para conectarse al servidor remoto y pedirle el listado de sitios del IIS. Os pego aquí el código:</p>
<pre class="brush:perl">
use Win32::OLE;
use Win32::OLE::Enum;

my $host = 'SERVIDORREMOTO';

qx,del "%SYSTEMROOT%\\system32\\inetsrv\\MetaBack\\IIS Migration Tool Backup*",;

my @webs = get_sites();

foreach (@webs) {
	qx,iismt.exe $host w3svc/$_ /overwrite /noninteractive /configonly /siteid replace,;
}

sub get_sites {
	my $IIS = Win32::OLE->GetObject("IIS://$host/W3svc");
	my $enumIIS = Win32::OLE::Enum->new($IIS);
	my @site_id;

	foreach my $site ($enumIIS->All) {

		if($site->{Name} =~ /^\d+$/) {
			push @site_id,$site->{Name};
		}
	}

	return @site_id;
}
</pre>
<p>Cosas a tener en cuenta:</p>
<p> &#8211; El script apenas tiene comprobación de errores (ninguna) así que os dejo a vosotros esa tarea <img src='http://virtualminds.es/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
 &#8211; La utilidad IISMT.EXE tiene que estar en el path o en el propio directorio donde esté el script<br />
 &#8211; Podéis compilar en un EXE el script para no tener el intérprete de perl en una máquina en producción. Yo uso <a href="http://www.indigostar.com/perl2exe.htm"  title="Perl2Exe">perl2exe</a>, no es caro ($49) y da muy buenos resultados.</p>
<p>Nos vemos pronto <img src='http://virtualminds.es/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://virtualminds.es/blog/index.php/2008/08/replicar-configuraciaon-entre-dos-iis.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
