<?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"
	>

<channel>
	<title>Talentless Hack</title>
	<atom:link href="http://jareds.net/feed" rel="self" type="application/rss+xml" />
	<link>http://talentlesshack.com</link>
	<description></description>
	<pubDate>Thu, 14 Aug 2008 04:20:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>The basics</title>
		<link>http://talentlesshack.com/site/113</link>
		<comments>http://talentlesshack.com/site/113#comments</comments>
		<pubDate>Mon, 07 Apr 2008 00:22:08 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
		
		<category><![CDATA[site]]></category>

		<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://jareds.net/wp/index.php/2008/02/12/retooling/</guid>
		<description><![CDATA[For the moment comments are moderated, so if you&#8217;d like an account email or IM me and I&#8217;ll hook you up. Just ignore that Register link, since I&#8217;ll probably be removing it anyway.

]]></description>
			<content:encoded><![CDATA[<div class="announcement_post"><p>For the moment comments are moderated, so if you&#8217;d like an account <a href="mailto:jaredseth@jareds.net">email</a> or <a href="aim:GoIm?screenname=jaredseth">IM</a> me and I&#8217;ll hook you up. Just ignore that Register link, since I&#8217;ll probably be removing it anyway.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://talentlesshack.com/site/113/feed</wfw:commentRss>
		</item>
		<item>
		<title>Perpetually prompting</title>
		<link>http://talentlesshack.com/tech/135</link>
		<comments>http://talentlesshack.com/tech/135#comments</comments>
		<pubDate>Fri, 25 Apr 2008 15:14:18 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[apppackaging]]></category>

		<category><![CDATA[scripting]]></category>

		<category><![CDATA[zenworks]]></category>

		<guid isPermaLink="false">http://jareds.net/?p=135</guid>
		<description><![CDATA[Usually Prompted Macros in ZENworks application objects only prompt for values on their first runs. To create one that will prompt for a macro value every time, add the following to a Run after termination script (or append it to the end of your script if you already have one):
RD C:\NALCache\ETREE\.Application-Name.OU.OU.O /S /Q
REG.EXE DELETE HKCU\Software\NetWare\NAL\1.0\Distribute\TREE_NAME\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX [...]]]></description>
			<content:encoded><![CDATA[<div class=""><p>Usually Prompted Macros in ZENworks application objects only prompt for values on their first runs. To create one that will prompt for a macro value every time, add the following to a <em>Run after termination</em> script (or append it to the end of your script if you already have one):</p>
<blockquote><p>RD C:\NALCache\ETREE\.Application-Name.OU.OU.O /S /Q</p>
<p>REG.EXE DELETE HKCU\Software\NetWare\NAL\1.0\Distribute\TREE_NAME\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /f</p>
<p>REG.EXE DELETE HKLM\SOFTWARE\NetWare\NAL\2.X\Macros\TREE_NAME\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /f</p></blockquote>
<p><strong></strong>Script Engine: <strong>%*WINSYSDIR%\cmd.exe /c</strong><br />
Script Extension: <strong>.bat</strong></p>
<p>Replace <strong>.Application-Name.OU.OU.O</strong> with the<strong> DN</strong> of your application object.<br />
Replace <strong>TREE_NAME</strong> with the name of your eDirectory tree.<br />
Replace <strong>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</strong> with the GUID of the application object.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://talentlesshack.com/tech/135/feed</wfw:commentRss>
		</item>
		<item>
		<title>Finding Firefox</title>
		<link>http://talentlesshack.com/tech/122</link>
		<comments>http://talentlesshack.com/tech/122#comments</comments>
		<pubDate>Fri, 11 Apr 2008 20:49:10 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[apppackaging]]></category>

		<category><![CDATA[autoit]]></category>

		<category><![CDATA[scripting]]></category>

		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://jareds.net/?p=122</guid>
		<description><![CDATA[I was trying to write an AutoIT script to manipulate the Firefox user.js preferences files, which are stored in the users&#8217; Firefox profile folders. Unfortunately with Firefox, the initial user profile is created in a &#8220;salted&#8221; directory under %appdata%\Mozilla\Firefox\Profiles. The folder name uses a randomly generated 8-character string followed by a dot and the word [...]]]></description>
			<content:encoded><![CDATA[<div class=""><p>I was trying to write an AutoIT script to manipulate the Firefox user.js preferences files, which are stored in the users&#8217; Firefox profile folders. Unfortunately with Firefox, the initial user profile is created in a &#8220;salted&#8221; directory under <strong>%appdata%\Mozilla\Firefox\Profiles</strong>. The folder name uses a randomly generated 8-character string followed by a dot and the word default, like this: <strong>df3etnz3.default</strong>. This can make scripting modifications of the user preferences a real pain in the ass, as you can&#8217;t be sure what the name of the user profile folder is.</p>
<p>Fortunately, there&#8217;s a file named <strong>profiles.ini</strong> in <strong>%appdata%\Mozilla\Firefox</strong> that lists the folder name, so we can pull the information from there. The initial profile will be listed on line 7 of the profiles.ini so:</p>
<pre>; Find the Firefox user profile
 $file = FileOpen(@AppDataDir &amp; "\Mozilla\Firefox\profiles.ini", 0)</pre>
<pre>; Extract the raw profile path
 $rawpath = FileReadLine($file, 7)
 FileClose($file)</pre>
<pre>; Extract the actual Firefox profile directory
 $mozfolder = StringRight($rawpath, 16)</pre>
<pre>; Create Profile Path variable
 $mozpath = @AppDataDir &amp; "\Mozilla\Firefox\Profiles\" &amp; $mozfolder</pre>
<p>Now you can just reference the profile path using <strong>$mozpath</strong>.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://talentlesshack.com/tech/122/feed</wfw:commentRss>
		</item>
		<item>
		<title>I have a scheme (naming that is)</title>
		<link>http://talentlesshack.com/tech/56</link>
		<comments>http://talentlesshack.com/tech/56#comments</comments>
		<pubDate>Wed, 09 Apr 2008 10:52:17 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[planning]]></category>

		<category><![CDATA[sysadmin]]></category>

		<category><![CDATA[zenworks]]></category>

		<guid isPermaLink="false">http://jareds.net/wp/index.php/2007/02/04/server-names/</guid>
		<description><![CDATA[Because I work for a large advertising conglomerate -
BrainStorm, ThinkTank, BrightIdea, WowFactor, BreakThrough, TechSavvy, PopCulture, MediaBlitz, StarPower, FastTrack, ComfortZone, GamePlan, TouchBase, HotConcept, MindSet, NextLevel, DayDream, KnowledgeBase, CriticalMass, RazorsEdge, OldSchool, TeamPlayer, WinWin, TaskForce, MileStone, CoreValue, MasterPlan
Of course, I&#8217;ll never get to use these&#8230;we&#8217;ll wind up giving them some ridiculous set of numbers and letters that no [...]]]></description>
			<content:encoded><![CDATA[<div class=""><p>Because I work for a large advertising conglomerate -</p>
<p>BrainStorm, ThinkTank, BrightIdea, WowFactor, BreakThrough, TechSavvy, PopCulture, MediaBlitz, StarPower, FastTrack, ComfortZone, GamePlan, TouchBase, HotConcept, MindSet, NextLevel, DayDream, KnowledgeBase, CriticalMass, RazorsEdge, OldSchool, TeamPlayer, WinWin, TaskForce, MileStone, CoreValue, MasterPlan</p>
<p>Of course, I&#8217;ll never get to use these&#8230;we&#8217;ll wind up giving them some ridiculous set of numbers and letters that no one can remember like NYNWPRPZPSN0104 or something equally inscrutable.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://talentlesshack.com/tech/56/feed</wfw:commentRss>
		</item>
		<item>
		<title>Run away from home</title>
		<link>http://talentlesshack.com/tech/118</link>
		<comments>http://talentlesshack.com/tech/118#comments</comments>
		<pubDate>Wed, 09 Apr 2008 00:32:04 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[apppackaging]]></category>

		<category><![CDATA[autoit]]></category>

		<category><![CDATA[scripting]]></category>

		<category><![CDATA[sysadmin]]></category>

		<category><![CDATA[zenworks]]></category>

		<guid isPermaLink="false">http://jareds.net/?p=118</guid>
		<description><![CDATA[In most situations, when I need to run an installation using Local Administrator rights on a locked down workstation, using ZENworks I can just set the Application Object to Run as unsecure system user and be done with it. This allows the installer to interact with the desktop so I can still give the users [...]]]></description>
			<content:encoded><![CDATA[<div class=""><p>In most situations, when I need to run an installation using Local Administrator rights on a locked down workstation, using ZENworks I can just set the Application Object to <em>Run as unsecure system user</em> and be done with it. This allows the installer to interact with the desktop so I can still give the users progress bars and dialog boxes, but the install runs with administrative rights.</p>
<p>Unfortunately <em>Run as unsecure system user</em> requires an imported workstation object, and while the workstation import service is working flawlessly at many of our sites, it&#8217;s not hitting every computer in others and broken in some (thanks in large part to servers being moved around in the tree as part of an ongoing re-engineering project).</p>
<p>Usually this isn&#8217;t such a big deal for us. If we need to get something deployed with elevated privileges, we whip up an <a href="http://www.autoitscript.com/" target="_blank">AutoIT</a> script that drops the setup files into the %temp% directory and then use <em>RunAsSet</em> to install the program as one of our local Administrator accounts. The reason the files need to be dumped down to the local machine is that those local admin accounts are not network accounts and have no rights to the server volumes. As soon as the <em>RunAsSet</em> command takes effect, the script can&#8217;t access the source files if their still on the server.</p>
<p>Enter Microsoft Office 2007. The source folders for this monster total well over a gigabyte, which would need to be copied to the local hard drives of hundreds of systems at a time before the installs could even begin (and mind you, it takes a while to install Office as it is). What I really needed was a way to execute the installation from our Netware servers but using a local Windows administrator account&#8217;s rights.</p>
<p>This will take two scripts (you might need three if you don&#8217;t use ZENworks). In the Installer script, you&#8217;ll need a network account that can map a drive to the installation source folder. It should only need Read and File Scan on a Netware network.</p>
<p>First Script: <strong>Launcher.au3</strong></p>
<blockquote><p>; Hide the tray icon<br />
AutoItSetOption(&#8221;TrayIconHide&#8221;, 1)</p>
<p>; Launch Installer<br />
RunAsSet(&#8221;localadmin&#8221;, @ComputerName, &#8220;password&#8221;, 0)<br />
RunWait(@TempDir &amp; &#8220;\Installer.exe&#8221;)<br />
RunAsSet()</p></blockquote>
<p>Second Script: <strong>Installer.au3</strong></p>
<blockquote><p>; Hide the tray icon<br />
AutoItSetOption(&#8221;TrayIconHide&#8221;, 1)</p>
<p>; Define our command line<br />
$cmd = &#8220;I:\setup.exe /adminfile I:\Updates\Office2007Install.msp /config I:\Enterprise.WW\config.xml&#8221;</p>
<p>; Map a drive to the installation source<br />
DriveMapAdd(&#8221;I:&#8221;, &#8220;\\path\to\installer\files&#8221;, 0, &#8220;.user.ou.ou.o&#8221;, &#8220;usrpassword&#8221;)</p>
<p>; Run our command line<br />
RunWait($cmd)</p></blockquote>
<p>Now compile both of the files into executables, create a ZENworks application object that drops them both into into the temp directory and then fires up the Launcher.exe program. Alternatively, you can either write a batch file to do that or use a third AutoIT script:</p>
<p>Optional Script: <strong>Starter.au3</strong></p>
<blockquote><p>; Hide the tray icon<br />
AutoItSetOption(&#8221;TrayIconHide&#8221;, 1)</p>
<p>; Start the whole process<br />
FileInstall(&#8221;C:\SRC\Launcher.exe&#8221;, @TempDir &amp; &#8220;\Launcher.exe&#8221;, 1)<br />
FileInstall(&#8221;C:\SRC\Installer.exe&#8221;, @TempDir &amp; &#8220;\Installer.exe&#8221;, 1)<br />
Run(@TempDir &amp; &#8220;\Launcher.exe&#8221;)</p></blockquote>
<p>There may be a more elegant way to do this, but so far this is the only method that has worked for me. I&#8217;m open to suggestions on ways to improve it and would especially like to know if anyone can come up with a way to get it all into one script. Comments are held for review on my site so don&#8217;t expect to see them show up right away, but the new dashboard in Wordpress 2.5 makes them kind of hard to miss so it won&#8217;t take long.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://talentlesshack.com/tech/118/feed</wfw:commentRss>
		</item>
		<item>
		<title>Why is it backwards?</title>
		<link>http://talentlesshack.com/site/105</link>
		<comments>http://talentlesshack.com/site/105#comments</comments>
		<pubDate>Wed, 02 Apr 2008 03:04:41 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
		
		<category><![CDATA[site]]></category>

		<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://jareds.net/wp/index.php/2007/12/05/hebrew/</guid>
		<description><![CDATA[שֵׁת ירד

]]></description>
			<content:encoded><![CDATA[<div class=""><h1>שֵׁת ירד</h1>
</div>
]]></content:encoded>
			<wfw:commentRss>http://talentlesshack.com/site/105/feed</wfw:commentRss>
		</item>
		<item>
		<title>Stormy weather</title>
		<link>http://talentlesshack.com/tech/98</link>
		<comments>http://talentlesshack.com/tech/98#comments</comments>
		<pubDate>Tue, 02 Oct 2007 13:12:26 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[planning]]></category>

		<category><![CDATA[sysadmin]]></category>

		<category><![CDATA[zenworks]]></category>

		<guid isPermaLink="false">http://jareds.net/wp/index.php/2007/10/02/more-server-names/</guid>
		<description><![CDATA[Another server naming scheme, discarded because we have offices in places that actually experience these conditions.
Maelstrom, Typhoon, Hurricane, Tsunami, Vortex, Whirlwind, Cyclone, Tempest, Tornado, Monsoon, Sandstorm

]]></description>
			<content:encoded><![CDATA[<div class=""><p>Another server naming scheme, discarded because we have offices in places that actually experience these conditions.</p>
<p>Maelstrom, Typhoon, Hurricane, Tsunami, Vortex, Whirlwind, Cyclone, Tempest, Tornado, Monsoon, Sandstorm</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://talentlesshack.com/tech/98/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
