DRS Woes? The doctor is in!

Posted on
DRS Woes? The doctor is in!

DRS_DoctorI’ve recently been troubleshooting DRS behavior for some of my specific VMware clusters and came across this little nugget:

https://labs.vmware.com/flings/drsdoctor

From 10,000 ft. it looks like the utility runs in an active monitoring state. It first sets the DRS automation level to “Partially Automated”, then monitors DRS recommendations as they filter in. From here it can grab data about the reason a particular action is being recommended, along with performance stats of the guest and host at the time of the recommendation. Hats off to the team that created this handy troubleshooting utility!

Stay tuned as I have some more fancy DRS troubleshooting tools and tips coming soon…

Save

Save

Cheap, Reliable Wifi – Yes Please!

Posted on
Cheap, Reliable Wifi – Yes Please!

For years, I have enjoyed the power and freedom of running DDWRT on my home wireless routers. But when I moved last fall into a slightly larger home, I noticed some serious dead spots in certain rooms. I started hunting for access points in the DDWRT range, but wasn’t terribly pleased with the on-slaught of dlinksysnetisco options that were returned from my searches. I finally found what I have come to believe is the best, most reliable, and cheapest wireless solution available today. I have held my tongue, 1/2 expecting that things would go south with this setup. But alas, the time has come to release my secret to WIFI success with the world!

 

The secret device that has been hiding behind it’s sickeningly low price ($37 on amazon), and standard “blah” package is the TP-LINK TLWA901ND v3. Now, I know what you’re thinking, “TPLINK?! REALLY?! All credibility out the window.” To be honest, when I installed my first TLWA901ND (say that 5 times fast) in my home, I wasn’t terribly surprised to find that about after being in service for 2 hours, it completely stopped passing traffic for all wireless clients requiring a reboot to get it going again. I rebooted it a few times over the course of 2 days, and sent the first one back to amazon for a replacement unit thinking, “surely, this one slipped past QA” – TPLINK, you get one more chance to make things right. The new unit arrived with the same disappointing message of failure and reboots – OK these things are junk; or are they?

 

At first sight of the factory firmware, it’s fairly obvious that it’s garbage. UI and formatting errors are plenty, functionality minimum. So I thought, I wonder if there is any aftermarket firmware that could help the hardware perform better – it certainly couldn’t hurt. Low and behold, someone compiled this minimal OpenWRT image including the Luci web interface that simply makes this access point sing. Simply download the bin and upload it through the factory provided web interface and configure. The image includes everything you need to get the AP pumping out WIFI signal to all of your A/G/N clients with all of the extras you’ve come to expect from open-source firmware. But what’s most impressive about this firmware is just how stable it is. I have anywhere from 10-25 WIFI clients on in my house streaming TV and YouTube videos, passing MineCraft and XBL content, pushing VPN traffic, and this AP has not had a reboot in months! The throughput and uptime of these little wireless work horses leads me to believe the TLWA901ND v3 + OpenWRT firmware are the best wireless bang for the buck.

Hardware Details (including images)

PowerCLI VMWare Snapshot Report

Posted on

Remember that application update you were doing at 2AM three months ago? You know, the one where step 1 in your change document was to take a VMWare snapshot of the VM you were about to make changes to? Of course you do, because you’re a good admin like that. We’ve all been there, you take a snapshot of a VM and after a successful change you jump right to the “Miller time” step, completely disregarding the “remove snapshot step”. Well instead of being reminded that you left that snapshot hanging out there with a full datastore, you should schedule this report to run daily or weekly and save yourself the headache.

You can download the script or view the source from my git repo.

Powershell DHCP Scope Utilization Monitor

Windows Server 2012 brings PowerShell capabilities to tons of Windows services. This quick little script makes use of some of these new capabilities as they apply to Windows DHCP services. I wanted to create a script that monitors DHCP scope utilization to ensure I have plenty of free leases available in all of my scopes – so that’s exactly what this script does. Use task scheduler to run the script at some interval and rest assured your clients will always get an IP address right when they need it most. Enjoy!

You can download the script or view the source from my git repo.

Fix a fried Asus RT-N16

Posted on
Fix a fried Asus RT-N16

A few weeks ago we had some power fluctuations that resulted in the power flickering on and off a handful of times before going out completely. Every time this happens, I hold my breath right after the power comes back on and hope that none of my beloved electronics are fried; but this time, I wasn’t so lucky. My Asus RT-N16 router was toast.

Symptoms: When I plugged the power adapter into the router, the power light came on for a few seconds. Shortly afterwards I would hear a slight “click” and the device would just power down.

This definitely sounded like a power issue, so I wasn’t hopeful. But knowing that my warranty had long expired, I was definitely going to peel it open and check out the situation. Before I got the screw drivers and soldering iron out, I plugged in the wall wart and did a quick voltage test to ensure that wasn’t the culprit. 12.56V output from this 12V 1.25A power adapter was definitely within spec.

The RT-N16 case is a simple assembly; remove the 4 sticky rubber feet to uncover 4 philips-head screws. After removing the screws, the top pops right off with ease. Upon inspecting the circuitry, I immediately noticed a 680uF capacitor that had crowned a bit. I de-soldered thisĀ  capacitor and scrounged around until I found a 480uF capacitor (close enough). I know it’s a major pain to solder through-hole components into vias that have already been used, so I just soldered a couple of wires to the bottom of the board and soldered my new capacitor to the other end of the wires. A bit of masking tape for mounting (couldn’t find my hot glue gun), and we were back in business.

Hopefully this will encourage a few people out there to break the warranty seal and poke around for themselves. I’m sure there are tons devices out there that have been thrown away and replaced when the fix was a $0.5 capacitor and 15 minutes of time.

Bad capacitor in Asus RT-N16 Bad capacitor in Asus RT-N16 Asus RT-N16 capacitor replaced

 

Powershell Printer Events

Posted on
Powershell Printer Events

I recently had a request to audit printer usage on specific printers in the organization. All of our network-enabled printers are shared from a single Windows 2003 Server, so my first thought was parsing event logs. The result is the attached Powershell script. Just feed the script a start and end date to filter by and it will parse the event log entries into Powershell properties that can be filtered, exported or mangled in any way you see fit. I’ve also added a department look up using the Quest AD tools since that was one of the key pieces of information we were interested in gathering. Feel free to make use of the script and modify the output however it suits your needs.

You can download the script or view the source from my git repo.

PowerCLI: List all Windows VMs and OS Versions

Posted on

PowerCLI

Just a quick script that lists all Windows VMs on a VMWare host and returns the version of Windows that is running. It goes without saying that you must have Administrative privileges on the machines being queried (this could be changed with a slight tweak to the Get-WMIObject command). Without further ado:

$output_file = “path_to_file”
$vms = Get-VM | ?{$_.PowerState -eq “PoweredOn”}
$vmos = foreach($vm in $vms) {Get-WmiObject -ComputerName $vm.Name Win32_OperatingSystem -EA SilentlyContinue | Select-Object @{Name=”ComputerName”; Expression={$vm.Name}}, @{Name=”OSVersion”; Expression={$a = $_.Name.split(“|”); $a[0]}}}
$vmos | Export-Csv $output_file -NoTypeInformation

write-host “Process complete. Output saved to $output_file” -foregroundcolor “yellow”

Hangmanduino Update

I tried compiling Hangmanduino (see original post here) again using v 0021 of the Arduino IDE and found out quickly that things had changed. So I began troubleshooting and found that the WString library I was using was obsolete in the new IDE. Long story short, I was able to make a few adjustments to the code and got it up and running. Get the new code here (no need to download any additional libraries).

Enjoy!