Chad(wik)’s Musings…











{November 14, 2008}   Exchange 2007 Public Folders

Of the 2 legacy Exhange (2000) servers in my organization, I believe one is ready to be completely removed. Public Folder migration was completed and verified earlier this week after refreshing (updating as the 2007 Console refers to it) the public folder hierarchy on the new 2007 server. Luckily, this particular legacy server did not host an offline address book or any other auxilary services.

As a test run, I dismounted the public folder store and the lone mailbox store and so far haven’t received any complaints. The next step will be powering it off before completely uninstalling Exchange 2000. Wish me luck!



Migrating from Exchange 2000 to Exchange 2007 has not been the easiest task I’ve ever had to do; in fact, it may be one of the most challenging.  I prepared, researched, studied, produced reports, created a presentation, and put all of the pieces in place to make the transition as easy as humanly possible so as to minimally impact end users.  Backups?  Not so easy.  Brick-level backups are a thing of the past so right now I’m humming along with NTBackup until I can remove all of my legacy Exchange (2000) servers and begin using C2C and Asempra services, replacing NetVault’s BakBone client.  

Don’t get me wrong, migrating users was extremely easy and the built-in scheduler made it easy to queue up a bunch of transfers during the workday so that they would run at night. 

On the other hand, public folder migration continues to be an utter mystery.  The system itself seems incredibly flawed and unnecessarily complicated.  I’ve run the appropriate scripts and still I have blank public folders from the client perspective…back to work…



{November 9, 2008}   The Perfect NAS

The perfect home NAS, as far as I know, has yet to see the light of day.  It’s frustrating to read performance reviews of the new Drobo, which utilizes FireWire 800, and discover that it barely pushes the read/write limit of FireWire 400.  

How hard is it to make a good NAS that’s not $1000?!  NetGear’s ReadyNAS NV+ is a nice device, but I cannot justify spending nearly a grand to get a box with no drives.  It’s really frustrating to be a multi-dimensional computer user that needs a robust, redundant, reasonably-priced device to store photos, stream audio/video, and backup home PCs.  

Here’s my wish list for the perfect NAS:

  • Minimum 4 drive capacity
  • Multiple connection types: GigE (hence the “N” part of NAS), FireWire 800, USB 2.0, and optionally eSATA
  • Web management interface
  • Support for multiple file systems
  • Reasonably fast read/write speeds such that files can be copied while streaming HD videos or audio
  • Reasonable price tag of ~$500
  • Bulletproof OS which does not require fancy or advanced configuration, but can be tweaked by power users

I don’t think it’s too much to ask.  Families need a device like this to keep all of their children’s photos and videos safe and also to provide a backbone for home entertainment and productivity.

Someone make it happen!!

Update 1: Maybe we just need to save our stuff in a cloud.



{August 3, 2008}   It’s Been Awhile

It’s not like I haven’t been doing anything, though.  

  1. I’ve finally joined the iPhone population and dreamed up a few application ideas that I’m eager to try.
  2. I put my senior design project to rest, thank GOODNESS, as it was *supposed* to be a 4 person project but myself and one other team member did 100% of the work.  We never really finished the project to the level I had anticipated, either.  I hope to pick it up and continue development.  More on that later.  
  3. Lastly, I’m in the midst of an Exchange 2007 deployment, upgrading from Exchange 2000.  The push for this, as you may have guessed, is the iPhone 2.0 ActiveSync integration capabilities.  I’ve got an Exchange 2007 server up and running in an AD 2003 environment with the Exchange 2000 server functioning as the main mailbox server.  The ‘07 box has just a few mailboxes, such as mine so that I can get my email pushed to my iPhone, but my Outlook clients (Vista and XP, both 2007) continue to have a problem with the Offline Address Book which I’m troubleshooting.  I’m also fighting a backup strategy.
  4. I guess there’s one more…I’ve deployed an NTBackup strategy in lieu of purchasing additional NetVault licenses for less-important servers (apps/IIS).  So far so good.  My plan for testing those backups and creating the actual test lab environment will be coming shortly.  I will be spending most of my time establishing a mirror of our domain using 4 servers: one DC, one mail server, one IIS server, and one app server; I will be restoring the NTBackups to these boxes in hopes of proving the solidity of my backup plan.  After all, how good is a backup plan if you never actually test by restoring?


{June 2, 2008}   Deployment Pt. 2

I’ve completely revamped how images are deployed, managed, and created using Deployment. After reading a technical article addressing driver management from The Deployment Guys, I realized that there had to be a better way than creating a bootable LiteTouch image ISO for each hardware configuration.

The most current problem is figuring out how to use AHCI on Dell’s most recent hardware. Most of their PCs now come with it enabled and rather than modify BIOS to use legacy SATA mode, I would much like to figure out how to inject the driver without having the OS install fail. So far I’ve been wildly unsuccessful. I’ve attempted so many different methods that I’ve forgotten what has worked and what hasn’t. I’ve added both XP and Vista pre-os drivers to Out-of-Box drivers and the models directory of created as a driver path in many iterations. I’ve even modified the .INF and oemtxt files for the AHCI driver (Intel Matrix Storage) in the same interations without any luck. I succeed in reaching the “Operating System Not Found” error, the STOP 0×7b error, or an error indicating that the proper inf for the hardware cannot be found during the OS installation. I’m Deploying XP, too, which I think tends to complicate things. But seeing as how we are only using Vista for Engineering/CAD applications (which is an entirely different can of worms), XP is the default Deployment path. I think I’ll create a matrix and get this solved once and for all tomorrow.

In other news, I’m heading to the Apple WWDC in a week so I’m making a list of everything I need to bring including my D70, a couple lenses, a tripod, and of course a new Crumpler bag to carry it all with :) .



{April 7, 2008}   What’s on My Plate

Right now I have literally a ton of items I need to get done in the next week.  The first which is the most important is solidifying our deployment methods.  We used to be a Ghost shop but I’ve since experimented with Microsoft Deployment to remedy problems we observed with Ghost:

  1. Inability to regenerate SIDs and other registry entries (wreaks havoc on systems in a networked environment)
  2. Inability to abstract hardware from the image (we had to make one image for every type of hardware configuration)
  3. Inability to easily add network drivers to the boot image and necessity of doing so (a pain!)

Deployment does a great job of abstracting hardware.  The way I currently have it setup, you can choose your OS (Vista Business x64 or XP SP2, currently) and then choose from a list of applications that are silent installs personally prepared by me.  The process is not blindingly fast — Ghost was limited only by hard drive speed and network speed — but it provides a level of customization that we didn’t have before.

Eventually I hope to research and define “systems” in Deployment to represent a type of PC for a particular type of employee.  Our Admins might only need the accounting software, Adobe Acrobat Pro, and image scanning software for SP2 whereas our hardcore CAD users will need Vista Biz x64, AutoDesk Architecture 2008, so on and so forth.  That way when we have a list of applications 100 items long it doesn’t become prohibitively time-consuming to choose the applications we need to install.

We’ve run into our first problem using Deployment and it has everything to do with the driver database. Frankly, the driver database is implemented extremely poorly or I just don’t understand how to use it. Actually, I have a list of reasons why it’s inadequate:

  1. “Groups” are not visible in the default view of the Driver Database: Groups are absent!
  2.  

  3. There is no “date added” attribute
  4. There is no search (!!!!)

Now let me explain why these two issues are such a big deal to me.  Let’s start with Groups.  Groups allow you increased granular control over the LiteTouch ISO which is necessary for booting clients (PXE hasn’t been conquered on our network yet — more on that at a later date).  Once could conceivably burn an ISO that has network drivers for a specific Group which could have all drivers for a particular hardware set.If you wanted to see which drivers belong to certain Groups, it would be fantastic to have a “Group” column visible.  

Now to understand why a date attribute would be useful, I’ll explain a problem my team ran in to on Friday: conflicts with different drivers competing during client booting and thus stalling the entire imaging process.  If we generate an ISO with all network drivers (which is perfectly possible), I would expect the correct driver to be chosen from the CD when the client workstation boots.  The process has error’d a number of times, failing at a particular .sys file, which is nowhere to be found in the Driver Database.  Let’s say that the driver database was recently updated with drivers for a new model of PC we’re deploying and this error in imaging occurs after that update.  It would be *awesome* to reference the newly created drivers in the database as the problem.  As it stands now, I have no way of doing this unless I export the database and cross-reference a manually generated list of the drivers I recently added (hinging on me remembering what model I added drivers for).

Search is the single most important aspect of any sort of application, no matter what it is.  If you can search data, what’s the point of having it in the first place?  Microsoft Deployment has no search or “find” feature for the Driver Database.  Even if I get a screen displaying the driver file the imaging process failed on, I couldn’t search the database through the Deployment Workbench without exporting the entire driver list to some sort of Excel-compatible document format.  While there is a “date” field, it refers to the date of the driver and not the date the driver was imported into the database.

In order to resolve this problem of the process freezing, I’m going to have to remove all of the drivers and unfortunately it will ruin the groups I’ve created.  Thankfully we have a storage location for drivers and their associated hardware that I can easily import.  This time, I will make sure to create drivers for each class of hardware in case this happens again in the future so instead of burning the LiteTouch image with all drivers in the database (networking and storage controller-related), I’ll just burn in image for that specific piece of hardware.  Though this is a “hack” or a work-around, it shouldn’t matter once we actually get PXE booting to work properly.

More about Deployment after I experiment some more…



{March 24, 2008}   Helpdesk
Our helpdesk system sucks.  It’s a half-cocked .NET (v1.0) app that was basically conceived as a proof of concept and left alone.  In my opinion, it hardly even meets our most basic need: search.  The importance of documentation in the area of IT support is paramount! 

Currently, the simple app performs and searches.  That’s it.  And that’s being generous with the “searching” description.  It doesn’t support tags or boolean searches.  You have to basically guess right to return any results.  We’ve grown accustomed to this searching method so much that we can cheat it to serve our needs.  This has to change!I’ve spent hours upon hours looking at other helpdesk-y applications and nothing impresses me.  I need a system that can perform the following operations:
  1. SEARCH
    • Tagging
    • Boolean
  2. FLEXIBILITY (mostly DB-related tasks requiring unique tables)
    • Must include the ability to attach multiple IT workers to a ticket
    • Must automatically update time fields (ticket created, assigned, updated, etc.)
  3. EXTENSIBILITY
    • We must be able to extend the usage of this tool to provide a framework for future webapps
The last requirement is the most important.  We need a framework that can be used for multiple helpdesk-type apps.  We have several pieces of software that beg to be converted to web applications.  There’s a prevailing hypothesis that webapps, when used on the intranet, offer enhanced security over desktop apps.I’ve spent several days just searching for a framework that will allow me to create a helpdesk application as outlined above and I’ve come up completely empty. My searches began with AJAX so as to steer away from M$-based .NET apps for a more open solution.  

Unfortunately, even through searching O’Reilly’s Safari Books Online, I haven’t gleaned any useful information to aide me in this quest.  After reading a recent article in Wired Magazine about Ruby on Rails, I’ve started to explore the possibilities of using RoR.  What’s most confusing about web development is how all of the pieces fit together.  RoR, AJAX, DHTML, HTML, etc, are all very confusing when it’s unclear how they fit together to deliver the application. The most frustrating aspect of this entire project is that the datagrid, the most fundamental component of any web application, seems to be the most elusive of all components.  I’ve found just a few examples (in various languages) but none of them appear to use SQL data and most are pricey or included in a pricey development environment.  I’ll continue the search…



I finally narrowed down the tags necessary to reasonably import all of our MediaWiki pages.  There are only two problems that we’ve decided to deal with:

  1. Each imported article is tagged with the fulltext of the article
  2. The nice bit of javascript code: if (window.showTocToggle) { var tocShowText = “show”; var tocHideText = “hide&quote;; showTocToggle();} }

And then one that’s annoying just me, the only Apple user in the department.  This occurs when I try to access a wiki page using my MacBook Pro with 10.4.11 and Safari 3.0.4:   

Apple Wiki Error 

So far the rest of the guys in my department love the table editing and the search.  The search will get better once the articles aretagged properly.  We’re removing that bit of code and the fulltext tag on each page we access as we get to them.



I’m attempting to import our small (~300 articles) wiki into Apple’s new OS X Leopard Wiki software.  I’m using MediaWiki 1.10, MySQL Essential 5.0.24, and PHP 5.2.3 on a Windows Server 2003 box.  I’ve been following a few discussion on Apple’s Support Forums (http://discussions.apple.com/thread.jspa?threadID=1262380&tstart=0) and only recently have we talked about Apple’s Wiki Importer (only available to ADC members).  Using the MediaWiki Export Document from the Disk Image, I was unable to successfully point the tool at my wiki’s index page.  By process of elimination I determined that one bit of JavaScript code rendered the page (within the tool) incorrectly:

 // if we’re on the index page, expand the “to” links

if (location.href == appleWikiImporter.indexPageURL()) {

$$(‘a’).each(function(a) {

if (a.href && a.innerText == ‘to’) {

add_index_links_from_url(a.href);

}

In other words, when I pointed the Importer at my All Pages MediaWiki page, it displayed no page links what so ever.  Removing the above code solved the issue. 

The next step is to determine which sections of MediaWiki’s CSS need to be ignored so that they aren’t imported into Apple’s Wiki.   I should also mention that I chose to use the default MediaWiki skin (and therefore the default CSS), which is located at %mediawikidir%\skins\common\wikistandard.css.  I iterate through a couple of times to try and figure out the correct syntax for the sections to ignore and determined that Apple’s tool identifies the sections in my CSS by using dot notation.  In other words, by specifying “.footer” as a CSS Content Exception, the Importer ignored the “#footer” tag in the CSS and therefore any “footer” tag in a wiki article. Currently I’m having problems with the “Edit” field that MediaWiki puts next to any heading/sub-heading.  Also, the Importer tool is taking the fulltext of a MediaWiki article and setting that as a tag for the resulting Apple Wiki article.  More to come as I figure this stuff out.



{February 26, 2008}   Day 1

Today marked the first day of Microsoft Dynamics SL 6.5 in the wild at work.  Once the final bugs are worked out, I plan on writing up the entire process, what we could have done better, and general gripes of the experience.

SMS 2003 failed me late last night — failing to push out the installation package for Dynamics to any of my test group.  After getting the go-ahead to go live a little after 5pm, I had a few hours to work with SMS for deployment of 6.5.  Had it been possible for 6.5 and 5.0 (Solomon) to run concurrently, this would have been less of an issue, and presumably the DLL hell that Microsoft lives in had much to do with the concurrency problem. I set up a test group of IT computer to push out my Wise install of 6.5 which included an uninstaller for 5.0.  The package itself worked beautifully: it modified Solomon.ini to point to the new SQL server and to the new database, installed shortcuts in the Start Menu that pointed to our network share, and also put a shortcut on “All Users” desktop so that no matter who was logged in, there would be no question of “where is Solomon (Dynamics)?”  

As proud as I was of the installer, I was whole-heartedly disappointed in my efforts to work with SMS.  I’ve used it in the past, minimally, to push out Office 2003 applications and with much success. While the SMS console reported receiving the package for distribution and that it copied the package to the distribution share, which I verified, it would never run the installer for any of the client PCs in my test group.  I even changed the option to have it copy the installer to the workstation, but that didn’t change anything.   

Even though the advertisement is still running at this very moment, I’m confident that the success/failure columns of the advertisement are still completely blank.I now have a plan to attempt to work with SMS 2007 before we complete our Data Domain upgrade. 



et cetera