<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.microsoft.nl/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'Martijn Bellaard' and 'Small Business Server 2003'</title><link>http://blogs.microsoft.nl/search/SearchResults.aspx?o=DateDescending&amp;tag=Martijn+Bellaard,Small+Business+Server+2003&amp;orTags=0</link><description>Search results matching tags 'Martijn Bellaard' and 'Small Business Server 2003'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Network Access Protection part 3, 802.1x enforcement</title><link>http://blogs.microsoft.nl/blogs/itprocommunity/archive/2012/03/06/network-access-protection-part-3-802-1x-enforcement.aspx</link><pubDate>Tue, 06 Mar 2012 18:15:03 GMT</pubDate><guid isPermaLink="false">0357a05b-cef6-4f0c-b1ee-ac5309758ddc:26936</guid><dc:creator>Martijn Bellaard</dc:creator><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Een tweede NAP enforcement is op basis van 802.1x. (&lt;a href="http://en.wikipedia.org/wiki/IEEE_802.1X"&gt;http://en.wikipedia.org/wiki/IEEE_802.1X&lt;/a&gt;). Op het moment dat de een werkplek (supplicant) online komt, krijgt hij van de switch (authenticator) het verzoek voor zijn health status (authentication). Via het radius protocol wordt dit verzoek door gezet naar de NPS (authentication) server. Deze bepaalt de health status van de werkplek. Op basis van deze health status bepaalt de NPS server op welke VLAN de werkplek moet komen. Deze informatie geeft hij dan weer door aan de switch. De switch activeert dan de poort voor het juist VLAN.&lt;/p&gt;  &lt;p&gt;Om 802.1x enforcement in te richten heb je dus een switch nodig die 802.1x ondersteunt. Op deze switch definieer je je tweede VLAN. Een productie VLAN waar de werkplek geplaatst wordt als hij healthy is en een quarantaine VLAN als hij niet healthy is. Als de werkplek in de quarantaine VLAN terecht komt moet hij wel de mogelijkheid hebben zichzelf healthy te maken. In de praktijk komt dat er meestal op neer dat hij zijn antivirus en Windows moet kunnen updaten. Hiervoor heb je twee opties. De eerste is een update server in het quarantaine VLAN te plaatsen, de tweede is de werkplek toegang te geven tot internet. In beide gevallen kan de werkplek zichzelf gaan updaten&lt;/p&gt;  &lt;p&gt;Naast de Wired (bedraad) oplossing is het ook mogelijk 802.1x in te zetten voor een wireless (draadloos) oplossing. In deze blog gaan we uit van een wired oplossing, maar het opzetten van NAP voor wireless is niet veel anders.&lt;/p&gt;  &lt;p&gt;   &lt;h2&gt;     &lt;p&gt;Wat heb je nodig&lt;/p&gt;   &lt;/h2&gt; &lt;/p&gt;  &lt;p&gt;Voordat je begint moet je een paar zaken geregeld hebben voor dat je kunt beginnen. Hier is een overzicht van wat je minimaal nodig hebt:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;1 x Windows 2008 R2 NPS server&lt;/li&gt;    &lt;li&gt;1x een computer certificaat voor de NPS server. Deze gebruikt de NPS server voor het PEAP protocol.&lt;/li&gt;    &lt;li&gt;1x een 802.1x compliant switch dat het radius tunnel attribute ondersteunt. Het hoeft niet per definitie een layer 3 switch te zijn&lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Step by Step&lt;/h2&gt;  &lt;p&gt;We starten op de NPS server, in mijn test lab is dat de RRAS01 server. Start op deze server het Network Policy Server console op.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Selecteer NPS (Local)&lt;/li&gt;    &lt;li&gt;Kies voor Configure NAP&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image002_030A302E.jpg"&gt;&lt;img title="clip_image002" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image002" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image002_thumb_21083E22.jpg" width="244" height="176" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Kies voor IEEE 802.1X (Wired), &lt;/li&gt;    &lt;li&gt;Druk op Next&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Je moet nu opgeven welke switches je gaat gebruiken.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Druk op Add, en vul de gegevens in van je Switch&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image003_11F15F48.png"&gt;&lt;img title="clip_image003" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image003" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image003_thumb_7ED0329B.png" width="203" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Onthoudt de shared secret goed. Gebruik je een complexe shared secret, wat aan te raden is, copieer hem dan eventueel in password safe. Deze shared secret heb je later nodig op je switch.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Druk op OK en herhaal deze stap voor elke switch die je wilt inzetten.&lt;/li&gt;    &lt;li&gt;Druk op Next&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Je hoeft geen computer of users op te geven, als je gebruik maakt van 802.1x in combinatie met NAP. Wel bieden de meeste Switch leveranciers een uitbreiding op hun switch aan dat je gebruik kunt maken van authenticatie op basis van groepen of computers. Hiervoor moet je dus (meestal) een extra licentie kopen.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Druk op Next&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image004_04AAD635.png"&gt;&lt;img title="clip_image004" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image004" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image004_thumb_1C620D9B.png" width="221" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Controleer of je de juiste certificaat heb geselecteerd en dat het authenticatie protocol PEAP-MS-CHAPv2 is. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Druk op Next&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Nu komt het “lastige” gedeelte. We gaan aangeven welke VLAN voor Full Access gebruikt gaat worden en welke voor Restricted Access gebruikt gaat worden.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image005_369250F2.png"&gt;&lt;img title="clip_image005" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image005" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image005_thumb_6ED0C80A.png" width="244" height="95" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Onder Full access Network druk op Configure&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Je krijgt nu het volgende scherm voor je:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image006_099CEE17.png"&gt;&lt;img title="clip_image006" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image006" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image006_thumb_2154257D.png" width="244" height="234" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Tunnel-Type moet VLAN zijn, want de scheiding vindt plaats op basis van VLAN’s. Het medium is 802 inclusief Ethernet. De derde setting is die van Tunnel-Pvt-Group-ID. Dit is de VLAN die een werkplek Full Access geeft. Gebruik hier dus de juiste VLAN ID. In het voorbeeld is dat VLAN 777.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ga naar de tweede tabblad.&lt;/li&gt;    &lt;li&gt;Druk op Add&lt;/li&gt;    &lt;li&gt;Selecteer als Vendor: Custom&lt;/li&gt;    &lt;li&gt;Selecteer Tunnel-Tag&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;De Tunnel-Tag attribuut wordt door sommige switches gebruikt om settings op de switch te groeperen. Raadpleeg de handleiding van de switch of je deze nodig hebt. Staat er niets over in dan heb je hem waarschijnlijk niet nodig. Door deze op 1 te zetten heb je in ieder geval een juiste default waarde.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Druk op Add&lt;/li&gt;    &lt;li&gt;Als waarde gebruik je 1 of de waarde die je moet opgegeven volgens de handleiding van je switch.&lt;/li&gt;    &lt;li&gt;Druk 2x op OK&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image007_11D113AE.png"&gt;&lt;img title="clip_image007" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image007" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image007_thumb_29F47E09.png" width="244" height="98" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We gaan nu de restricted access network configureren. Dit gaat op dezelfde manier als bij Full Access. Alleen geef je als Tunnel-Pvt-Group-ID een andere VLAN op. Het VLAN waarop een werkplek komt als hij niet voldoet aan de eisen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image008_76B8449F.png"&gt;&lt;img title="clip_image008" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image008" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image008_thumb_4EA59580.png" width="244" height="238" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In mijn voorbeeld maak ik gebruik van VLAN ID 666.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Druk op Next&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image009_4CF4C9AC.png"&gt;&lt;img title="clip_image009" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image009" src="http://blogs.microsoft.nl/blogs/itprocommunity/clip_image009_thumb_52531483.png" width="221" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We geven nu aan welke Health Validator we willen gebruiken.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Druk op Next en dan op Finish&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;De NPS server is nu klaar. Je kunt nu je switch gaan configureren. Hoe dat moet zul je moeten opzoeken in de handleiding van je switch. Veel geluk met NAP en IEEE 802.1x&lt;/p&gt;  &lt;p&gt;Martijn Bellaard&lt;/p&gt;</description></item><item><title>EventID 1054</title><link>http://blogs.microsoft.nl/blogs/itprocommunity/archive/2009/03/24/eventid-1054.aspx</link><pubDate>Tue, 24 Mar 2009 19:00:00 GMT</pubDate><guid isPermaLink="false">0357a05b-cef6-4f0c-b1ee-ac5309758ddc:20013</guid><dc:creator>Martijn Bellaard</dc:creator><description>&lt;h2&gt;Windows cannot obtain the domain controller name for your computer network. &lt;/h2&gt;  &lt;p&gt;Heb je dat wel ooit eens gehad? Windows XP geïnstalleerd op je (oude) laptop. Lid gemaakt van je domain, komen&amp;#160; vervolgens je GPO niet door. Dat is erg vervelend als je bedenkt dat je anti virus software via een GPO wordt geïnstalleerd. &lt;/p&gt;  &lt;p&gt;Als ik vervolgens op onderzoek uit ga zie ik een Event ID 1054 melding in de event viewer. Deze melding betekent dat&amp;#160; ik geen domain controller heb. Toch wel raar als je op Domain Controller ingelogd bent op je andere monitor. Volgende stap is het bezoeken van google. &lt;/p&gt;  &lt;p&gt;Al snel kom ik op de volgende link terecht: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/324174"&gt;http://support.microsoft.com/kb/324174&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Volgens deze pagina zijn mijn IP instelling verkeerd. Een IPConfig leert me snel dat dit niet zo. Verder zoeken maar.    &lt;br /&gt;De volgende link die ik vind is: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/326152/en-us"&gt;http://support.microsoft.com/kb/326152/en-us&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Cannot connect to domain controller and cannot apply Group Policy with Gigabit Ethernet devices    &lt;br /&gt;Maar ik maak gebruik van wireless en dat is geen Gigabit verbinding. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/840669/en-us"&gt;http://support.microsoft.com/kb/840669/en-us&lt;/a&gt;     &lt;br /&gt;Volgens de KB moet ik het volgende doen:     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;1. Click &lt;b&gt;Start&lt;/b&gt;, click &lt;b&gt;Run&lt;/b&gt;, type &lt;b&gt;regedit&lt;/b&gt;, and then click &lt;b&gt;OK&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;2. Expand the following subkey: &lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/p&gt;  &lt;p&gt;3. Right-click &lt;b&gt;Winlogon&lt;/b&gt;, point to &lt;b&gt;New&lt;/b&gt;, and then click &lt;b&gt;DWORD Value&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;4. To name the new entry, type &lt;b&gt;GpNetworkStartTimeoutPolicyValue&lt;/b&gt;, and then press ENTER. &lt;/p&gt;  &lt;p&gt;5. Right-click &lt;b&gt;GpNetworkStartTimeoutPolicyValue&lt;/b&gt;, and then click &lt;b&gt;Modify&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;6. Under &lt;b&gt;Base&lt;/b&gt;, click &lt;b&gt;Decimal&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;7. In the &lt;b&gt;Value data&lt;/b&gt; box, type &lt;b&gt;60&lt;/b&gt;, and then click &lt;b&gt;OK&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;8. Exit Registry Editor, and then restart the computer. &lt;/p&gt;  &lt;p&gt;9. If the Group Policy startup script does not run, increase the value of the &lt;b&gt;GpNetworkStartTimeoutPolicyValue&lt;/b&gt; registry entry.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;De key die je aanpast bepaalt de timeout value&amp;#160; van een policy. Als de computer denkt dat hij in een timeout zit, omdat het erg lang duurt voordat de policy doorkomt,&amp;#160; dan kan het gebeuren dat de policy niet doorgevoerd kan worden.&amp;#160; Door deze key te verhogen kun je dus de computer opdracht geven langer te wachten.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Tijd om dieper te graven. Je kunt namelijk Group Policy Debugging aanzetten (&lt;a href="http://support.microsoft.com/kb/221833"&gt;http://support.microsoft.com/kb/221833&lt;/a&gt;&amp;#160; ).&amp;#160; De policy debugging zorgt er voor dat er debug informatie over policy processing bewaard wordt. Deze dedug informatie is terug te vinden in de file %Windir%\Debug\UserMode\userenv.log.     &lt;br /&gt;Nadat ik de policy debug heb aangezet en de computer gereboot, opende ik de logfile. Uit de logfile bleek vervolgens dat mijn laptop mijn DC probeerde te pingen, maar dat lukte niet en daarom ging hij er vanuit dat de DC niet aanwezig was. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;USERENV(1b8.4d0) 09:31:20:269 PingComputer: Second send failed with 11010     &lt;br /&gt;USERENV(1b8.4d0) 09:31:20:269 PingComputer: No data available     &lt;br /&gt;USERENV(1b8.4d0) 09:31:20:269 ProcessGPOs: DSGetDCName failed with 59&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Pingen lukt dus niet, dus snel een CMD geopend en “Ping MijDC” uitgevoerd. Inderdaad kreeg ik geen antwoord. Dat is niet zo raar, want ik had de Windows firewall aangezet. Alles wat ik dus nu nog hoefde te doen was ICMP toelaten. Nadat ik dat gedaan had werkte alles weer naar behoren.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Mocht je dus ooit een tegen een 1054 aanlopen dan weet je wat je moet doen.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Martijn Bellaard&lt;/p&gt;</description></item><item><title>Een ADMT migratie Howto</title><link>http://blogs.microsoft.nl/blogs/itprocommunity/archive/2009/02/25/een-admt-migratie-howto.aspx</link><pubDate>Wed, 25 Feb 2009 19:45:59 GMT</pubDate><guid isPermaLink="false">0357a05b-cef6-4f0c-b1ee-ac5309758ddc:19782</guid><dc:creator>Martijn Bellaard</dc:creator><description>&lt;p&gt;Bij een klant&amp;#160; doe ik op dit moment een AD migratie van twee domainen naar één domain. We hebben er voor gekozen om de Users te migreren met een ADMT script. In deze blog wil ik eens stil staan bij de script die ik geschreven heb voor mijn klant.    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;VOORWERK&lt;/h3&gt;  &lt;p&gt;   &lt;br /&gt;Voordat het script uitgevoerd kan worden moeten de volgende zaken geregeld zijn:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Opzetten “two way trust” tussen de oude domainen, old1.local en old2.local, en het nieuwe domain nieuwe.local om toegang te krijgen tot alle user accounts.&lt;/li&gt;    &lt;li&gt;ADMT installeren,&lt;/li&gt;    &lt;li&gt;Het aanmaken van de gebruiker miguser in alle domainen,&lt;/li&gt;    &lt;li&gt;Het installeren van de PEN servers op één van de domain controllers in het old1.local domain en in het old2.local domain,&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;h4&gt;SETUP ADMT&lt;/h4&gt;  &lt;p&gt;ADMT kan gedownload worden van: &lt;a href="Http://www.microsoft.com/downloads/details.aspx?FamilyID=6f86937b-533a-466d-a8e8-aff85ad3d212&amp;amp;displaylang=en"&gt;Http://www.microsoft.com/downloads/details.aspx?FamilyID=6f86937b-533a-466d-a8e8-aff85ad3d212&amp;amp;displaylang=en&lt;/a&gt;    &lt;br /&gt; Installeren ADMT 3.0&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ga naar de locatie waar je ADMT 3.0 gedownload hebt en start ADMTSetup.exe op.&lt;/li&gt;    &lt;li&gt; Op de Active Directory Migration Tool Installation Wizard scherm klik next&lt;/li&gt;    &lt;li&gt; Kies I Agree, Next&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;MS SQL Server Desktop Engine wordt geïnstalleerd&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Op de Database Selection, next&lt;/li&gt;    &lt;li&gt;Op de Active Directory Migration Tool v2 Database Import klik next&lt;/li&gt;    &lt;li&gt; Klik Finish&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;Aanmaken Migratie user account&lt;/h3&gt;  &lt;p&gt;Om users te kunnen migreren moet er in beide domains een account aanwezig zijn met dezelfde naam en wachtwoord. Op die manier is het mogelijk om vanuit het nieuwe domain in te loggen op de oude domain &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt; Maak in alle domeinen (nieuwe.local, old2.local, old1.local) de volgende user aan: Username: Miguser Password: ************** &lt;/li&gt;    &lt;li&gt;Maak deze user lid van domain admins. Hij moet alle accounts kunnen aanmaken en heeft dus de juiste rechten nodig. Je kunt ook kiezen om te werken met delegation of control en de account alleen rechten geven op de juiste OU.&amp;#160; Disable of verwijder dit account na de migratie.&lt;/li&gt;    &lt;li&gt;Maak de user nieuwe.local\miguser lid van de old1.local\administrators groep en old2.local\administrators groep. Net als bij 2 moet het account bij alle user in het oude domain kunnen&lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Setup Password Export Server&lt;/h3&gt;  &lt;p&gt;De Password Export Server (PES) zorgt er voor dat het ADMT script de wachtwoorden van alle users kan migreren naar het nieuwe domain. Hiervoor moet service dus als super-super-super&amp;#160; user toegang hebben tot het AD. Dit maakt het dus security technisch een zeer gevaarlijke service die pas gestart mag worden als de migratie begint.    &lt;br /&gt;Als eerste zul je een key moeten maken voor het oude domain in het nieuwe domain    &lt;br /&gt;1.&amp;#160;&amp;#160;&amp;#160; Log aan op de DC waarop ADMT 3.0 is geïnstalleerd    &lt;br /&gt;2.&amp;#160;&amp;#160;&amp;#160; Open een CMD    &lt;br /&gt;3.&amp;#160;&amp;#160;&amp;#160; Ga naar de directory c:\Windows\Admt\PES    &lt;br /&gt;4.&amp;#160;&amp;#160;&amp;#160; Run het volgende commando voor het Old2.local domain: Admt key /option:create /sourcedomain:old2.local/keyfile:c:\windows\admt\pes\geminikey /pwd:*&amp;lt;enter&amp;gt;    &lt;br /&gt;5.&amp;#160;&amp;#160;&amp;#160; Hij vraagt nu om een wachtwoord. Deze heb je zo weer nodig dus noteer hem    &lt;br /&gt;6.&amp;#160;&amp;#160;&amp;#160; Kopieer de inhoud van de directory c:\windows\admt\pes naar een domain controller van het old2.localdomain onder c:\pes.    &lt;br /&gt;7.&amp;#160;&amp;#160;&amp;#160; Log nu aan op een domain controller van het old2.localdomain    &lt;br /&gt;8.&amp;#160;&amp;#160;&amp;#160; Open een CMD    &lt;br /&gt;9.&amp;#160;&amp;#160;&amp;#160; Ga naar de directory c:\pes    &lt;br /&gt;10.&amp;#160;&amp;#160;&amp;#160; Run Pwdmig.msi    &lt;br /&gt;Nu ga je PES service installeren in het oude domain.    &lt;br /&gt;11.&amp;#160;&amp;#160;&amp;#160; Klik Next    &lt;br /&gt;12.&amp;#160;&amp;#160;&amp;#160; Op de Encryption File browse naar c:\pes en selecteer geminikey.pes bestand    &lt;br /&gt;13.&amp;#160;&amp;#160;&amp;#160; Klik Open    &lt;br /&gt;14.&amp;#160;&amp;#160;&amp;#160; Klik Next     &lt;br /&gt;15.&amp;#160;&amp;#160;&amp;#160; Voer het wachtwoord in.    &lt;br /&gt;16.&amp;#160;&amp;#160;&amp;#160; Klik Next    &lt;br /&gt;17.&amp;#160;&amp;#160;&amp;#160; Op de ADMT Password Migration DLL kies je als service account old2.local\miguser    &lt;br /&gt;18.&amp;#160;&amp;#160;&amp;#160; Herstart de domain controller.    &lt;br /&gt;19.&amp;#160;&amp;#160;&amp;#160; Na de restart moet je de Password Export Server Service starten. Deze staat standaard op manual.    &lt;br /&gt;Herhaal fase voor elke domain dat je migreerd naar het nieuwe domain&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;h2&gt;MIGRATIE SCRIPT&lt;/h2&gt;  &lt;p&gt;   &lt;br /&gt;Voor de migratie van de user wordt er gebruik gemaakt van een script. Aan het einde van de blog staat de uitdraai van het script.&amp;#160; Maar eerst wordt er een uitleg gegeven over het script en hoe het script gedraaid dient te worden.     &lt;br /&gt;&lt;/p&gt;  &lt;h4&gt;SCRIPT UITLEG&lt;/h4&gt;  &lt;p&gt;   &lt;br /&gt;Het script is bedoeld om de user account vanuit het source domain te migreren naar een nieuwe target domain inclusief de wachtwoorden van user accounts. In de onderstaande tabel staat een uitleg van het script per regel.    &lt;br /&gt;!!! LET OP!!! Alleen daar aanpassing doen als er in de tabel staat dat het mag. In elke ander situatie kan dit leiden tot een niet werkend script.    &lt;br /&gt;regel&amp;#160;&amp;#160;&amp;#160; Uitleg &lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;Regel&lt;/td&gt;        &lt;td&gt;Uitleg&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;1&lt;/td&gt;        &lt;td&gt;Option Explicit zorgt er voor dat elke variabel gedefinieerd MOET worden, voordat hij gebruikt mag worden. Hierdoor worden eventuele tik fouten voorkomen         &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;3 t/m 105&lt;/td&gt;        &lt;td&gt;In deze regels staan een aantal constanten gedefinieerd. Aanpassing in deze regels kunnen er voor zorgen dat het script niet langer werkt.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;106-122&lt;/td&gt;        &lt;td&gt;Variables definities         &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;123-166 &lt;/td&gt;        &lt;td&gt;&amp;#160; Aanmaken en openen van de logfiles         &lt;br /&gt;De migratie log is terug te vinden onder&amp;#160; C:\Scripts\Reports\Miglog.csv          &lt;br /&gt;De Error log is terug te vinden onder C:\Scripts\Reports\MigErrorlog.csv&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;166-189&amp;#160; &lt;/td&gt;        &lt;td&gt;Aanmaken van het Migratie object. Dit object is noodzakelijk om te kunnen migreren. De volgende waardes mogen worden aangepast:         &lt;br /&gt;objMigration.SourceDomain = Source domain          &lt;br /&gt;objMigration.SourceDomainController = Source DC          &lt;br /&gt;objMigration.SourceOU = Source OU waar de te migreren gebruikersaccount in staan. Ook eventuele users in child OUs zullen meegenomen worden.          &lt;br /&gt;objMigration.PasswordServer = De DC waar de PES service op geïnstalleerd is&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;190-207 &lt;/td&gt;        &lt;td&gt;Aanmaken van het user migratie object. Je hebt in regel 166 t/m 189 het migratie object gemaakt. Je defineert nu een child om de user te migreren. Op dezelfde manier kun je ook groepen en een computer migreren.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;208-209 &lt;/td&gt;        &lt;td&gt;Deze regel start de daadwerkelijke migratie.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;212-230&lt;/td&gt;        &lt;td&gt;Aanmaken van een HTML report. Deze is terug te vinden in c:\Scripts\Reports&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;231-237&lt;/td&gt;        &lt;td&gt;Deze regels copiëren de password vanuit het source domain naar de target domain&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;238-268 &lt;/td&gt;        &lt;td&gt;Afsluiten van de logfiles&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;269-einde &lt;/td&gt;        &lt;td&gt;Migratie event handling. &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;h2&gt; DRAAIEN VAN HET SCRIPT&lt;/h2&gt;  &lt;p&gt;Als het script aan je wensen is aangepast kun je beginnen met het draaien van het script   &lt;br /&gt;1.&amp;#160;&amp;#160;&amp;#160; Maak de directory c:\scripts en c:\scripts\reports aan op de DC waarop ADMT is geïnstalleerd.    &lt;br /&gt;2.&amp;#160;&amp;#160;&amp;#160; Kopieer de regels aan het einde van de blog naar notepad.    &lt;br /&gt;3.&amp;#160;&amp;#160;&amp;#160; Pas de regels 166-189 aan, zodat het juiste source domain, source ou en target ou vermeld staat.    &lt;br /&gt;4.&amp;#160;&amp;#160;&amp;#160; Sla dit bestand op als Migusersourcedomain.vbs    &lt;br /&gt;5.&amp;#160;&amp;#160;&amp;#160; Open een CMD    &lt;br /&gt;6.&amp;#160;&amp;#160;&amp;#160; Run het volgende commando: runas /user:miguser cmd.exe &amp;lt;enter&amp;gt; en voer het juiste wachtwoord in.    &lt;br /&gt;7.&amp;#160;&amp;#160;&amp;#160; Je krijgt nu een nieuwe CMD. Voer de volgende stappen uit in deze CMD    &lt;br /&gt;8.&amp;#160;&amp;#160;&amp;#160; Ga naar c:\scripts    &lt;br /&gt;9.&amp;#160;&amp;#160;&amp;#160; Voer het volgende commando in cscript migusersourcedomain.vbs &amp;lt;enter&amp;gt;    &lt;br /&gt;De migratie wordt nu uitgevoerd. Afhankelijk van de grote van het domain kan dit wel even duren. Pak rustig een bak koffie of twee of drie of …….&amp;#160; Bestudeer na afloop de logfiles in c:\script\reports voor eventuele accounts die niet goed gegaan zijn.&lt;/p&gt;  &lt;p&gt;SCRIPT&lt;/p&gt;  &lt;p&gt;Vanaf NU vind je HET script. Copieren en in notepad plakken. Veel plezier met het script. &lt;/p&gt;  &lt;p&gt;Martijn Bellaard&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;1.&amp;#160;&amp;#160;&amp;#160; Option Explicit    &lt;br /&gt;2.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;3.&amp;#160;&amp;#160;&amp;#160; &amp;#39; ADMT Scripting Constants    &lt;br /&gt;4.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Niet aanpassen en niet aankomen    &lt;br /&gt;5.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;6.&amp;#160;&amp;#160;&amp;#160; &amp;#39; PasswordOption constants    &lt;br /&gt;7.&amp;#160;&amp;#160;&amp;#160; Const admtComplexPassword&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0001    &lt;br /&gt;8.&amp;#160;&amp;#160;&amp;#160; Const admtCopyPassword&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0002    &lt;br /&gt;9.&amp;#160;&amp;#160;&amp;#160; Const admtDoNotUpdatePasswordsForExisting&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0010    &lt;br /&gt;10.&amp;#160;&amp;#160;&amp;#160; &amp;#39; ConflictOptions constants    &lt;br /&gt;11.&amp;#160;&amp;#160;&amp;#160; Const admtIgnoreConflicting&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0000    &lt;br /&gt;12.&amp;#160;&amp;#160;&amp;#160; Const admtMergeConflicting&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0001    &lt;br /&gt;13.&amp;#160;&amp;#160;&amp;#160; Const admtRemoveExistingUserRights&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0010    &lt;br /&gt;14.&amp;#160;&amp;#160;&amp;#160; Const admtRemoveExistingMembers&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0020    &lt;br /&gt;15.&amp;#160;&amp;#160;&amp;#160; Const admtMoveMergedAccounts&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0040    &lt;br /&gt;16.&amp;#160;&amp;#160;&amp;#160; &amp;#39; DisableOption constants    &lt;br /&gt;17.&amp;#160;&amp;#160;&amp;#160; Const admtLeaveSource&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0000    &lt;br /&gt;18.&amp;#160;&amp;#160;&amp;#160; Const admtDisableSource&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0001    &lt;br /&gt;19.&amp;#160;&amp;#160;&amp;#160; Const admtTargetSameAsSource&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0000    &lt;br /&gt;20.&amp;#160;&amp;#160;&amp;#160; Const admtDisableTarget&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0010    &lt;br /&gt;21.&amp;#160;&amp;#160;&amp;#160; Const admtEnableTarget&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0020    &lt;br /&gt;22.&amp;#160;&amp;#160;&amp;#160; &amp;#39; SourceExpiration constant    &lt;br /&gt;23.&amp;#160;&amp;#160;&amp;#160; Const admtNoExpiration = -1    &lt;br /&gt;24.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Translation Option    &lt;br /&gt;25.&amp;#160;&amp;#160;&amp;#160; Const admtTranslateReplace&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0    &lt;br /&gt;26.&amp;#160;&amp;#160;&amp;#160; Const admtTranslateAdd&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1    &lt;br /&gt;27.&amp;#160;&amp;#160;&amp;#160; Const admtTranslateRemove&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 2    &lt;br /&gt;28.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Report Type    &lt;br /&gt;29.&amp;#160;&amp;#160;&amp;#160; Const admtReportMigratedAccounts&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0    &lt;br /&gt;30.&amp;#160;&amp;#160;&amp;#160; Const admtReportMigratedComputers = 1    &lt;br /&gt;31.&amp;#160;&amp;#160;&amp;#160; Const admtReportExpiredComputers&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 2    &lt;br /&gt;32.&amp;#160;&amp;#160;&amp;#160; Const admtReportAccountReferences&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 3    &lt;br /&gt;33.&amp;#160;&amp;#160;&amp;#160; Const admtReportNameConflicts&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 4    &lt;br /&gt;34.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Option constants    &lt;br /&gt;35.&amp;#160;&amp;#160;&amp;#160; Const admtNone&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0    &lt;br /&gt;36.&amp;#160;&amp;#160;&amp;#160; Const admtData&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1    &lt;br /&gt;37.&amp;#160;&amp;#160;&amp;#160; Const admtFile&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 2    &lt;br /&gt;38.&amp;#160;&amp;#160;&amp;#160; Const admtDomain&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 3    &lt;br /&gt;39.&amp;#160;&amp;#160;&amp;#160; Const admtRecurse&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0100    &lt;br /&gt;40.&amp;#160;&amp;#160;&amp;#160; Const admtFlattenHierarchy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0000    &lt;br /&gt;41.&amp;#160;&amp;#160;&amp;#160; Const admtMaintainHierarchy&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H0200    &lt;br /&gt;42.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Event related constants    &lt;br /&gt;43.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Progress type    &lt;br /&gt;44.&amp;#160;&amp;#160;&amp;#160; Const admtProgressObjectMigration&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0    &lt;br /&gt;45.&amp;#160;&amp;#160;&amp;#160; Const admtProgressntDispatch&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1    &lt;br /&gt;46.&amp;#160;&amp;#160;&amp;#160; Const admtProgressntOperation&amp;#160;&amp;#160;&amp;#160; = 2    &lt;br /&gt;47.&amp;#160;&amp;#160;&amp;#160; Const admtProgressMailboxMigration&amp;#160; = 3    &lt;br /&gt;48.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Event type    &lt;br /&gt;49.&amp;#160;&amp;#160;&amp;#160; Const admtEventNone&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0    &lt;br /&gt;50.&amp;#160;&amp;#160;&amp;#160; Const admtEventObjectInputPreprocessed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1    &lt;br /&gt;51.&amp;#160;&amp;#160;&amp;#160; Const admtEventTaskStart&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 2    &lt;br /&gt;52.&amp;#160;&amp;#160;&amp;#160; Const admtEventTaskFinish&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 3    &lt;br /&gt;53.&amp;#160;&amp;#160;&amp;#160; Const admtEventObjectProcessed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 4    &lt;br /&gt;54.&amp;#160;&amp;#160;&amp;#160; Const admtEventGroupMembershipProcessed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 5    &lt;br /&gt;55.&amp;#160;&amp;#160;&amp;#160; Const admtEventntStatusUpdate&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; =6    &lt;br /&gt;56.&amp;#160;&amp;#160;&amp;#160; Const admtEventntNotStarted&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 7    &lt;br /&gt;57.&amp;#160;&amp;#160;&amp;#160; Const admtEventntFailedToStart&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 8    &lt;br /&gt;58.&amp;#160;&amp;#160;&amp;#160; Const admtEventntWaitingForReboot&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 9    &lt;br /&gt;59.&amp;#160;&amp;#160;&amp;#160; Const admtEventntRunning&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 10    &lt;br /&gt;60.&amp;#160;&amp;#160;&amp;#160; Const admtEventntCancelled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 11    &lt;br /&gt;61.&amp;#160;&amp;#160;&amp;#160; Const admtEventntPassed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 12    &lt;br /&gt;62.&amp;#160;&amp;#160;&amp;#160; Const admtEventntFailed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 13    &lt;br /&gt;63.&amp;#160;&amp;#160;&amp;#160; Const admtEventntWaitingForRetry&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 14    &lt;br /&gt;64.&amp;#160;&amp;#160;&amp;#160; Const admtEventntSuccessful&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 15    &lt;br /&gt;65.&amp;#160;&amp;#160;&amp;#160; Const admtEventntCompletedWithWarnings&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 16    &lt;br /&gt;66.&amp;#160;&amp;#160;&amp;#160; Const admtEventntCompletedWithErrors&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 17    &lt;br /&gt;67.&amp;#160;&amp;#160;&amp;#160; Const admtEventTaskLogSaved&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 18    &lt;br /&gt;68.&amp;#160;&amp;#160;&amp;#160; Const admtntPreCheckPhase&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H100    &lt;br /&gt;69.&amp;#160;&amp;#160;&amp;#160; Const admtntntOperationPhase&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H200    &lt;br /&gt;70.&amp;#160;&amp;#160;&amp;#160; Const admtntPostCheckPhase&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H300    &lt;br /&gt;71.&amp;#160;&amp;#160;&amp;#160; Const admtntStatusMask&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;HFF    &lt;br /&gt;72.&amp;#160;&amp;#160;&amp;#160; Const admtntPhaseMask&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;H300    &lt;br /&gt;73.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Status type    &lt;br /&gt;74.&amp;#160;&amp;#160;&amp;#160; Const admtStatusSuccess&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0    &lt;br /&gt;75.&amp;#160;&amp;#160;&amp;#160; Const admtStatusWarnings&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1    &lt;br /&gt;76.&amp;#160;&amp;#160;&amp;#160; Const admtStatusErrors&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 2    &lt;br /&gt;77.&amp;#160;&amp;#160;&amp;#160; &amp;#39;Extra Const made by Martijn Bellaard PQR    &lt;br /&gt;78.&amp;#160;&amp;#160;&amp;#160; Const strLogFile&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;quot;C:\Scripts\Reports\Miglog.csv&amp;quot;    &lt;br /&gt;79.&amp;#160;&amp;#160;&amp;#160; Const strErrorLogFile&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;quot;C:\Scripts\Reports\MigErrorlog.csv&amp;quot;    &lt;br /&gt;80.&amp;#160;&amp;#160;&amp;#160; Const Forwriting&amp;#160;&amp;#160;&amp;#160;&amp;#160; = true    &lt;br /&gt;81.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;82.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Declarations     &lt;br /&gt;83.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;84.&amp;#160;&amp;#160;&amp;#160; Dim objMigration    &lt;br /&gt;85.&amp;#160;&amp;#160;&amp;#160; Dim objUserMigration    &lt;br /&gt;86.&amp;#160;&amp;#160;&amp;#160; Dim objGroupMigration    &lt;br /&gt;87.&amp;#160;&amp;#160;&amp;#160; Dim objComputerMigration    &lt;br /&gt;88.&amp;#160;&amp;#160;&amp;#160; Dim objSecurityTranslation    &lt;br /&gt;89.&amp;#160;&amp;#160;&amp;#160; Dim objServiceAccountEnumeration    &lt;br /&gt;90.&amp;#160;&amp;#160;&amp;#160; Dim objPasswordMigration    &lt;br /&gt;91.&amp;#160;&amp;#160;&amp;#160; Dim objFSO    &lt;br /&gt;92.&amp;#160;&amp;#160;&amp;#160; Dim objLogfile    &lt;br /&gt;93.&amp;#160;&amp;#160;&amp;#160; Dim objErrorLogFile    &lt;br /&gt;94.&amp;#160;&amp;#160;&amp;#160; Dim lngStatusType    &lt;br /&gt;95.&amp;#160;&amp;#160;&amp;#160; lngStatusType = 0    &lt;br /&gt;96.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;97.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Create Logfile    &lt;br /&gt;98.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Add by Martijn Bellaard PQR    &lt;br /&gt;99.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;100.&amp;#160;&amp;#160;&amp;#160; &amp;#39;create instance of file system object    &lt;br /&gt;101.&amp;#160;&amp;#160;&amp;#160; Set objFSO = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)    &lt;br /&gt;102.&amp;#160;&amp;#160;&amp;#160; &amp;#39;Create Log file    &lt;br /&gt;103.&amp;#160;&amp;#160;&amp;#160; Set objLogFile = objFSO.CreateTextFile(strLogFile, Forwriting)    &lt;br /&gt;104.&amp;#160;&amp;#160;&amp;#160; Set objErrorLogFile = objFSO.CreateTextFile(strErrorLogFile, Forwriting)    &lt;br /&gt;105.&amp;#160;&amp;#160;&amp;#160; &amp;#39;Set time and date in logfile and screen    &lt;br /&gt;106.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;107.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;108.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;Start date:&amp;quot; &amp;amp; Date &amp;amp; &amp;quot;Start Time:&amp;quot;&amp;amp; Time     &lt;br /&gt;109.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;110.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;OLD&amp;#160; to NEW log &amp;quot;     &lt;br /&gt;111.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;112.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;113.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;114.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;Progress,Started,Finished,Failed,&amp;quot;     &lt;br /&gt;115.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;116.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;117.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;118.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;Start date:&amp;quot; &amp;amp; Date &amp;amp; &amp;quot;Start Time:&amp;quot;&amp;amp; Time     &lt;br /&gt;119.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;120.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;OLD to NEW log &amp;quot;     &lt;br /&gt;121.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;122.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;123.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;124.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;Object, Statusnummer,&amp;quot;     &lt;br /&gt;125.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;126.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;=========================================&amp;quot;     &lt;br /&gt;127.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;Start date:&amp;quot; &amp;amp; Date &amp;amp; &amp;quot;Start Time:&amp;quot;&amp;amp; Time    &lt;br /&gt;128.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;OLD to NEWlog&amp;quot; &amp;amp; strLogfile    &lt;br /&gt;129.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;=========================================&amp;quot;    &lt;br /&gt;130.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;131.&amp;#160;&amp;#160;&amp;#160; &amp;#39; ADMT Migration Class    &lt;br /&gt;132.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;133.&amp;#160;&amp;#160;&amp;#160; &amp;#39; create instance of migration object    &lt;br /&gt;134.&amp;#160;&amp;#160;&amp;#160; Set objMigration = wscript.CreateObject(&amp;quot;ADMT.Migration&amp;quot;, &amp;quot;Task_&amp;quot;)    &lt;br /&gt;135.&amp;#160;&amp;#160;&amp;#160; &amp;#39; set options    &lt;br /&gt;136.&amp;#160;&amp;#160;&amp;#160; objMigration.IntraForest = False    &lt;br /&gt;137.&amp;#160;&amp;#160;&amp;#160; objMigration.SourceDomain = &amp;quot;old1.local&amp;quot;    &lt;br /&gt;138.&amp;#160;&amp;#160;&amp;#160; objMigration.SourceDomainController = &amp;quot;SourceDC.old1.local&amp;quot;    &lt;br /&gt;139.&amp;#160;&amp;#160;&amp;#160; objMigration.SourceOU = &amp;quot;Medewerkers&amp;quot;    &lt;br /&gt;140.&amp;#160;&amp;#160;&amp;#160; objMigration.TargetDomain = &amp;quot;nieuwe.local&amp;quot;    &lt;br /&gt;141.&amp;#160;&amp;#160;&amp;#160; objMigration.TargetDomainController = &amp;quot;TargetDC.nieuwe.local&amp;quot;    &lt;br /&gt;142.&amp;#160;&amp;#160;&amp;#160; objMigration.TargetOU = &amp;quot;Import &amp;quot;    &lt;br /&gt;143.&amp;#160;&amp;#160;&amp;#160; objMigration.PasswordOption = AdmtCopyPassword    &lt;br /&gt;144.&amp;#160;&amp;#160;&amp;#160; objMigration.PasswordServer = &amp;quot;SourceDC.old1.local&amp;quot;    &lt;br /&gt;145.&amp;#160;&amp;#160;&amp;#160; objMigration.ConflictOptions = admtMergeConflicting + admtRemoveExistingUserRights + admtRemoveExistingMembers    &lt;br /&gt;146.&amp;#160;&amp;#160;&amp;#160; objMigration.AdmtEventLevel = admtStatusErrors    &lt;br /&gt;147.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;148.&amp;#160;&amp;#160;&amp;#160; &amp;#39; UserMigration Class    &lt;br /&gt;149.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;150.&amp;#160;&amp;#160;&amp;#160; &amp;#39; create instance of user migration object    &lt;br /&gt;151.&amp;#160;&amp;#160;&amp;#160; Set objUserMigration = objMigration.CreateUserMigration    &lt;br /&gt;152.&amp;#160;&amp;#160;&amp;#160; &amp;#39;set options    &lt;br /&gt;153.&amp;#160;&amp;#160;&amp;#160; objUserMigration.DisableOption = admtDisableTarget    &lt;br /&gt;154.&amp;#160;&amp;#160;&amp;#160; objUserMigration.SourceExpiration = admtNoExpiration    &lt;br /&gt;155.&amp;#160;&amp;#160;&amp;#160; objUserMigration.MigrateSIDs = False    &lt;br /&gt;156.&amp;#160;&amp;#160;&amp;#160; objUserMigration.TranslateRoamingProfile = False    &lt;br /&gt;157.&amp;#160;&amp;#160;&amp;#160; objUserMigration.UpdateUserRights = False    &lt;br /&gt;158.&amp;#160;&amp;#160;&amp;#160; objUserMigration.MigrateGroups = False    &lt;br /&gt;159.&amp;#160;&amp;#160;&amp;#160; objUserMigration.UpdatePreviouslyMigratedObjects = False    &lt;br /&gt;160.&amp;#160;&amp;#160;&amp;#160; objUserMigration.FixGroupMembership = False    &lt;br /&gt;161.&amp;#160;&amp;#160;&amp;#160; objUserMigration.MigrateServiceAccounts = False    &lt;br /&gt;162.&amp;#160;&amp;#160;&amp;#160; &amp;#39; migrate user accounts    &lt;br /&gt;163.&amp;#160;&amp;#160;&amp;#160; objUserMigration.Migrate admtDomain + admtRecurse + admtMaintainHierarchy    &lt;br /&gt;164.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;165.&amp;#160;&amp;#160;&amp;#160; &amp;#39; ReportGeneration Class    &lt;br /&gt;166.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;167.&amp;#160;&amp;#160;&amp;#160; &amp;#39; create instance of report generation object    &lt;br /&gt;168.&amp;#160;&amp;#160;&amp;#160; DIM objReportGeneration    &lt;br /&gt;169.&amp;#160;&amp;#160;&amp;#160; Set objReportGeneration = objMigration.CreateReportGeneration    &lt;br /&gt;170.&amp;#160;&amp;#160;&amp;#160; &amp;#39; set options    &lt;br /&gt;171.&amp;#160;&amp;#160;&amp;#160; objReportGeneration.AutoPreCheckRetry = True    &lt;br /&gt;172.&amp;#160;&amp;#160;&amp;#160; objReportGeneration.AutoPreCheckRetryInterval = 30    &lt;br /&gt;173.&amp;#160;&amp;#160;&amp;#160; objReportGeneration.AutoPreCheckRetryNumber = 48    &lt;br /&gt;174.&amp;#160;&amp;#160;&amp;#160; &amp;#39; generate report    &lt;br /&gt;175.&amp;#160;&amp;#160;&amp;#160; objReportGeneration.Type = admtReportMigratedAccounts    &lt;br /&gt;176.&amp;#160;&amp;#160;&amp;#160; objReportGeneration.Folder = &amp;quot;C:\scripts\Reports\&amp;quot;    &lt;br /&gt;177.&amp;#160;&amp;#160;&amp;#160; objReportGeneration.Generate admtNone    &lt;br /&gt;178.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;179.&amp;#160;&amp;#160;&amp;#160; &amp;#39; PasswordMigration Class    &lt;br /&gt;180.&amp;#160;&amp;#160;&amp;#160; &amp;#39; - Note: The source domain and OU will be used if not explicitly specified    &lt;br /&gt;181.&amp;#160;&amp;#160;&amp;#160; &amp;#39;----------------------------------------------------------------------------    &lt;br /&gt;182.&amp;#160;&amp;#160;&amp;#160; &amp;#39; create instance of password migration object    &lt;br /&gt;183.&amp;#160;&amp;#160;&amp;#160; Set objPasswordMigration = objMigration.CreatePasswordMigration    &lt;br /&gt;184.&amp;#160;&amp;#160;&amp;#160; &amp;#39;Last line    &lt;br /&gt;185.&amp;#160;&amp;#160;&amp;#160; &amp;#39;Set time and date in logfile and screen    &lt;br /&gt;186.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;187.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;188.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;End date:&amp;quot; &amp;amp; Date &amp;amp; &amp;quot;End Time:&amp;quot;&amp;amp; Time     &lt;br /&gt;189.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;190.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;End logfile &amp;quot;     &lt;br /&gt;191.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;192.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;193.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;194.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;195.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;196.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;End date:&amp;quot; &amp;amp; Date &amp;amp; &amp;quot;End Time:&amp;quot;&amp;amp; Time     &lt;br /&gt;197.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;198.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;End logfile &amp;quot;     &lt;br /&gt;199.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;200.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write &amp;quot;=========================================&amp;quot;     &lt;br /&gt;201.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;202.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;=========================================&amp;quot;     &lt;br /&gt;203.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;End date:&amp;quot; &amp;amp; Date &amp;amp; &amp;quot;End Time:&amp;quot;&amp;amp; Time    &lt;br /&gt;204.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;Finish OLD to OLD&amp;quot;    &lt;br /&gt;205.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;=========================================&amp;quot;    &lt;br /&gt;206.&amp;#160;&amp;#160;&amp;#160; Objlogfile.close    &lt;br /&gt;207.&amp;#160;&amp;#160;&amp;#160; objerrorLogFile.close    &lt;br /&gt;208.&amp;#160;&amp;#160;&amp;#160; &amp;#39; -----------------------------------------------------------------------------    &lt;br /&gt;209.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Progress event handler    &lt;br /&gt;210.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; lngProgressType: progress type (admtProgress*)    &lt;br /&gt;211.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; lngStarted:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; the number of started operations    &lt;br /&gt;212.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; lngFinished:&amp;#160;&amp;#160;&amp;#160;&amp;#160; the number of finished operations    &lt;br /&gt;213.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; lngFailed:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; the number of failed operations    &lt;br /&gt;214.&amp;#160;&amp;#160;&amp;#160; &amp;#39; -----------------------------------------------------------------------------    &lt;br /&gt;215.&amp;#160;&amp;#160;&amp;#160; Sub Task_Progress(lngProgressType, lngStarted, lngFinished, lngFailed)    &lt;br /&gt;a.&amp;#160;&amp;#160;&amp;#160; wscript.echo&amp;#160; &amp;quot;Progress: &amp;quot; &amp;amp; lngProgressType &amp;amp; &amp;quot; Started: &amp;quot; &amp;amp; lngStarted &amp;amp; &amp;quot; Finished: &amp;quot; &amp;amp; lngFinished &amp;amp; &amp;quot; Failed:&amp;quot; &amp;amp; lngFailed    &lt;br /&gt;b.&amp;#160;&amp;#160;&amp;#160; Objlogfile.write lngProgressType &amp;amp; &amp;quot;,&amp;quot; &amp;amp; lngStarted &amp;amp; &amp;quot;,&amp;quot; &amp;amp; lngFinished &amp;amp; &amp;quot;,&amp;quot; &amp;amp; lngFailed &amp;amp; &amp;quot;,&amp;quot;    &lt;br /&gt;c.&amp;#160;&amp;#160;&amp;#160; objLogfile.writeline    &lt;br /&gt;216.&amp;#160;&amp;#160;&amp;#160; End Sub    &lt;br /&gt;217.&amp;#160;&amp;#160;&amp;#160; &amp;#39; -----------------------------------------------------------------------------    &lt;br /&gt;218.&amp;#160;&amp;#160;&amp;#160; &amp;#39; Status event handler    &lt;br /&gt;219.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; lngEventType:&amp;#160;&amp;#160;&amp;#160; event type (admtEvent*)    &lt;br /&gt;220.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; strObjName:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; the name of the object    &lt;br /&gt;221.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; lngStatusType:&amp;#160;&amp;#160; status (admtStatus*)    &lt;br /&gt;222.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; objMesss:&amp;#160;&amp;#160;&amp;#160;&amp;#160; an array of messs    &lt;br /&gt;223.&amp;#160;&amp;#160;&amp;#160; &amp;#39; -----------------------------------------------------------------------------    &lt;br /&gt;224.&amp;#160;&amp;#160;&amp;#160; Sub Task_Status(lngEventType, strObjName, lngStatusType, objMesss)    &lt;br /&gt;225.&amp;#160;&amp;#160;&amp;#160; Dim strMess    &lt;br /&gt;a.&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;Object: &amp;quot; &amp;amp; strObjName&amp;#160; &amp;amp; &amp;quot; Status nummer: &amp;quot; &amp;amp; lngstatusType    &lt;br /&gt;b.&amp;#160;&amp;#160;&amp;#160; if lngStatusType &amp;gt; 0 then    &lt;br /&gt;i.&amp;#160;&amp;#160;&amp;#160; ObjErrorlogfile.write strObjName&amp;#160; &amp;amp; &amp;quot;,&amp;quot; &amp;amp; lngstatusType &amp;amp; &amp;quot;,&amp;quot;     &lt;br /&gt;ii.&amp;#160;&amp;#160;&amp;#160; objErrorLogfile.writeline    &lt;br /&gt;c.&amp;#160;&amp;#160;&amp;#160; end if    &lt;br /&gt;226.&amp;#160;&amp;#160;&amp;#160; End Sub    &lt;br /&gt;227.&amp;#160;&amp;#160;&amp;#160; &amp;#39;&amp;#160;&amp;#160; Einde Script    &lt;br /&gt;228.&amp;#160;&amp;#160;&amp;#160; &amp;#39; ---------------------------------------------------------------------------- &lt;/p&gt;  &lt;p&gt;Als je nog vragen hebt hoor ik ze graag.   &lt;br /&gt;Martijn Bellaard &lt;/p&gt;</description></item></channel></rss>