I racked my 2 new EqualLogic PS6100E SANs today, furthering my belief that storage is sexy.
I racked my 2 new EqualLogic PS6100E SANs today, furthering my belief that storage is sexy.
I had the privilege of attending an HP Cloud Tech Day this past week in Houston, organized by Ivy Communications. Tom, Chris and Halley did a great job gathering some pretty cool and smart bloggers and thinkers to hear about and give feedback on HP's cloud offerings and aspirations. The list of attendees were:
Cleaning up Active Directory is a necessary evil. You need to stay under your CAL count and it can be difficult to figure out which computers (or users) have not logged in to the domain recently.
Windows Server 2003 introduced the lastLogonTimestamp attribute which replicates between all DCs in the domain. Now, this isn’t a real-time data, in fact it can be up to 14 days behind the current date, depending on your domain settings. If you want that, you’re going to have to get yourself a good syslog server, but for general cleanup and auditing purposes it works great. You can read more about this attribute on Microsoft's TechNet Blog.
I’ve written a couple very simple PowerShell scripts that will 1) search the entire domain for all computers with a lastLogonTimestamp before a certain date 2) return a computers lastLogonTimestamp in a human readable local format. It’s not so easy to just go out and get the time stamp, because the format that AD stores it UTC (GMT) format, so it needs some converting to human readable, which my scripts do.
get_lastLogonTimestamp_from_host.ps1
# Gets host and lastLogonTimestamp in UTC of specified host
# get Name
$hostname=Read-host "Enter a hostname"
#grab the lastLogonTimestamp attributeGet-ADComputer $hostname -Properties lastlogontimestamp |
#output hostname and timestamp in human readable formatSelect-Object Name,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}}
-----------------------------------------------------------
get_stale_hosts_lastLogonTimestamp.ps1
# Gets time stamps for all computers in the domain that have NOT logged in since after specified date
$time=Read-host "Enter a date in format mm/dd/yyyy"
# Get all AD computers
Get-ADComputer -Filter * |
# Make sure to get the lastLogonTimestamp property
Get-ADObject -Properties lastlogontimestamp |
# lastLogonTimestamp - date specified is less than zero, outputs it to a CSV file is working directory
where {(([DateTime]::FromFileTime($_.lastlogontimestamp) - ([system.datetime]$time)).totaldays) -lt 0 } |
# Output hostname and lastLogonTimestamp into CSV
select-object Name,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} | export-csv .\all_old_computers_timestamps.csv
These are two scripts that I use pretty often when I'm trying to determine if I should disable/delete computer accounts in AD. Hope if helps someone else.
Today, Dell released Update 1 to the 1.0.1 version of their Management Plug-in for VMware vCenter. The biggest highlight among the fixes and changes would be the added support of ESX5 (vCenter 5). If you're currently running the 1.0.1 plugin under a vCenter 5 environment (which 'works', just not in a supported kind of way), you'll need to unregister and re-register the Dell Management Plugin after upgrading (see the Release Notes for all issues/resolutions).
One of the major changes from the original 1.0 to the 1.0.1 plug-in was the promise that updates to the appliance/software would come as an RPM patch and not tied to re-deploying another OVF. I'm glad to report that this worked wonderfully. You can find full instructions in the Dell Management Plug-in for VMware vCenter User Guide (page 41), but here's the quick and dirty: