<?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>James' Tools and Tricks</title>
	<atom:link href="http://jrudd.org/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://jrudd.org/wordpress</link>
	<description>Tools, Tips and Hints for managing a network.</description>
	<lastBuildDate>Wed, 24 Feb 2010 03:35:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Windows Server 2008 R2 and Windows Mail</title>
		<link>http://jrudd.org/wordpress/2010/02/24/windows-server-2008-r2-and-windows-mail/</link>
		<comments>http://jrudd.org/wordpress/2010/02/24/windows-server-2008-r2-and-windows-mail/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 03:35:47 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[autoruns]]></category>
		<category><![CDATA[server 2008 R2]]></category>
		<category><![CDATA[SysInternals]]></category>
		<category><![CDATA[terminal server]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=126</guid>
		<description><![CDATA[I have just been setting up a new Windows Server 2008 R2 box up as a terminal server. As part of this I enabled the Desktop Experience feature, however this also enabled Windows Mail.
Windows mail seems to generate large amounts of ESENT messages in the log file as it tries to backup the mail database. [...]]]></description>
			<content:encoded><![CDATA[<p>I have just been setting up a new Windows Server 2008 R2 box up as a terminal server. As part of this I enabled the Desktop Experience feature, however this also enabled Windows Mail.</p>
<p>Windows mail seems to generate large amounts of ESENT messages in the log file as it tries to backup the mail database. It also create 5Mb of files for every user as they logon. As we don&#8217;t even use Windows Mail, just Outlook for staff I wanted to disable it.</p>
<p>There appears to be no easy way to remove it from the system, but you can prevent it from setting up the details for every user when the log on.</p>
<p>Download and runs the <a href="http://technet.microsoft.com/en-gb/sysinternals/default.aspx">Microsoft Sysinternals</a> program <a href="http://technet.microsoft.com/en-gb/sysinternals/bb963902.aspx">Autoruns </a>as an Administrator and then under the <strong>Explorer </strong>tab untick &#8220;Microsoft Windows&#8221; under both the <strong>Active Setup\Installed Components</strong> and the <strong>WOW6432Node\Active Setup\Installed Components</strong>.</p>
<p>Now when a new user logs in it will no longer set up Windows Mail files or shortcuts.</p>
<div id="attachment_128" class="wp-caption alignright" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2010/02/WinMail-Disable.png" rel="lightbox[126]"><img class="size-medium wp-image-128" title="Autoruns Windows Mail Disable" src="http://jrudd.org/wordpress/wp-content/uploads/2010/02/WinMail-Disable-300x232.png" alt="Autoruns Windows Mail Disable" width="300" height="232" /></a><p class="wp-caption-text">Autoruns Windows Mail Disable</p></div>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2010/02/24/windows-server-2008-r2-and-windows-mail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moodle Structure Problems</title>
		<link>http://jrudd.org/wordpress/2009/06/18/moodle-structure-problems/</link>
		<comments>http://jrudd.org/wordpress/2009/06/18/moodle-structure-problems/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 07:10:44 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Moodle]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[Meld]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=106</guid>
		<description><![CDATA[Recently I discovered our Moodle gradebook was playing up and not correctly recording marks from assignments as well as been unable to assign categories from quizes.
I tracked the problem down to the Moodle database losing all its default entries for its tables.]]></description>
			<content:encoded><![CDATA[<p>WARNING: DO NOT ATTEMPT ANY OF THIS IF YOU DO NOT FULLY UNDERSTAND IT. YOU CAN DESTROY YOUR MOODLE SITE.</p>
<p>Recently I discovered our Moodle gradebook was playing up and not correctly recording marks from assignments as well as been unable to assign categories from quizes.</p>
<p>I tracked the problem down to the Moodle database losing all its default entries for its tables. The cause is unknown but is quite likely the <a title="UTF Convert" href="http://moodle.org/mod/forum/discuss.php?d=97592">UTF conversion utility</a> I ran previously to make the system compatible with Asian languages for LOTE.</p>
<p>To fix this problem I needed to recreate the Moodle DB structure and then reimport the data.</p>
<h2>Backup</h2>
<p>First make a backup. I made a mistake the first time I tried repairing this and the backup I made saved me.</p>
<p>[code language="bash"]mysqldump -u backupacc -p -Q --opt moodle &gt; moodleBackup.sql[/code]</p>
<p>I created a duplicate site with a clean DB (copy the moodle folder and create a new DB) and went through the install. This needs to have all your modules and blocks to ensure all tables are created.</p>
<p>I then dumped the structure from this new DB and the old DB and compared them using Meld (or any other diffing program will work).</p>
<p>[code language="bash"] mysqldump -u backupacc -p --no-data --skip-add-drop-table moodletest2 &gt; moodleGoodStruc.sql<br />
mysqldump -u backupacc -p -d --skip-add-drop-table moodle &gt; moodleOldStruc.sql[/code]</p>
<p>Using Meld determine if there are any extra tables or fields in your current system that don&#8217;t exist in the clean one.</p>
<p>Then you need to determine if it is safe to delete those tables / field in your main DB or if they need to be added to the clean system. e.g. grade_items_history.decimals and grade_items_history.display were in the main DB but not the new one. After searching for it discovered they can be removed (<a href="http://tracker.moodle.org/browse/MDL-15985">MDL-15985</a>).</p>
<p>After getting them to match you need to dump your Moodle data from your main site.</p>
<p>You can speed up the next steps by reducing the size of backup_log if you wish. Just do a</p>
<p>[code language="sql"]<br />
Delete<br />
FROM `mdl_backup_log`<br />
WHERE `time` &lt;1242777600<br />
[/code]</p>
<p>Where the time code is <a href="http://converteverything.com/conversions/unix_time.htm">calculated as a unix time code</a> from about a month before todays date. This can reduce alot of space of your DB, and improve import/export times.</p>
<p>[code language="bash"]mysqldump -u backupacc -p  --no-create-info --extended-insert --complete-insert moodle &gt; moodleData200906171559.sql[/code]</p>
<p>You need the <strong>&#8211;complete-insert</strong> option to ensure each insert is labelled with field name, in case field order is different. I didn&#8217;t do this the first time and needed to restore the backup.</p>
<h2>Testing Merge</h2>
<p>Now you need to test it. Create a new empty DB and import the Structure then import your data.</p>
<p>[code language="bash"]mysql -u root -p moodleTest3 &lt; moodleStruc.sql<br />
mysql -u root -p moodleTest3 &lt; moodleData200906171559.sql[/code]</p>
<p>Check that no errors occurred during import, this is when I discovered most of my problems with extra non existent field.</p>
<h2>Prep for Applying</h2>
<p>Put your site in Maintenance mode so no users can login while you are testing this. (i.e. when you restore data site will already be in maintenance mode)</p>
<p>When everything is OK do another backup, as after this you are going to <strong>delete it all</strong>. (I recommend taking your site completely offline for this, not just maintenance mode. Edit your config.php and temporarily change either the username, password or db name or your database settings.)</p>
<p>Now re-export the Data again (assuming your site has been running while you have been doing tests)</p>
<p>[code language="bash"]mysqldump -u backupacc -p  --no-create-info --extended-insert --complete-insert moodle &gt; moodleData200906171559.sql[/code]</p>
<h2>Applying to Site</h2>
<p><strong>WARNING: HAVE A GOOD RELIABLE BACKUP BEFORE THIS STEP.  THIS WILL DESTROY YOUR MOODLE SITE.</strong></p>
<p>Now use phpMyAdmin to drop every table in the Moodle main DB. Just use Check All at the bottom and select Drop.</p>
<p>Now you need to redo your test restore above but to your main DB.</p>
<p>Once complete reconnect your config.php file and check everything on your site looks the same. Open some courses, check some gradebooks, have a look around.</p>
<p>When its OK take out of Maintenance mode and you should be good to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2009/06/18/moodle-structure-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Earth Zenworks Deployment</title>
		<link>http://jrudd.org/wordpress/2009/02/20/google-earth-zenworks-deployment/</link>
		<comments>http://jrudd.org/wordpress/2009/02/20/google-earth-zenworks-deployment/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 04:26:02 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[AdminUser]]></category>
		<category><![CDATA[ChangeInstallDirForNonAdmin]]></category>
		<category><![CDATA[Condition]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[deployment program]]></category>
		<category><![CDATA[google earth]]></category>
		<category><![CDATA[InstallExecuteSequence]]></category>
		<category><![CDATA[InstallUISequence]]></category>
		<category><![CDATA[local settings]]></category>
		<category><![CDATA[MSI]]></category>
		<category><![CDATA[orca]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Zenworks]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=98</guid>
		<description><![CDATA[How to deploy Google Earth to C:\Program Files\Google\Google Earth instead of Local Settings\Application Data\Google\Google Earth by removing AdminUser checks from the MSI.]]></description>
			<content:encoded><![CDATA[<p><a href="http://earth.google.com/">Google Earth</a> is a great program for schools, as it allows teachers and students to explore the worlds geography and use layers to examine  history, socio-economic information and many other areas.</p>
<p>It used to be fairly easier to deploy on your network, but after version 4.2 it became significantly more difficult if you use a deployment program like Zenworks. A new MSI test was introduced to determine where to install Google Earth. If the current user is not an Admin User it would redirect to <em>[LocalAppDataFolder]Google\Google Earth</em> (usually C:\Documents and Settings\username\Local Settings\Application Data\Google\Google Earth) which made it inaccessible to other users.</p>
<p>As Zenworks uses the System account, which is not an admin user, this would happen when the installer was launched by a student.</p>
<p>To fix this problem there are a few different techniques. You can use either <a href="http://www.technipages.com/download-orca-msi-editor.html">ORCA </a>or Admin Studio Tuner (from Zenworks) to create a transform file that ignores these checks. Alternatively you can use ORCA to edit the msi file directly, I had to use this technique for V5 due to some exisiting problems in the Google Earth MSI.</p>
<p>First download the full version of Google Earth, (<a href="http://dl.google.com/earth/client/GE5/release_5_0/GoogleEarth-Win-Plus-5.0.11337.1968.exe">V5.0.11337</a>). You should be able to find later versions through Google.</p>
<p>To find what you need to edit you can do a search in ORCA for <em>AdminUser </em>you should find around 3 entries.</p>
<p>The major entries are:</p>
<ul>
<li><em>InstallExecuteSequence: ChangeInstallDirForNonAdmin: NOT AdminUser</em> (Delete this row)</li>
<li><em>InstallExecuteSequence: setALLUSERS: AdminUser</em> (remove the word AdminUser so it applies to all installs)</li>
<li><em>InstallUISequence: ChangeInstallDirForNonAdmin: NOT AdminUser</em> (Delete this row)</li>
</ul>
<p>You may also wish to remove <em>AdminUser </em>as a <em>Condition </em>from <em>Component: Plus_Registry_wavdest.ax</em></p>
<p>Once these are removed or modified it should install in C:\Program Files\Google\Google Earth regardless of which user is logged in.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2009/02/20/google-earth-zenworks-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrating DHCP reservations from Novell to Microsoft</title>
		<link>http://jrudd.org/wordpress/2009/02/13/migrating-dhcp-reservations-from-novell-to-microsoft/</link>
		<comments>http://jrudd.org/wordpress/2009/02/13/migrating-dhcp-reservations-from-novell-to-microsoft/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 01:36:36 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[dhcp reservations]]></category>
		<category><![CDATA[dhcp server service]]></category>
		<category><![CDATA[dhcp servers]]></category>
		<category><![CDATA[eDirectory]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[novell dhcp]]></category>
		<category><![CDATA[novell servers]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=71</guid>
		<description><![CDATA[We are gradually migrating our core services from Netware to Windows Server 2003 and 2008. As part of this migration we needed to migrate all our DHCP reservations stored on our Novell servers to Windows Servers. ]]></description>
			<content:encoded><![CDATA[<p>We are gradually migrating our core services from Novell Netware to Windows Server 2003 and 2008. As part of this migration we needed to migrate all our DHCP reservations stored on our Novell servers to Windows Servers.</p>
<p>First a comment, although Microsoft seems to have a much better DNS system than on Netware 6.5, their DHCP implementation leaves a lot to be desired.</p>
<p>On Novell I could create a scope, reservations and options and it is stored in eDirectory. I could then have multiple DHCP servers with different IP ranges to offer. I could use the java console (sometime slow) to add a reservation and it would sync to both servers.</p>
<p>On Windows Server 2003 and 2008 I need to separate create scopes, allocation ranges and reservations on each server. Their is no synchronisation or communication between these servers. This means to migrate my reservations from my current Netware DHCP servers to the target Windows servers the reservations need to be added to each server, as well as adding any future reservations to both servers.</p>
<h2>Migration Process</h2>
<p>First use the Novell DNS/DHCP console and export the DHCP scope / database you are migrating.</p>
<p>I have written the following Perl code to read in the DHCP3TAB file generated and output a netsh file that will add all your reservations to any number of Windows DHCP servers.</p>
<p>You will need to modify the DHCP servers list to your AD servers and change the scopeName to the correct IP settings.</p>
<p>After running your DHCP3TAB through the perl script, copy output to your server and run <em>netsh exec outputFile.txt</em> to add it to your servers.</p>
<p>[code='perl']<br />
#!C:\Perl\bin\perl.exe</p>
<p># Designed to read in Rservations from a Novell DHCP Tab file and output a NetSH script file<br />
# From http://technet.microsoft.com/en-us/library/cc787375.aspx<br />
# On the destination server, the exec command is used to load and execute the converted reservations:<br />
#  netsh exec AdReservations.txt<br />
# After you use the exec command to load the file, you must reconcile all scopes.<br />
# Use net stop dhcpserver to stop the DHCP Server service and net start dhcpserver to restart it. Once the service is restarted, DHCP database changes take effect.</p>
<p>use strict; use warnings;</p>
<p>my $dhcptabName = "DHCP3TAB.txt";<br />
my $outFile = "AdReservations.txt";<br />
my @dhcpServers = ('\\\\DHCPServer1.win.us.schools.nsw.edu.au',<br />
    '\\\\DHCPServer2.win.us.schools.nsw.edu.au');<br />
my $scopeName = "10.10.11.0";</p>
<p>open F, "< $dhcptabName" or die "Can't open $dhcptabName : $!";<br />
open O, "> $outFile" or die "Can't open $outFile : $!";</p>
<p># File parsing<br />
my $ip;<br />
my $host;<br />
my $mac;<br />
my $type;<br />
my $comment="";</p>
<p>while (my $line = <F>){<br />
  if ($line =~ /^\[IP Address Configuration /i) {<br />
  # New entry, clear values<br />
    $ip="", $host="", $mac="", $type="", $comment="";</p>
<p>    while ((my $entry = <F>) !~ /^$/){<br />
    # Parse and fill in values<br />
      if ($entry =~ /IP Address Number = ([\d.]+)/i){<br />
        $ip=$1;<br />
      }<br />
      elsif ($entry =~ /Assignment Type = (\d+)/i){<br />
        $type=$1;<br />
      }<br />
      elsif ($entry =~ /Host Name = ([\w\-_]+)/i){<br />
        $host=$1;<br />
      }<br />
      elsif ($entry =~ /MAC Address = 1 (.+)/i){<br />
        $mac=$1;<br />
        $mac=~ s/\s+//g;<br />
      }<br />
      elsif ($entry =~ /Comment = (.+)/i){<br />
        $comment=$1;<br />
      }<br />
    }</p>
<p>    # If  type != 8 (reservation) discard<br />
    next unless ($type == 8);<br />
    next if ($mac eq "" or $ip eq "" or $host eq "");<br />
    foreach my $server (@dhcpServers){<br />
      print O "Dhcp Server $server Scope $scopeName Add reservedip $ip $mac \"$host\" \"$comment\" \"BOTH\"\n";<br />
    }<br />
  }<br />
}</p>
<p>close F;<br />
close O;<br />
[/code]</p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2009/02/13/migrating-dhcp-reservations-from-novell-to-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Renaming Novell user accounts</title>
		<link>http://jrudd.org/wordpress/2008/12/28/renaming-novell-user-accounts/</link>
		<comments>http://jrudd.org/wordpress/2008/12/28/renaming-novell-user-accounts/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 01:24:08 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Moodle]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[account]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[eDirectory]]></category>
		<category><![CDATA[home directories]]></category>
		<category><![CDATA[login names]]></category>
		<category><![CDATA[novell edirectory]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[username]]></category>
		<category><![CDATA[usernames]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=43</guid>
		<description><![CDATA[Recently we had to change the login names for around 1200 students.
As part of this rename we needed to change their Novell eDirectory account and home directory. We also needed to ensure linked systems such as an LDAP authenticated Moodle site and an IDM linked Active Directory (AD) domain were properly updated.
To perform the user [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we had to change the login names for around 1200 students.</p>
<p>As part of this rename we needed to change their Novell eDirectory account and home directory. We also needed to ensure linked systems such as an LDAP authenticated <a href="http://moodle.org/" target="_blank">Moodle </a>site and an IDM linked Active Directory (AD) domain were properly updated.</p>
<p>To perform the user account and folder rename we used <a href="http://www.hbware.com/content/view/61/12/" target="_blank">Mass User</a> from <a href="http://www.hbware.com/" target="_blank">HBWare</a>. This is a great program we already used for creating and managing home directories and quotas. There was a small bug in the rename area, but it was quickly fixed when brought to Hans’ attention.<br />
Note: Before beginning you need to have a list of the old usernames and the new usernames.  A simple two column Excel or CSV file would be fine.</p>
<h2>Novell</h2>
<p>Create Mapping File: The mapping file is used by Mass User to know what to rename the existing username to.</p>
<p>Use <a href="http://www.novell.com/coolsolutions/tools/13908.html">NDS Report</a> ( http://www.novell.com/coolsolutions/tools/13908.html ) to create a list of all the accounts. You only want the DN and CN fields. Save this as an Excel or CSV file.</p>
<div id="attachment_50" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/1andsrepcontainer.png" rel="lightbox[43]"><img class="size-medium wp-image-50" title="NDS Report: Select Student OU" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/1andsrepcontainer-300x251.png" alt="NDS Report: Select Student OU" width="300" height="251" /></a><p class="wp-caption-text">NDS Report: Select Student OU</p></div>
<div id="attachment_51" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/1bndsrepuser.png" rel="lightbox[43]"><img class="size-medium wp-image-51" title="NDS Report: Choose only CN" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/1bndsrepuser-300x249.png" alt="NDS Report: Choose only CN" width="300" height="249" /></a><p class="wp-caption-text">NDS Report: Choose only CN</p></div>
<p>Create a new MS Access file and import the account list<br />
Import the text / excel file that lists the old and new account names.<br />
You now need to create a query that maps the cn to the old account name, and then use this to generate a list of the full old dn and the new account name.</p>
<div id="attachment_53" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2aaccessmapping.png" rel="lightbox[43]"><img class="size-medium wp-image-53" title="Access: Mapping Query" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2aaccessmapping-300x274.png" alt="Access: Mapping Query" width="300" height="274" /></a><p class="wp-caption-text">Access: Mapping Query</p></div>
<div id="attachment_54" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2baccessdata.png" rel="lightbox[43]"><img class="size-medium wp-image-54" title="Access: Query Results" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2baccessdata-300x206.png" alt="Access: Query Results" width="300" height="206" /></a><p class="wp-caption-text">Access: Query Results</p></div>
<p>You can then export this as a text file.</p>
<div id="attachment_55" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2caccessexport1.png" rel="lightbox[43]"><img class="size-medium wp-image-55" title="Access: Export as Text file" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2caccessexport1-300x195.png" alt="Access: Export as text file" width="300" height="195" /></a><p class="wp-caption-text">Access: Export as text file</p></div>
<div id="attachment_56" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2daccessexport2.png" rel="lightbox[43]"><img class="size-medium wp-image-56" title="Access: Export Delimited" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2daccessexport2-300x212.png" alt="Access: Export Delimited" width="300" height="212" /></a><p class="wp-caption-text">Access: Export Delimited</p></div>
<p>You will need to set the field separate as ‘=’ and set the test qualifier to none.</p>
<div id="attachment_57" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2eaccessexport3.png" rel="lightbox[43]"><img class="size-medium wp-image-57" title="Access: Export = Delimiter and no Text Qualifier" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/2eaccessexport3-300x213.png" alt="Access: = as Delimiter and no Text Qualifier" width="300" height="213" /></a><p class="wp-caption-text">Access: = as Delimiter and no Text Qualifier</p></div>
<p>You should end up with each line having format:<br />
OLDNAME.OU.C=NEWNAME<br />
Once the mapping file is generated you can apply it either to individual OUs (e.g. year groups), or to the entire Users container. I would recommend applying to small containers initially to allow checking for errors. After verifying all renames were performed correctly you can then apply the rename to your entire users’ container.</p>
<div id="attachment_58" class="wp-caption alignnone" style="width: 310px"><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/12/massuserrename.png" rel="lightbox[43]"><img class="size-medium wp-image-58" title="Mass User: Rename" src="http://jrudd.org/wordpress/wp-content/uploads/2008/12/massuserrename-300x234.png" alt="Mass User: Rename" width="300" height="234" /></a><p class="wp-caption-text">Mass User: Rename</p></div>
<h2>IDM 3.0 – Active Directory</h2>
<p>Before doing the mass rename we did some simple tests of renaming eDirectory accounts to see how they replicated to Active Directory. We determined that the individual renames were successfully propagated through IDM to automatically change the pre-2000 and logon name fields to match the new eDirectory account.<br />
When performing the mass rename of accounts, AD was checked after doing each OU to check propagation was successful. We experienced no problems with IDM and all accounts were successfully synchronised with Active Directory.</p>
<h2>Moodle</h2>
<p>For Moodle we wished for users to retain their own accounts including all their settings and course information.  To do this the username stored in the Moodle Database (DB) would need to be changed to the new username.<br />
Before making changes to Moodle I recommend putting the site in admin mode and temporarily disabling your LDAP authentication. I only put the site in Admin mode and then had problems during migration as some students had attempted to logon after I had renamed the eDirectory accounts, but before migrating Moodle accounts. This created new user accounts in Moodle that prevented the update queries running due to duplicate key name problems (ie the old account would not rename to new one if one has already been created with the new name)<br />
First you need to import your list of old and new account names into the database. If you already have it in a separate DB on your Moodle server you can use that, otherwise it is best to just to create a new table in the Moodle DB.<br />
I used this query to check the mapping fields. You will need to adjust the fields and collation types for your own setup.<br />
I use the IDNumber field to store the full DN, if you use a different field you will need to adjust this.</p>
<h3>Validation:</h3>
<p><code># Shows the current username, the new username and the new IDNumber field for validation check.<br />
SELECT mdl.`username` , ern.`StudentId` , replace( `idnumber` , mdl.`username` , ern.`StudentId`<br />
COLLATE latin1_swedish_ci )<br />
FROM moodle.`mdl_user` mdl, sbhsdata.`oasisStudentIdMap` ern<br />
WHERE mdl.`username`<br />
COLLATE latin1_general_ci = ern.`OldStudentId`</code></p>
<h3>Update:</h3>
<p><code># Replaces the IDNumber field with the new username.<br />
UPDATE moodle.`mdl_user` mdl, sbhsdata.`oasisStudentIdMap` ern<br />
SET  `idnumber` = replace( `idnumber` , mdl.`username` , ern.`StudentId` COLLATE latin1_swedish_ci )<br />
WHERE mdl.`username`<br />
COLLATE latin1_general_ci = ern.`OldStudentId`</code></p>
<p><code># Replaces the mdl_user field with the new username.<br />
UPDATE `mdl_user` mdl, `rename` ren<br />
SET  mdl.`username` = ren.`newname`<br />
WHERE mdl.`username`= ren.`oldname`</code><br />
Note: As can be seen by the queries, during the migration I did two separate updates, one to update the IDNumber field and another to update the mdl_user field. When I had completed migration I realised I had only needed to update the mdl_user field as Moodle would automatically update the value in IDNumber at next log on.</p>
<h2>Round Up</h2>
<p>The migration to the new accounts went well with no problems from student passwords or accounts, although we had a few instances of students using the old username instead of the new one.</p>
<p>Since performing the change we have also implemented a <a href="http://www.papercut.com/products/ng/">Papercut</a> system which would have required the additional step of <a href="http://www.papercut.com/kb/Main/RenameUserAccounts">renaming</a> all of its accounts to ensure student balances were carried across.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2008/12/28/renaming-novell-user-accounts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AD Password Reset and Bulk Modify</title>
		<link>http://jrudd.org/wordpress/2008/12/09/ad-password-reset-and-bulk-modify/</link>
		<comments>http://jrudd.org/wordpress/2008/12/09/ad-password-reset-and-bulk-modify/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 08:28:34 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Modify]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[password control]]></category>
		<category><![CDATA[sAMaccountName]]></category>
		<category><![CDATA[student passwords]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[username]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[Wisesoft]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=45</guid>
		<description><![CDATA[Those who in the past have used the Novell Change Pass utility may have been missing it when moving to Active Directory.
A great tool is Wisesoft Password Control which allows you to just type in the username, it will display info about the account and give you the option to change the password, enable/disable the [...]]]></description>
			<content:encoded><![CDATA[<p>Those who in the past have used the Novell Change Pass utility may have been missing it when moving to Active Directory.</p>
<p>A great tool is <a href="http://www.wisesoft.co.uk/Products/PasswordControl/Main/default.aspx" target="_blank">Wisesoft Password Control</a> which allows you to just type in the username, it will display info about the account and give you the option to change the password, enable/disable the account and unlock the account.<br />
It is ideal to make available to teachers for resetting the student passwords if you use the Delegate control option in AD Users and Computers for your student OU&#8217;s.</p>
<p>The other useful tool on the website is a pair of tools <a href="http://www.wisesoft.co.uk/Products/PasswordControl/BulkPasswordControl/default.aspx" target="_blank">Bulk Password Control</a> and <a href="http://www.wisesoft.co.uk/Products/PasswordControl/BulkModify/Default.aspx" target="_blank">Bulk Modify</a>. These allow you to bulk reset the password for a large group of students, or modify the attributes for a large number of users. It can read these in from a CSV file, and match the CSV entires to either sAMaccountName or some other user attribute. You can also set the attribute based on their existing attributes.</p>
<p>After downloading it will ask you for a code that you can get with a free <a href="http://www.wisesoft.co.uk/Login/Register.aspx" target="_blank">registration </a>on their site.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2008/12/09/ad-password-reset-and-bulk-modify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OverDisk</title>
		<link>http://jrudd.org/wordpress/2008/06/25/overdisk/</link>
		<comments>http://jrudd.org/wordpress/2008/06/25/overdisk/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 11:41:21 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Folder]]></category>
		<category><![CDATA[folders]]></category>
		<category><![CDATA[graphical view]]></category>
		<category><![CDATA[overdisk]]></category>
		<category><![CDATA[pie chart]]></category>
		<category><![CDATA[Size]]></category>
		<category><![CDATA[Space]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=41</guid>
		<description><![CDATA[Recently I needed to identify where all the space was going on our server. Usually I just use the Folder Size tab extension but it requires scanning every time you close the Properties dialogue.
After looking around online I found a great free utility that displays the info in an easy to explore graphical view. OverDisk [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I needed to identify where all the space was going on our server. Usually I just use the <a href="http://jrudd.org/wordpress/2007/11/17/folder-size-shell-extension/">Folder Size tab extension</a> but it requires scanning every time you close the Properties dialogue.</p>
<p>After looking around online I found a great free utility that displays the info in an easy to explore graphical view. <a href="http://users.forthnet.gr/pat/efotinis/programs/overdisk.html">OverDisk</a> scans the drive or folder (this took around 10 mins for a drive containing hundreds of home directories) and then you can save the data so it does not need to constantly rescan (unless you make changes to files).You can also have it only rescan a certain subfolder rather than the entire drive again.</p>
<p>It presents the information in a colour coded pie chart, allowing you to easily see which folders and files are using the most space.</p>
<p>You can click on the folder and the pie chart will change to reflect that folder or click the middle of graph to go up a level. Right clicking on a folder gives you an easy option to Open or Explore in Explorer.</p>
<p><a href="http://jrudd.org/wordpress/wp-content/uploads/2008/06/od.jpg" rel="lightbox[41]"><img class="alignright size-medium wp-image-42" title="OverDisk" src="http://jrudd.org/wordpress/wp-content/uploads/2008/06/od-300x224.jpg" alt="OverDisk folder space tool" width="300" height="224" /></a></p>
<p>Links:</p>
<ul>
<li><a href="http://users.forthnet.gr/pat/efotinis/programs/overdisk.html">http://users.forthnet.gr/pat/efotinis/programs/overdisk.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2008/06/25/overdisk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Access-based Enumeration</title>
		<link>http://jrudd.org/wordpress/2008/05/06/access-based-enumeration/</link>
		<comments>http://jrudd.org/wordpress/2008/05/06/access-based-enumeration/#comments</comments>
		<pubDate>Tue, 06 May 2008 07:55:25 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Access-based]]></category>
		<category><![CDATA[Enumeration]]></category>
		<category><![CDATA[Folder]]></category>
		<category><![CDATA[management tools]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[school situation]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[windows server 2003 r2]]></category>
		<category><![CDATA[WindowsNetworking]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=40</guid>
		<description><![CDATA[A great new feature in Windows Server 2003 is Access-based Enumeration (ABE).
What ABE does is hide any file or folder that a user does not have access to. So for example the folder where you store all your users home drives, would usually appear jam packed with folders, most of which would return an Access [...]]]></description>
			<content:encoded><![CDATA[<p>A great new feature in Windows Server 2003 is <a href="http://www.microsoft.com/windowsserver2003/techinfo/overview/abe.mspx">Access-based Enumeration</a> (ABE).</p>
<p>What ABE does is hide any file or folder that a user does not have access to. So for example the folder where you store all your users home drives, would usually appear jam packed with folders, most of which would return an <em>Access Denied</em> error. However, with ABE installed users would only see the folders they have access to, usually their own.</p>
<p>This is great especially if you are coming from a Novell background where this is the standard behaviour. It is also very useful in a school situation to keep the students from seeing things they shouldn&#8217;t.</p>
<p>To use ABE you need to download the management tools from <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=04A563D9-78D9-4342-A485-B030AC442084&amp;displaylang=en">Microsoft ABE Management Tools</a>, then after installation either enable it on all shares or bring up properties and manually add it to shares.</p>
<p>A better description and walk through is available <a href="http://www.windowsnetworking.com/articles_tutorials/Implementing-Access-Based-Enumeration-Windows-Server-2003.html">WindowsNetworking: Implementing Access-Based Enumeration in Windows Server 2003 R2</a></p>
<p>Links in this post:</p>
<ul>
<li><a href="http://www.microsoft.com/windowsserver2003/techinfo/overview/abe.mspx">Windows Server 2003 Access-based Enumeration Overview</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=04A563D9-78D9-4342-A485-B030AC442084&amp;displaylang=en">Download Server 2003 Access-based Enumeration</a></li>
<li><a href="http://www.windowsnetworking.com/articles_tutorials/Implementing-Access-Based-Enumeration-Windows-Server-2003.html">Implementing Access-Based Enumeration in Windows Server 2003 R2</a></li>
</ul>
<p><a href="http://www.microsoft.com/windowsserver2003/techinfo/overview/abe.mspx" target="_blank"></a></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=04A563D9-78D9-4342-A485-B030AC442084&amp;displaylang=en" target="_blank"></a></p>
<p><a href="http://www.windowsnetworking.com/articles_tutorials/Implementing-Access-Based-Enumeration-Windows-Server-2003.html" target="_blank"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2008/05/06/access-based-enumeration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notepad++</title>
		<link>http://jrudd.org/wordpress/2008/04/24/notepad/</link>
		<comments>http://jrudd.org/wordpress/2008/04/24/notepad/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 10:33:11 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Utilities]]></category>
		<category><![CDATA[ConTEXT]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[freeware text editor]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html css]]></category>
		<category><![CDATA[notepad]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[regular expression]]></category>
		<category><![CDATA[tabbed interface]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=39</guid>
		<description><![CDATA[Notepad++ is a freeware text editor that has a wide range of great features.
I use it for nearly all my text based programming (PHP, HTML, CSS, CMD, JS, etc), for editing configuration files and reading Linux text files (i.e. only LF no CR).
It has replaced my previous one, ConTEXT, as my primary editor.

It has a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://notepad-plus.sourceforge.net/">Notepad++</a> is a freeware text editor that has a wide range of great features.</p>
<p>I use it for nearly all my text based programming (PHP, HTML, CSS, CMD, JS, etc), for editing configuration files and reading Linux text files (i.e. only LF no CR).</p>
<p>It has replaced my previous one, <a href="http://www.contexteditor.org/">ConTEXT</a>, as my primary editor.</p>
<ul>
<li>It has a tabbed interface which makes it easy to work on multiple files</li>
<li>good syntax highlighting for a wide range of languages</li>
<li>good regular expression find and replace, as well as find in files in a directory</li>
<li>can change shortcut keys</li>
<li>does manually indenting but to my knowledge does not auto-indent.</li>
</ul>
<p><del datetime="2009-02-20T01:46:34+09:00">It used to be even better, but most recent version does not include the HexEditor plugin from previous releases (although it does appear to still work if it is installed).</del><br />
The <a title="Hex Editor" href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;package_id=222593#">Hex Editor</a> is now available as a plugin for the Unicode version.</p>
<p>Overall a great freeware application.</p>
<p>Available from Source forge: <a href="http://notepad-plus.sourceforge.net/">Notepad++</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2008/04/24/notepad/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Local Intranet Problems with Internet Explorer 7 and Novell</title>
		<link>http://jrudd.org/wordpress/2008/01/01/local-intranet-problems-with-internet-explorer-7-and-novell/</link>
		<comments>http://jrudd.org/wordpress/2008/01/01/local-intranet-problems-with-internet-explorer-7-and-novell/#comments</comments>
		<pubDate>Tue, 01 Jan 2008 00:36:43 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Novell]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[ConsoleOne]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[Zenworks]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/2008/01/01/local-intranet-problems-with-internet-explorer-7-and-novell/</guid>
		<description><![CDATA[ When you install Internet Explorer 7 (IE7) on Windows XP or Windows Server 2003 it may display a security warning when you access applications and files stored on Novell drive mappings if it does not consider them part of your local intranet.
It may also prevent MS Access from opening databases from the network as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap1.png" target="_blank" title="Open File - Security Warning" rel="lightbox[32]"><img src="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap1.thumbnail.png" title="Open File - Security Warning" alt="Open File - Security Warning" class="imageright" height="93" width="128" /></a> When you install Internet Explorer 7 (IE7) on Windows XP or Windows Server 2003 it may display a security warning when you access applications and files stored on Novell drive mappings if it does not consider them part of your local intranet.<br />
It may also prevent MS Access from opening databases from the network as they are considered a security threat.</p>
<p>To see if your mapped drive is considered as either <em>Internet </em>or <em>Local Intranet</em>: first make sure Status Bar is on (View -&gt; Status Bar), then browse to a sub folder of drive and look in lower right hand corner. <img src="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap6.png" alt="Zone Internet" /> or <img src="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap5.png" alt="Zone Intranet" /></p>
<h2>Testing Security Settings or Configure for Individual PC</h2>
<ol>
<li>Open the &#8220;Internet Options&#8221; control panel</li>
<li>Click Security Tab, Local Intranet, Sites</li>
<li>Untick <em>Automatically detect intranet network</em> then tick <em>Include all local (intranet) sites not listed in other zones</em> and <em>Include all network paths (UNC)</em>. <a href="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap3.png" title="Local Intranet Detection settings" target="_blank" rel="lightbox[32]"><img src="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap3.thumbnail.png" alt="Local Intranet Detection settings" align="right" height="71" width="128" /></a>I find these are the minimum required. However I find these still occasionally don&#8217;t work so I add the server names and server IP range to intranet list.</li>
<li>Click Advanced and add the names and IPs of your servers. This should be in form <em>MyServer</em>, and IP ranges as <em>10.1.1.2-10</em>.<a href="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap4.png" title="Local Intranet Add Sites to Zone" target="_blank" rel="lightbox[32]"><img src="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap4.thumbnail.png" alt="Local Intranet Add Sites to Zone" align="right" height="113" width="128" /></a></li>
<li>Browse to network location and check if Explorer shows Local Intranet in lower right of screen.<br />
Check if files and applications now open without requiring verification.</li>
</ol>
<h2>Deploying Settings using Group Policies</h2>
<p>If performing the above has fixed the problem you probably need to deploy these settings to all users, which can be done using Group Policies.</p>
<ol>
<li>Open the Group Policy for machines affected (this may just be local GPEdit.msc on a terminal server or the Zenworks Workstation Policy in ConsoleOne).</li>
<li>Make sure the IE7 version of inetres.adm is loaded (~2.3MB). If not it can be download from <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=11ab3e81-6462-4fda-8ee5-fcb8264c44b1&amp;displaylang=en" target="_blank" title="Administrative Templates for Internet Explorer 7 for Windows">MS IE7 ADM.</a></li>
<li>Go to <em>Computer Configuration</em> -&gt; <em>Windows Components</em> -&gt; <em>Internet Explorer</em> -&gt; <em>Internet Control Panel</em> -&gt; <em>Security Page</em> and set the following:
<ul>
<li>Site to Zone Assignment List:<a href="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap7.png" title="Group Policy Zone Assignments" rel="lightbox[32]"><img src="http://jrudd.org/wordpress/wp-content/uploads/2007/12/zonemap7.thumbnail.png" title="Group Policy Zone Assignments" alt="Group Policy Zone Assignments" align="right" height="114" width="128" /></a><br />
Add your server names with a value of 1 to list.<br />
You can add your server IP range with name &#8220;10.x.y.1-30&#8243; and value of 1.<br />
You may want to add the Windows Update entries with a value of 2.</p>
<pre>http://*.windowsupdate.microsoft.com
http://windowsupdate.microsoft.com
*.windowsupdate.com
update.microsoft.com</pre>
</li>
<li>Note: Adding items to the Zone Assignment List prevents desktop users adding trusted sites themselves.</li>
<li>Disable <em>Turn on Automatic detection of intranet</em> as this only works with Active Directory.</li>
<li>Enable <em>Include all local (intranet) sites not listed in other zones</em> and <em>Include all network paths (UNC)</em></li>
</ul>
</li>
<li>Exit Group Policy editor</li>
</ol>
<p>Other resources:</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=11ab3e81-6462-4fda-8ee5-fcb8264c44b1&amp;displaylang=en" target="_blank" title="Administrative Templates for Internet Explorer 7 for Windows">MS Admin Templates for Internet Explorer 7</a></li>
<li><a href="http://www.vexentricity.com/?p=61" target="_blank" title="IE7 and Intranets | Vexentricity ">IE7 and Intranets | Vexentricity</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/wordpress/2008/01/01/local-intranet-problems-with-internet-explorer-7-and-novell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
