<?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&#039; Tools and Tricks &#187; Utilities</title>
	<atom:link href="http://jrudd.org/category/utilities/feed/" rel="self" type="application/rss+xml" />
	<link>http://jrudd.org</link>
	<description>Tools, Tips and Hints for managing a network.</description>
	<lastBuildDate>Sun, 15 Apr 2012 12:59:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Papercut</title>
		<link>http://jrudd.org/2010/08/papercut/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=papercut</link>
		<comments>http://jrudd.org/2010/08/papercut/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 23:11:23 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Papercut]]></category>
		<category><![CDATA[Photocopier]]></category>
		<category><![CDATA[photocopiers]]></category>
		<category><![CDATA[Printer]]></category>
		<category><![CDATA[printer usage]]></category>
		<category><![CDATA[Printing]]></category>
		<category><![CDATA[student laptop]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[Windows 2008 R2]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=232</guid>
		<description><![CDATA[I have received a few questions asking about Papercut so here are some of the details about it and what we use it for. Papercut can run on a Windows Server (2003, 2008 or 2008 R2) using windows print queues &#8230; <a href="http://jrudd.org/2010/08/papercut/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://jrudd.org/wp-content/uploads/2010/08/Papercut1.png" rel="lightbox[232]"><img class="alignleft size-medium wp-image-242" title="Papercut Accounts" src="http://jrudd.org/wp-content/uploads/2010/08/Papercut1-294x300.png" alt="" width="294" height="300" /></a>I have received a few questions asking about <a href="http://www.papercut.com">Papercut</a> so here are some of the details about it and what we use it for.</p>
<p>Papercut can run on a Windows Server (2003, 2008 or 2008 R2) using windows print queues or a Novell Linux OES server with <a href="http://www.papercut.com/download/ng/#novell">iPrint</a> (CUPS &amp; SAMBA), it is written in Java with some wrappers for the OS in use.</p>
<p>We originally ran it on a Server 2003 R2 (x86) but have recently updated to a Windows 2008 R2 (x64)print server. The main reason for the upgrade was to provide up to date drivers for Windows 7 32 &amp; 64bit. We also run the <a href="http://www.papercut-mf.com">Papercut MF</a> version which costs A LOT more, but allows you to use it with external devices, such as photocopiers.</p>
<p>Papercut has some really useful features, <a href="http://www.papercut.com/tour/balance-recharge/top-up-cards/">Card recharge</a> allows you to generate top up cards and print them out yourself. Then you just cut them up and given them to the office (or canteen) to sell to the students. Makes recharging much easier and no need for office staff to login to an admin console to top up accounts.</p>
<p>We recently had a student laptop roll-out (NSW DER), these laptops are not on our domain so needed an alternative way to print. Papercut has a feature called <a href="http://www.papercut.com/tour/web-print/">WebPrint </a>which allows students to upload MS office or PDF files to a website and have them printed to the chosen printer. You need to run software for it on a windows pc (server or client) which automatically opens the document and prints it to the chosen printer. As our Print server is running Windows and is a virtual machine we just configured it to auto-login as a limited user we created and installed Office, and Acrobat.</p>
<p>We use the <a href="http://www.papercut.com/tour/reporting-in-detail/">reports</a> function for auditing staff accounts and charging printer usage back to faculties. Staff are automatically added to different charge accounts based on their AD group membership.</p>
<p>We have just started using Advanced Scripting to charge staff different prices than students on shared copiers and printers.<br />
The following script is what we use, as it is based on how faculties are invoiced at the end of each term. It is based on the Papercut recipe &#8220;Discount for staff&#8221; with a few changes.</p>
<pre class="brush: jscript; collapse: true; light: false; title: ; toolbar: true; notranslate">
/*
* Change Pricing for staff
*
* Staff are charged based on cost to school.
*
*/
function printJobHook(inputs, actions) {

var DISCOUNT_GROUP   = &quot;Staff-All&quot;;
var COST_COLOUR  = 0.07; // Click Rate of Colour
var COST_BW  = 0.02;  // Click Rate of B/W
var COST_A4  = 0.01;  // Price per page of A4
var COST_A3  = 0.03;  // Price per page of A3

/*
* This print hook will need access to all job details
* so return if full job analysis is not yet complete.
* The only job details that are available before analysis
* are metadata such as username, printer name, and date.
*
* See reference documentation for full explanation.
*/

if (!inputs.job.isAnalysisComplete) {
	// No job details yet so return.
	return;
}

if (inputs.user.isInGroup(DISCOUNT_GROUP)) {
	// Debug messages are written to [install-path]/server/logs/server.log
	actions.log.debug(&quot;Cost before discount: &quot; + inputs.job.cost);

	// Initial 0
	var newCost = 0;

	// Includes Duplex
	if (inputs.job.paperSizeName == &quot;A4&quot;) {
		newCost = inputs.job.totalSheets * COST_A4;
	}
	else {
		newCost = inputs.job.totalSheets * COST_A3 ;
	}

	newCost += inputs.job.totalGrayscalePages * COST_BW;
	newCost += inputs.job.totalColorPages * COST_COLOUR;

	 actions.job.setCost(newCost);

	actions.log.debug(&quot;Staff Pricing on &quot; + inputs.job.printerName + &quot; For &quot; + inputs.job.totalSheets +
		&quot; sheets had &quot; + inputs.job.totalGrayscalePages + &quot; B/W &amp; &quot; +
		inputs.job.totalColorPages + &quot; Colour, Cost after discount: &quot; + newCost);

	// Record that as discount was applied in the job comment.
	actions.job.addComment(&quot;Staff Pricing applied. Had &quot; + inputs.job.totalGrayscalePages + &quot; B/W &amp; &quot; +
	inputs.job.totalColorPages + &quot; Colour&quot;);
	}
}
</pre>
<p>Other useful features:</p>
<ul>
<li>Students and staff see a summary of how many pages they are going to print, which helps reduce accidental printing of entire chapters of text instead of just a few pages.</li>
<li>Logs and statistics show which printers are getting used, how much is getting printed, and who printed the document but didn&#8217;t collect it.</li>
<li>Great support. I have contacted them over a number of issues and they have always gotten back quickly with good ideas, or have added features in later versions.</li>
</ul>
<p>Downsides:</p>
<ul>
<li>Although the price for education version of <a href="http://www.papercut.com/pricing/education/">Papercut NG </a>is not too bad, to get the MF version which supports copiers it costs around twice as much. Also you then need cost recovery devices for the copiers ~AUD$1,800 each, and there are annual support and maintenance costs ~AUD$1,000/year.</li>
</ul>
<p>If you want to get an idea of how much printing your staff and students or just want to keep a record of who is printing what (like you could do easily with iPrint)  try the free <a href="http://www.papercut.com/products/free_software/print_logger/">Papercut Print Logger</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/2010/08/papercut/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using BackupPC with DiskShadow to backup open files</title>
		<link>http://jrudd.org/2010/07/using-backuppc-with-diskshadow-to-backup-open-files/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-backuppc-with-diskshadow-to-backup-open-files</link>
		<comments>http://jrudd.org/2010/07/using-backuppc-with-diskshadow-to-backup-open-files/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 14:59:48 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[backuppc]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[DiskShadow]]></category>
		<category><![CDATA[noacl]]></category>
		<category><![CDATA[openssh]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[server 2008 R2]]></category>
		<category><![CDATA[snapshots]]></category>
		<category><![CDATA[Task Scheduler]]></category>
		<category><![CDATA[VShadow]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/?p=151</guid>
		<description><![CDATA[This post is to assist in the setup of a BackupPC system able to backup in use files by using MS volume snapshots. It also has the benefit of only having the RSync daemon running during the backup which increases security. <a href="http://jrudd.org/2010/07/using-backuppc-with-diskshadow-to-backup-open-files/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<h1>Introduction</h1>
<p>This post is to assist in the setup of a BackupPC system able to  backup in use files by using MS volume snapshots. It also has the  benefit of only having the RSync daemon running during the backup which  increases security.</p>
<p>This method is based on some other posts I  have seen using <a href="http://www.goodjobsucking.com/?p=62">VShadow</a>, <a href="http://www.goodjobsucking.com/?p=62"><em>Backing Up Open Files on Windows with Rsync</em></a>, and some  suggestions on <a href="http://www.goodjobsucking.com/?p=62&amp;cpage=2#comment-3159">DiskShadow</a> but goes further in using RSync as a system service giving full access  to files, and removing the need to use winexe.</p>
<h2>General Outline</h2>
<ol>
<li>Create a new user <em><strong>backuppc </strong></em>(try to match case of the user on Linux). Very limited rights</li>
<li>Install Cygwin with RSync, OpenSSH and configure them</li>
<li>Create a scheduled task to run as SYSTEM when triggered by a certain event</li>
<li>Set BackupPC server for passwordless login to host and modify Pre/Post Dump Cmds</li>
</ol>

<h1>Overview</h1>
<p>In Windows 7 and Server 2008 R2 elevation is required to create snapshots. As a remote SSH connection cannot bypass UAC a way is needed to create the snapshot, bypassing the elevation prompt. I also wished to run the Rsync Daemon as SYSTEM user so it has rights to view all files.</p>
<p>To do this I moved all the elevated tasks into a Task Scheduler item that is set to run as SYSTEM, and is triggered by an Event log event.</p>
<ol>
<li>BackupPC performs a password-less key SSH logon to client</li>
<li>It runs a script which creates an event log entry and then waits for RSync to start before returning to BackupPC and starting the backup.</li>
<li>Task scheduler is triggered by <a href="http://support.microsoft.com/kb/315410">Event Log</a> and starts DiskShadow as SYSTEM.</li>
<li>Disk shadow creates a shadow of any chosen volumes, mounts them and then starts RSync.<br />
It then waits for a file to be created by BackupPC at the end of the backup telling it to stop RSync and delete the snaphots.</li>
</ol>
<h3>Flow and triggers</h3>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="205" valign="top"><strong>BackupPC Server</strong></td>
<td colspan="2" width="411" valign="top"><strong>Host PC</strong></td>
</tr>
<tr>
<td width="205" valign="top"><strong>backuppc User</strong></td>
<td width="205" valign="top"><strong>backuppc User</strong></td>
<td width="205" valign="top"><strong>SYSTEM</strong></td>
</tr>
<tr>
<td style="text-align: center;" colspan="3" width="411" valign="top"><strong>Start Backup</strong></td>
</tr>
<tr>
<td width="205" valign="top">SSH to Host PC</td>
<td width="205" valign="top"></td>
<td width="205" valign="top"></td>
</tr>
<tr>
<td width="205" valign="top"></td>
<td width="205" valign="top">Log Event</td>
<td width="205" valign="top">Diskshadow: Snaphsot</td>
</tr>
<tr>
<td width="205" valign="top"></td>
<td width="205" valign="top"></td>
<td width="205" valign="top">Start Rsync</td>
</tr>
<tr>
<td width="205" valign="top"></td>
<td width="205" valign="top">Close and return</td>
<td width="205" valign="top"></td>
</tr>
<tr>
<td width="205" valign="top">Begin Backup</td>
<td width="205" valign="top"></td>
<td width="205" valign="top"></td>
</tr>
<tr>
<td style="text-align: center;" colspan="3" width="411" valign="top"><strong>Finish Backup</strong></td>
</tr>
<tr>
<td width="205" valign="top">SSH to Host PC</td>
<td width="205" valign="top"></td>
<td width="205" valign="top"></td>
</tr>
<tr>
<td width="205" valign="top"></td>
<td width="205" valign="top">Create a Wake.up file</td>
<td width="205" valign="top"></td>
</tr>
<tr>
<td width="205" valign="top"></td>
<td width="205" valign="top"></td>
<td width="205" valign="top">Stop Rsync</td>
</tr>
<tr>
<td width="205" valign="top"></td>
<td width="205" valign="top"></td>
<td width="205" valign="top">Delete Snaphost</td>
</tr>
</tbody>
</table>
<h1>Host PC</h1>
<p>Create a new user, <em><strong>backuppc</strong></em>, you can limit this account further in Security policy after everything is configured.</p>
<p>Create a BackupPC folder and add the following scripts to it. These are also available in a <a href="http://jrudd.org//download/general/BackupPC-Config.zip">zip file</a>. Note: There is a file embedded within this post, please visit this post to download the file. You will need to modify paths depending on where you create the folder. I used C:\cygwin\BackupPC but a better location may be C:\cygwin\usr\share\BackupPC</p>
<p>Most of these scripts are just modified versions of the ones written for <a href="http://www.goodjobsucking.com/?p=62">VShadow</a>, changed to work with DiskShadow and Task Scheduler.</p>
<p><strong>pre-cmd.vbs</strong></p>
<pre class="brush: vb; collapse: true; light: false; title: ; toolbar: true; notranslate">' This file starts the commands
' It will start the snapshot process and quite once RSync is running

Const Rsync = &quot;C:\cygwin\var\run\rsyncd.pid&quot;
Const Flag = &quot;C:\cygwin\var\run\wake.up&quot;
Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
'
' Pid file shouldn't be there already
' Check /stop service , still there delete
'
If DoesFileExist(Rsync)=0 Then
	fso.DeleteFile(Rsync)
End If
'
' Nor should &quot;wake.up&quot;
'
If DoesFileExist(Flag)=0 Then
   fso.DeleteFile(Flag)
End If

Set objShell = CreateObject(&quot;WScript.Shell&quot;)
' objShell.Exec &quot;C:\BackupPC\backuppc.cmd &gt; &quot; &amp; Log

' This writes event log entry that triggers task scheduler to start system process
' that takes snapshot and starts RSync
objShell.Exec &quot;Logevent.exe -r &quot;&quot;BackupPC&quot;&quot; -e 10 -s S &quot;&quot;Backup Start&quot;&quot; &quot;
Wscript.Echo &quot;Sent BackupPC Event Log Trigger&quot;

'
' Just sleep until the file &quot;rsyncd.pid&quot; appears
'

While DoesFileExist(Rsync)
   wscript.sleep 10000
Wend

' functions

function DoesFileExist(FilePath)
Dim fso
	Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
	if not fso.FileExists(FilePath) then
		DoesFileExist = -1
	else
		DoesFileExist = 0
	end if
	Set fso = Nothing

end function</pre>
<p><strong>backuppc.cmd</strong></p>
<pre class="brush: plain; collapse: true; light: false; title: ; toolbar: true; notranslate">c:
cd C:\cygwin\BackupPC
diskshadow /s DiskShadowScript.txt /l C:\cygwin\var\log\diskshadow.log
del C:\cygwin\var\tmp\*.cab /q
c:cd C:\cygwin\BackupPCdiskshadow /s DiskShadowScript.txt /l C:\cygwin\var\log\diskshadow.log
del C:\cygwin\var\tmp\*.cab /q</pre>
<p><strong>DiskShadowScript.txt</strong></p>
<pre class="brush: plain; collapse: true; light: false; title: ; toolbar: true; notranslate">#DiskShadow script file

#Make shadows persistent, No writers as data volume

# If backing up C: and any app files (ntds, database, etc) use writers

#SET CONTEXT PERSISTENT NOWRITERS

SET CONTEXT PERSISTENT

#Cab location for process

SET METADATA C:\cygwin\var\tmp\backup.cab

SET VERBOSE ON

BEGIN BACKUP

#Alias volume with alias

ADD VOLUME C: ALIAS SystemData

ADD VOLUME F: ALIAS UserData

#Create Snapshot

CREATE

#Expose the volume and run command file then unexpose

EXPOSE %UserData% B:

EXPOSE %SystemData% T:

EXEC C:\cygwin\BackupPC\Serverbackup.cmd

UNEXPOSE B:

UNEXPOSE T:

END BACKUP

#Delete the shadow copy

DELETE SHADOWS SET %VSS_SHADOW_SET%

#End of script</pre>
<p><strong>Serverbackup.cmd</strong></p>
<pre class="brush: plain; collapse: true; light: false; title: ; toolbar: true; notranslate">REM Start RSync now that Snapshots are created

net start rsyncd

REM Need to wait until backup completed

cscript &quot;C:\cygwin\BackupPC\sleep.vbs&quot;

Logevent.exe -r &quot;BackupPC&quot; -e 20 -s S &quot;Backup Completed&quot;
</pre>
<p><strong>sleep.vbs</strong></p>
<pre class="brush: vb; collapse: true; light: false; title: ; toolbar: true; notranslate">Const Rsync = &quot;C:\cygwin\var\run\rsyncd.pid&quot;
Const Flag = &quot;C:\cygwin\var\run\wake.up&quot;
Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)

' Just sleep until the file &quot;rsyncd.pid&quot; appears
While DoesFileExist(Rsync)
   wscript.sleep 10000
Wend

' Now sleep until the file &quot;wake.up&quot; appears
While DoesFileExist(Flag)
   wscript.sleep 10000
Wend

fso.DeleteFile(Flag)

' It's time to kill Rsync
'Stop Service
strServiceName = &quot;rsyncd&quot;
Set objWMIService = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2&quot;)
Set colListOfServices = objWMIService.ExecQuery(&quot;Select * from Win32_Service Where Name ='&quot; &amp; strServiceName &amp; &quot;'&quot;)
For Each objService in colListOfServices
    objService.StopService()
	Wscript.Echo &quot;RSyncD Stopped&quot;
Next

' Wait for Rsync to let go
wscript.sleep 5000

' Delete PID file
If DoesFileExist(Rsync)=0 Then
   fso.DeleteFile(Rsync)
End If

' functions
function DoesFileExist(FilePath)
Dim fso
	Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
	if not fso.FileExists(FilePath) then
		DoesFileExist = -1
	else
		DoesFileExist = 0
	end if
	Set fso = Nothing

end function
</pre>
<h2>Cygwin</h2>
<p>Install Cygwin and choose to install packages RSync and OpenSSH</p>
<p>Start an elevated Cygwin (Run as an Administrator )</p>
<h4>Config</h4>
<p>Cygwin 1.7 changes the way to ignore NT Security from the <em>nontsec </em>environment to modifying fstab file.</p>
<p>In your prefered editor modify /etc/fstab and uncomment the bottom line and add <em>noacl </em>as below, this tells it to ignore security :</p>
<pre class="brush: plain; light: true; title: ; notranslate">none /cygdrive cygdrive binary,noacl,posix=0,user 0 0</pre>
<p>Run following to update group and user lists (if on a domain only add the users you want)</p>
<p>[bashlight=1]mkpasswd –l >/etc/passwd<br />
mkgroup –l /etc/group[/bash]</p>
<h3>OpenSSH</h3>
<p>Configure Open SSH using <em>ssh-host-config</em>, create both the accounts it suggests for privilege isolation and running the service (cyg_service &amp; sshd).<br />
This should also automatically add the Firewall Exceptions (SSHD).</p>
<h4>Setting up Keyless</h4>
<p><span style="font-weight: normal;">Login as backuppc user.</span><br />
<span style="font-weight: normal;"> </span><span style="font-weight: normal;">Use </span></p>
<pre class="brush: plain; light: true; title: ; notranslate">runas /user:backuppc cmd</pre>
<p>Or</p>
<pre class="brush: plain; light: true; title: ; notranslate">runas /user:domain\backuppc cmd</pre>
<p>Run c:\cygwin\Cygwin.bat to start Cygwin as BackupPC user</p>
<p>You need to add the id_rsa.pub file from the BackupPC user on BackupPC server to C:\cygwin\home\backuppc\.ssh\authorized_keys If you have not already created one follow the instructions below in BackupPC &#8211; SSH section.</p>
<h3>RSync</h3>
<p>To install RSync as a system service use:</p>
<pre class="brush: plain; title: ; notranslate">C:\cygwin\bin\cygrunsrv.exe -I rsyncd -d &quot;RSync Daemon&quot; -O --type manual -p /bin/rsync.exe -f &quot;Used by BackupPC to remotely access files for backup&quot; -a &quot; --config=/etc/rsyncd.conf --daemon --no-detach&quot;</pre>
<p>Modify the /etc/rsyncd.conf file to reflect what drives you want to backup. It is better to edit this file later after you have modified the DiskShadowScript.txt and changed which drive letter it exposes shadows as.</p>
<p>Add a RSync exception to the firewall.</p>
<p>Open <em>Windows Firewall with Advanced Security</em> and choose Inbound Rules, New Rule, Program,  Next</p>
<p>Browse to C:\cygwin\bin\rsync.exe and then choose your options and name the rule</p>
<p>When finished open the rule, click Scope tab and add a Remote IP, that of the BackupPC server. This restricts RSync to only be accessible from BackupPC. You may also wish to similarly modify SSHD to only allow SSH access from BackupPC server.</p>
<h2>DiskShadow</h2>
<p>If you are backing up a windows Server 2008 or 2008 R2 host you already have DiskShadow installed. However, if you are running Windows 7 or Vista you will need to grab a copy from an equivalent server (x86 or x64). It is located in the System32 directory and you will also need the language file from the en-US folder.</p>
<p>I have <a href="http://jrudd.org//download/utilities/DiskShadow.zip">zipped the files needed</a> for x86 and x64 if you do not have immediate access to a Server.Note: There is a file embedded within this post, please visit this post to download the file. (The x86 files are from Server 2008 and x64 are from 2008 R2)</p>
<p>Copy the files from your architecture to the system32 directory and en-US subdirectory.</p>
<h3>LogEvent</h3>
<p>To generate the custom event log entry a tool from the Windows 2000 Resource kit is used, <a href="http://support.microsoft.com/kb/315410">LogEvent</a>, (<a href="http://www.dynawell.com/download/reskit/microsoft/win2000/logevent.zip">Download</a>). This needs to be either placed in the Path (e.g. Windows dir) or scripts need to directly call it.</p>
<h2>Task Scheduler</h2>
<p>The easiest way to configure this is to manually run LogEvent once to generate an event in the log.</p>
<pre class="brush: plain; light: true; title: ; notranslate">Logevent.exe -r &quot;BackupPC&quot; -e 10 -s S &quot;Backup Start&quot;</pre>
<p>Then open Event Viewer, Select the new BackupPC event and choose <em>Attach Task to this Event</em>, and in the wizard click next until it asks for the program, then give it <strong>C:\cygwin\BackupPC\backuppc.cmd</strong></p>
<p>On Final page choose to <em>Open Properties</em> when you click Finish</p>
<p>Click the <em>Change User or Group</em> button and type in <strong>System </strong>as the user  and click OK. Also tick the <em>Run with highest privileges</em> box</p>
<h1>BackupPC Server</h1>
<h2>SSH</h2>
<p>This section is only needed if you do not already have keys generated for the backuppc user.</p>
<p>Login as backuppc user, either with password or simply “su – backuppc” from root</p>
<p>Generate SSH Keys, <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"><em>ssh-keygen –t rsa</em></span>, do not set a password. Copy id_rsa.pub into C:\cygwin\home\backuppc\.ssh \authorized_keys</p>
<p>Test by running <em>ssh -v backuppc@host</em> to test the connection</p>
<h2>BackupPC Host File</h2>
<p>In the web interface change the following for the host.</p>
<pre class="brush: plain; light: true; title: ; notranslate">DumpPreUserCmd:  $sshPath -q -x -l backuppc $host cscript &quot;C:\cygwin\BackupPC\pre-cmd.vbs&quot;
 DumpPostUserCmd: $sshPath -q -x -l backuppc $host echo &quot;Complete: $xferOK&quot; &gt; /var/run/wake.up</pre>
<h2>Test Run</h2>
<p>If you have existing backups from a previous RSync config, it is a good idea to run a full backup to ensure any in use files are part of the base. In my case I also changed the <em>noacl </em>flag which affected the file attributes RSync sees.</p>
<h1>Tips</h1>
<p>Set your antivirus to exclude the exposed drives. As they are read only it just slows down the reading of files by RSync.</p>
<h3>Downloads</h3>
Note: There is a file embedded within this post, please visit this post to download the file.
<h1>Updates</h1>
<ul>
<li>While writing this up I found a good alternative way of using VShadow with SSH to backup in use files, that uses the AT command instead of task scheduler to get around UAC, <a href="http://geraldbrandt.com/2010/06/08/backuppc-with-sshrsyncvss-on-windows-server/">BackupPC with ssh/rsync/VSS on Windows Server</a>. The only down side to this method is the SSH connection requires an Admin account, but if configured securely this should be fine. It also a lot simpler to configure as it does not require configuring Task Scheduler.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/2010/07/using-backuppc-with-diskshadow-to-backup-open-files/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Windows Server 2008 R2 and Windows Mail</title>
		<link>http://jrudd.org/2010/02/windows-server-2008-r2-and-windows-mail/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-server-2008-r2-and-windows-mail</link>
		<comments>http://jrudd.org/2010/02/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 &#8230; <a href="http://jrudd.org/2010/02/windows-server-2008-r2-and-windows-mail/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></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>Logon </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/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/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/2010/02/windows-server-2008-r2-and-windows-mail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Renaming Novell user accounts</title>
		<link>http://jrudd.org/2008/12/renaming-novell-user-accounts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=renaming-novell-user-accounts</link>
		<comments>http://jrudd.org/2008/12/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 &#8230; <a href="http://jrudd.org/2008/12/renaming-novell-user-accounts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/2008/12/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/2008/12/ad-password-reset-and-bulk-modify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ad-password-reset-and-bulk-modify</link>
		<comments>http://jrudd.org/2008/12/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 &#8230; <a href="http://jrudd.org/2008/12/ad-password-reset-and-bulk-modify/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></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/2008/12/ad-password-reset-and-bulk-modify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OverDisk</title>
		<link>http://jrudd.org/2008/06/overdisk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=overdisk</link>
		<comments>http://jrudd.org/2008/06/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 &#8230; <a href="http://jrudd.org/2008/06/overdisk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></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//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/wp-content/uploads/2008/06/od.jpg" rel="lightbox[41]"><img class="alignright size-medium wp-image-42" title="OverDisk" src="http://jrudd.org/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/2008/06/overdisk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Notepad++</title>
		<link>http://jrudd.org/2008/04/notepad/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=notepad</link>
		<comments>http://jrudd.org/2008/04/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. &#8230; <a href="http://jrudd.org/2008/04/notepad/">Continue reading <span class="meta-nav">&#8594;</span></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/2008/04/notepad/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>VideoLAN VLC</title>
		<link>http://jrudd.org/2007/12/videolan-vlc/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=videolan-vlc</link>
		<comments>http://jrudd.org/2007/12/videolan-vlc/#comments</comments>
		<pubDate>Sun, 02 Dec 2007 04:33:58 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Player]]></category>
		<category><![CDATA[Repackaging]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/2007/12/02/videolan-vlc/</guid>
		<description><![CDATA[VideoLAN VLC is a great cross platform media player ideal for networks. CODECs for most formats are included with the player so it can be easily deployed without needing extra installers. As it is self contained it is very easy &#8230; <a href="http://jrudd.org/2007/12/videolan-vlc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>VideoLAN VLC  is a great cross platform media player ideal for networks. CODECs for most formats are included with the player so it can be easily deployed without needing extra installers.</p>
<p>As it is self contained it is very easy to repackage as an MSI for deployment or it can run straight off the network without installation (although it is a bit slow to load this way).</p>
<p>VLC runs on Windows, Mac and Linux so it can provide a uniform interface across platforms.</p>
<p>The latest version, 0.8.6d fixes some security problems and improves playback on Mac.</p>
<ul>
<li><a href="http://www.videolan.org/vlc/" target="_blank">VLC media player </a></li>
<li><a href="http://trac.videolan.org/vlc/browser/tags/0.8.6d/NEWS" target="_blank">VLC 0.8.6d release notes </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/2007/12/videolan-vlc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EZ GPO</title>
		<link>http://jrudd.org/2007/12/ez-gpo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ez-gpo</link>
		<comments>http://jrudd.org/2007/12/ez-gpo/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 23:57:00 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Energy]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Monitor]]></category>
		<category><![CDATA[Power]]></category>
		<category><![CDATA[Saving]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/2007/12/01/ez-gpo/</guid>
		<description><![CDATA[EZ GPO is small utility that allows central power policy management through Group Policies. Saving energy, money and the environment. Ideal for school computer labs and staff rooms, as well as business. EZ GPO can be deployed by MSI across &#8230; <a href="http://jrudd.org/2007/12/ez-gpo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.terranovum.com/projects/energystar/ez_gpo.html" title="EZ GPO" target="_blank">EZ GPO</a> is small utility that allows central power policy management through Group Policies. Saving energy, money and the environment.<br />
Ideal for school computer labs and staff rooms, as well as business.</p>
<p>EZ GPO can be deployed by MSI across the network through either AD or Zenworks. You then add the supplied ADM to a group policy and set the idle times for switching monitor off, and putting computer into sleep, hibernate or standby modes.</p>
<p>One other option of EX GPO that makes it very attractive for laptops, is it can allow limited user accounts to change power settings on Windows 2K / XP. As most users will have experienced, Windows stores power settings in HKLM, so a standard user can not specify times for power saving. This can be very annoying if used during presentations, etc.<br />
EZ GPO has an option that fixes this allowing the changing of the power policy.</p>
<p>Finally one other use for EZ GPO, against what was originally intended. If you have a PC that is locked down, but needs to be on continuously (such as a kiosk or display PC) you can use EZ GPO to prevent visible power saving options from starting. i.e No standby mode, or monitor savings. I would however recommend spinning down HDDs .</p>
<p>Links:</p>
<ul>
<li><a href="http://www.energystar.gov/index.cfm?c=power_mgt.pr_pm_ez_gpo" target="_blank">Energy Stars&#8217; info on EZ GPO </a></li>
<li><a href="http://www.terranovum.com/projects/energystar/ez_gpo.html" target="_blank">EZ GPO </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/2007/12/ez-gpo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AD Explorer</title>
		<link>http://jrudd.org/2007/11/ad-explorer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ad-explorer</link>
		<comments>http://jrudd.org/2007/11/ad-explorer/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 21:07:01 +0000</pubDate>
		<dc:creator>James Rudd</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[SysInternals]]></category>

		<guid isPermaLink="false">http://jrudd.org/wordpress/2007/11/20/ad-explorer/</guid>
		<description><![CDATA[An LDAP browser for Active Directory. Makes it easy to see all attributes of objects and assists in configuring web applications that authenticate using LDAP. http://www.microsoft.com/technet/sysinternals/Networking/AdExplorer.mspx You can connect to your AD server without knowing any LDAP paths, just use &#8230; <a href="http://jrudd.org/2007/11/ad-explorer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>An LDAP browser for Active Directory. Makes it easy to see all attributes of objects and assists in configuring web applications that authenticate using LDAP.</p>
<p><a href="http://www.microsoft.com/technet/sysinternals/Networking/AdExplorer.mspx" target="_blank">http://www.microsoft.com/technet/sysinternals/Networking/AdExplorer.mspx</a></p>
<p>You can connect to your AD server without knowing any LDAP paths, just use your standard login.</p>
<p>Can also take snapshots to allow you to see what effect changes have on AD.</p>
<p>Another Great tool from <a href="http://jrudd.org//2007/11/17/sysinternals-website/" target="_blank">Sysinternals</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jrudd.org/2007/11/ad-explorer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

