Aarrrgh. This stupid network reminds me oh so pointedly of why I avoid Windows wherever practical. Every time I start thinking that maybe Windows isn't all that bad, or that maybe my bad experiences have just been freak incidents, something like this recent spate of problems happens. Every time I think that no, the Windows mildew phenomenon is just a myth and just my perception, something like this happens. Seriously, anyone who doesn't believe that Windows-based networks often just randomly glork themselves needs look no farther than this ship! Now, I've seen Windows networks with proper infrastructure (ie, not the crappy, moldy, but official-and-provided ancient switches and shitty cable that we have here), and they hold up better, but still...

We use roaming profiles here. Why? Mostly so that users don't have to re-do their settings at every computer they log into. It makes sense, after all, only a few of these computers are specific to one user, and only a few users always use the same computer. In general there are 1-4 workstations per division and 8-18 people. So yeah, the use of roaming profiles does make sense. The problem is, that the user's registry files constantly get corrupted in obnoxious, subtle ways. Sometimes it results in something as catastrophic as an immediate BSOD or silent reboot on login, but more commonly it causes an infestation of gremlins. Explorer.exe will randomly shit moldy green nickels every time you type a 'u' into a text field that it manages. MSIE will blow up while accessing certain websites. Firefox will occasionally forget all your settings. Outlook will magically forget where all your .pst files are, or will forget that you're using an MS Exchange server. Or the already rather undocumented NTCSS weirdness will explode when performing certain operations.

Now this is already goddamn irritating. The solution is to nuke the user's profile, destroying their settings, which is a bad solution, but I honestly don't know of a better one. If we get lucky, only the profile cached on that workstation is bad, and forcing it to suck the server copy back in will fix it. But sometimes we're not, and have to nuke the server-side profile, too, then force the user to recreate a profile and then cleanly log out. This would be OK if it always worked, but sometimes, if the user then logs in on another machine that has the old, damaged profile cached, it will not only use that (even though it's older than the server copy!) but quite happily push it back to the server, stomping on the valid profile with a corrupt one. When this happens we then have to ferret out every machine that user has logged into, nuke all the locally-cached profiles, then nuke the server-side one again.

Oh, and did I mention that thanks to Windows' cretinous file locking, half the time we have to reboot the box just to blow away their cached profile? What in the hell process is still running after a logout that keeps the user's NTUSER.DAT locked? Why does this make any sense at all? Sometimes even the reboot doesn't clear it - you reboot, log in as a local administrator, and the fucking thing is still locked. Gotta come up in safe mode to clear this. Why oh why?

On top of all that, our fucking backbone switches are too dumb to understand Ethernet auto-negotiation. So, not only is most of the LAN 10Mbit - which is indefensible in 2009 - but anywhere where we've had to bung in a little 8-port unmanaged switch or the like is usually running at half-duplex. If we're lucky, that is, and it's not just outright dux-mismatched and running like molasses at McMurdo. And they won't pony up the cash for managed switches. This makes sense on the face of it, anyway - they're overkill, and the fucking backbone switch really should be able to auto-negotiate. The net result of this is that the whole network is just dirt-slow and herky-jerky. Nothing works right, logging in takes 5 minutes, opening a 500k attachment in an email can take over a minute, and saving files to your home directory is only slightly faster than using a floppy. On top of that, backups occasionally cause the server to go catatonic. Sometimes it wakes up, sometimes it has to be (re)booted. Hard.

Fuck, I'd love to just nuke and pave this entire goddamn network. If I had it my way we'd have fairly simple web-managed switches, gigabit of course, Unix servers and small form factor workstations (maybe with a few notebooks). I'd prefer not to run Windows on the workstations, but we have quite a few Windows-only apps that would require a lot of VMWare-fu to get around for now, so I suppose I'd leave 'em running XP. If the LAN were fast enough, I'd probably have diskless workstations, but that might not be as slick as I think it'd be. I'd have to dick around with it some more. People would have much slower machines on their desks in absolute terms, sure - 1.6GHz Atoms or the like rather than 2.8GHz Pentium 4 or 1.8GHz Core 2 Duo or Athlon64, but they'd feel faster! The workstations we have now feel like they're 10+ years old just thanks to this archaic and malfunctioning network!

Gha, foo. </rant>