About once a year I work from home like a scumbag for a week to get all my big code re-writes done. Throughout the year I write fixes, add new scripts and functions as needed, and then clean everything up, document things properly, add comments, get everything actually working in this week. That week is now upon me, and there are a bunch of things I wish that I didn’t keep having to re-write, or update, or rip out, or whatever.
Continue reading Things I wish I hadn’t done while writing PowerShell stuff for work
Why is it that, in 2017, with ZFS, –routinely called the most advanced file system in the world– I’m having to use awk to parse the status output from its built-in tools? Why is there STILL no documented, easily query-able API for me to use? The only way that there is for me to get Python to interact with ZFS is for me to use awkward wrappers with little to no documentation. There’s a bunch of undocumented APIs, but nothing that’s really usable for someone without advanced understanding of the platform. I just want to be notified when a drive dies, or starts having problems.
Continue reading It’s 2017 and ZFS STILL doesn’t have an API?!?
We’ve had some issues with admins improperly applying permissions in the past, and in recent times as well. Because of this, we’ve decided that maintaining permissions change logging to determine who it is that’s having issues learning how to apply permissions can get some extra training on how to appropriately set file ACEs. The issue with doing this is that it generates ~40GB of compressed Windows logs daily, or closer to 100GB uncompressed. So, how can we use PowerShell to parse through the binary logs, store the info we need, and then get rid of the relatively gigantic evtx files?
Continue reading File server permissions change auditing.
On several occasions NFS has inexplicably stopped working with my ZFS shares under ZFS on Linux on Ubuntu Server 14.04×64. It seemed to happen every reboot, after checking the sharenfs property on each of the ZFS FS’ I found they were set properly, but still clients were getting access denied when trying to mount the share. Other times, even when they were able to re-mount the share they wouldn’t do so unless I manually triggered it.
Continue reading ZFS on Linux NFS shares lost at reboot
Today I got a half-joke request from a colleague to write script to help him audit service accounts across a multitude of servers. Initially, I didn’t see the use of writing a full script to do this for myself and my AD environment so I fired off this from my phone as a quick/dirty version.
Continue reading Powershell Script to Audit Service Accounts Across All Servers
Our fileserver was running low on space and still growing at about 80GB/month. Rather than throw more storage at it, which would only buy us another few months before we had to do it again, I figured I’d look for something that would archive unused data to secondary storage, without rendering it unreachable.
Continue reading Online File Server Archiving with PowerShell
We’re in the middle of an Exchange 2007 to 2013 On Premise migration, and we haven’t been having the best time. After a major mail crash in 2011, every time we’ve attempted to move off the recovered server, either to Exchange 2010 or to a freshly built Exchange 2007 setup, we’ve encountered major, migration stopping issues.
Continue reading Exchange 2013 2007 CoExistence Frozen Transport Queues
I’ve been noticing that periodically my MySQL service will hang and require a restart. It’s easy enough to SSH in and restart it, but I only catch it after the fact. So I wrote this little script which curls my website, sees that it’s down and restarts MySQL and shoots me an email with sSMTP. This only checks for the MySQL service not accepting connections from Apache. If there’s an error with Apache, or it’s not running this won’t do anything. Continue reading Bash script to automatically restart MySQL when website database connection is down