<?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>wAdmin.ru &#187; ISA Server</title>
	<atom:link href="http://blog.wadmin.ru/tag/isa-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.wadmin.ru</link>
	<description>Записки сисадмина</description>
	<lastBuildDate>Sun, 05 Feb 2012 12:00:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ISA 2006 &#8211; Создание бэкапа конфигурации средствами VBS</title>
		<link>http://blog.wadmin.ru/2009/09/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b1%d1%8d%d0%ba%d0%b0%d0%bf%d0%b0-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d0%b8-isa-2006-%d1%81%d1%80%d0%b5%d0%b4%d1%81/</link>
		<comments>http://blog.wadmin.ru/2009/09/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b1%d1%8d%d0%ba%d0%b0%d0%bf%d0%b0-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d0%b8-isa-2006-%d1%81%d1%80%d0%b5%d0%b4%d1%81/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 12:58:20 +0000</pubDate>
		<dc:creator>Сергей Мариничев</dc:creator>
				<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[ISA Server]]></category>
		<category><![CDATA[VBScript]]></category>

		<guid isPermaLink="false">http://blog.wadmin.ru/?p=211</guid>
		<description><![CDATA[Не так давно возникла задача &#8211; создавать по расписанию бэкапы конфигурации ISA на тестовом массиве. Естественно все виртуальное и на нем моделируются различные варианты окружений. Традиционно при свободном полете мысли документировать то что сделал не [...]]]></description>
			<content:encoded><![CDATA[<p>Не так давно возникла задача &#8211; создавать по расписанию бэкапы конфигурации ISA на тестовом массиве.</p>
<p>Естественно все виртуальное и на нем моделируются различные варианты окружений.<br />
Традиционно при свободном полете мысли документировать то что сделал не особо хочется, и поэтому приходится либо клацать мышкой в GUI, либо запоминать то что делал.</p>
<p>Решение нашлось традиционным методом &#8211; раскапывание документации.</p>
<p>Рецепт таков.<br />
Код представленный ниже, помещается в файл с произвольным именем.vbs и вызывается с параметром <strong>import</strong> или export</p>
<div class="codesnip-container" >
<div class="vb codesnip" style="font-family:monospace;"><span class="kw1">Sub</span> ImportExport()</p>
<p><span class="kw1">On</span> <span class="kw1">Error</span> <span class="kw1">Resume</span> <span class="kw1">Next</span><br />
Err.Clear</p>
<p><span class="co1">&#8216; Define a constant to indicate that no optional data will<br />
</span><span class="co1">&#8216; be exported or imported.<br />
</span><span class="kw1">const</span> noOptionalData = 0</p>
<p><span class="co1">&#8216;Declare the objects needed<br />
</span><span class="kw1">Dim</span> root <span class="co1">&#8216; The FPCLib.FPC root object<br />
</span><span class="kw1">Dim</span> firewall <span class="co1">&#8216; An FPCArray object<br />
</span><span class="kw1">Dim</span> strComputer</p>
<p><span class="kw1">Set</span> wshShell = WScript.CreateObject( <span class="st0">&quot;WScript.Shell&quot;</span> )<br />
strComputerName = wshShell.ExpandEnvironmentStrings( <span class="st0">&quot;%COMPUTERNAME%&quot;</span> )</p>
<p><span class="co1">&#8216; Create the root obect.<br />
</span><span class="kw1">Set</span> root = CreateObject(<span class="st0">&quot;FPC.Root&quot;</span>)</p>
<p><span class="co1">&#8216; Get a reference to the array object (firewall).<br />
</span><span class="kw1">Set</span> firewall = root.GetContainingArray<br />
<span class="kw1">If</span> WScript.Arguments(0) = <span class="st0">&quot;export&quot;</span> <span class="kw1">Then</span><br />
<span class="co1">&#8216; Export the configuration to the XML file.<br />
</span><span class="co1">&#8216; Notice that values are not specified for the optional parameters.<br />
</span>firewall.ExportToFile <span class="st0">&quot;D:\Backup\&quot;</span>&amp;amp; replace(<span class="kw1">Date</span>,<span class="st0">&quot;/&quot;</span>,<span class="st0">&quot;_&quot;</span>)+<span class="st0">&quot;_&quot;</span> &amp;amp; strComputername &amp;amp; <span class="st0">&quot;_Backup.xml&quot;</span>, noOptionalData<br />
<span class="kw1">If</span> err.number &amp;lt;&amp;gt; 0 <span class="kw1">Then</span><br />
message = <span class="st0">&quot;Backup (&quot;</span> &amp;amp; strComputername &amp;amp; <span class="st0">&quot;) Failed.&quot;</span> &amp;amp; vbCrLf &amp;amp; <span class="st0">&quot;Error number: &quot;</span> &amp;amp; err.number &amp;amp; <span class="st0">&quot;. Error Description: &quot;</span> &amp;amp; err.description<br />
<span class="kw1">else</span><br />
message = <span class="st0">&quot;Backup (&quot;</span> &amp;amp; strComputername &amp;amp; <span class="st0">&quot;) configuration complete.&quot;</span><br />
<span class="kw1">End</span> <span class="kw1">If</span></p>
<p><span class="kw1">Set</span> objMessage = CreateObject(<span class="st0">&quot;CDO.Message&quot;</span>)<br />
objMessage.Subject = <span class="st0">&quot;ISA Backup job&quot;</span><br />
objMessage.From = <span class="st0">&quot;isa.admin@domain.com&quot;</span><br />
objMessage.<span class="kw1">To</span> = <span class="st0">&quot;ISAArrayAuditors@domain.com&quot;</span><br />
objMessage.TextBody = message</p>
<p><span class="co1">&#8216;==This section provides the configuration information for the remote SMTP server.<br />
</span><span class="co1">&#8216;==Normally you will only change the server name or IP.<br />
</span>objMessage.Configuration.Fields.Item (<span class="st0">&quot;http://schemas.microsoft.com/cdo/configuration/sendusing&quot;</span>) = 2<br />
<span class="co1">&#8216;Name or IP of Remote SMTP Server<br />
</span>objMessage.Configuration.Fields.Item (<span class="st0">&quot;http://schemas.microsoft.com/cdo/configuration/smtpserver&quot;</span>) = <span class="st0">&quot;192.168.10.100&quot;</span><br />
<span class="co1">&#8216;Server port (typically 25)<br />
</span>objMessage.Configuration.Fields.Item (<span class="st0">&quot;http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot;</span>) = 25<br />
objMessage.Configuration.Fields.Update</p>
<p><span class="co1">&#8216;==End remote SMTP server configuration section==<br />
</span>objMessage.Send<br />
WScript.Quit<br />
<span class="kw1">End</span> <span class="kw1">If</span></p>
<p><span class="kw1">If</span> WScript.Arguments(0) = <span class="st0">&quot;import&quot;</span> <span class="kw1">Then</span><br />
<span class="kw1">Do</span><br />
strfileloc = (InputBox(<span class="st0">&quot; Location and Filename to Import&quot;</span>, <span class="st0">&quot;File to Import&quot;</span>))<br />
<span class="kw1">If</span> strfileloc &amp;lt;&amp;gt; <span class="st0">&quot;&quot;</span> <span class="kw1">Then</span><br />
strInput = <span class="kw1">True</span><br />
<span class="kw1">End</span> <span class="kw1">if</span><br />
<span class="kw1">Loop</span> <span class="kw1">until</span> strInput = <span class="kw1">True</span><br />
WScript.Echo <span class="st0">&quot;Importing the configuration from &quot;</span> &amp;amp; strfileloc &amp;amp; <span class="st0">&quot; to the &quot;</span> &amp;amp; firewall.Name &amp;amp; <span class="st0">&quot; array object, a message will appear when complete&quot;</span><br />
<span class="co1">&#8216; Import the firewall&#8217;s configuration from the XML file specified.<br />
</span><span class="co1">&#8216; Notice that values are not specified for some of the optional parameters.<br />
</span>firewall.ImportFromFile strfileloc,noOptionalData,,,<span class="kw1">True</span><br />
WScript.Echo <span class="st0">&quot;Importing was completed successfully.&quot;</span><br />
<span class="kw1">End</span> <span class="kw1">If</span><br />
<span class="kw1">End</span> <span class="kw1">Sub</span></p>
<p><span class="co1">&#8216;<br />
</span>importExport</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.wadmin.ru/2009/09/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b1%d1%8d%d0%ba%d0%b0%d0%bf%d0%b0-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d0%b8-isa-2006-%d1%81%d1%80%d0%b5%d0%b4%d1%81/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

