PowerCLI Scripts: Finding Out-of-Date VMTools Versions

Why You Need This Script:

This is a simple, but powerful report to find any VMtools that are considered out of date.  If you aren’t aware, VMTools are vital for your VMs to run at their best.  VMtools include drivers, VMware tools to maximize performance, and add method for the ESXi vHost to monitor the VM with heartbeats.  And some may not know this, but as you upgrade or patch your ESXi vHost you may need to upgrade your tools.  There are plenty of generic scripts out there to do this sort of report, but this one has been tweaked to show you only the vital errors. Specifically, it removes any false positives for VMs that are running third-party tools (such as linux VMs),  VMs that are shut off, or VMs that are replica created by a backup software (such as Veeam) To run this script, download and install PowerCLI, download the script also attached at the end, and simply edit the script to include your either your vCenter’s IP/FQDN or a single ESXi vHost’s IP/FQDN.

What You Need To Download:

PowerCLI From VMWare: VMWare.com

Script: VMToolsReport

Splunk Syslog Server Upgrade

Upgrading your Splunk Syslog server is very easy in comparison to some other upgrades that I have done. First of all this guide is upgrading from an ubuntu server running version 4.2 to 4.3. If you are not doing that upgrade I recommend going to their link and going through their guide here.

Here are the commands to do so:

First download the upgrade version, 4.3.4:

wget -O splunk-4.3.4-136012-linux-2.6-amd64.deb ‘http://www.splunk.com/page/download_track?file=4.3.4/splunk/linux/splunk-4.3.4-136012-linux-2.6-amd64.deb&ac=&wget=true&name=wget&typed=releases’

Second is simply stopping the server:

sudo SPLUNK_HOME/bin/splunk stop

Third is install:

sudo dpkg -i splunk-4.3.4-136012-linux-2.6-amd64.deb

Finally start the server again:

sudo /opt/splunk/bin/splunk start

Enjoy and if you have any questions comment or send me a message on the contact me page


After many revisions and test I have finally setup a SSL-VPN with Cisco AnyConnect. There are steps to set this up.

STEP 1: Setting up the Webserver Function

These are simple commands that will turn on the HTTP and HTTPS servers and make the authentication for the HTTPS server to be local.

ip http server
ip http authentication local
ip http secure-server

STEP 2: Setting up Authentication

The first command makes a simple username and password to log into the VPN, this is used if you do not use a radius server.  The next commands creates the authentication is local.

username test password test

aaa new-model
aaa authentication login default local
aaa authentication login ciscocp_vpn_xauth_ml_1 local
aaa authorization exec default local

STEP 3: Setting up the IP Pool

This is a simple command to create a local pool for the VPN to use for the clients accessing it.


STEP 4: Setting up the Authentication Trustpoint

This set makes the SSL cert and makes it a self-assigned one that is created here on the router and not through a CA server.

crypto pki trustpoint <CERT_NAME>
enrollment selfsigned
crypto pki enroll <CERT_NAME>

STEP 5: Setting up the VPN

The first portion of commands are setting up the gateway, which defines three main things. First, gateway name.  Second, the IP or interface that is going to be the internet facing side.  Third, binding the gateway to the SSL certification made in step 4.

webvpn gateway <GATEWAY>
ip interface <OUTBOUND_INTERFACE OR IP_ADDRESS> port 443
ssl trustpoint <CERT_NAME>

This portion defines where the anyconnect client is stored on router.  If you don’t have it uploaded you need to.

webvpn install svc flash:/webvpn/anyconnect-version#.pkg sequence 1

This portion just defines the website’s side of things.  It makes the color and the SSL authentication is needed.

webvpn context <VPN_NAME>
secondary-color white
title-color #CCCC66
text-color black
ssl authenticate verify all

This is the final piece and it creates the policies to be used.  It wraps up the IP address pool to be used, the domain name, and the internal DNS server used.  The line split includes tells the VPN what IPs to send through the VPN and what to use the client’s normal IP methods.  Finally it attaches to the gateway that is defined at the top of this step.

policy group <POLICY_NAME>

functions svc-enabled
svc address-pool “<POOL_NAME>” netmask
svc default-domain “<DOMAIN_NAME>”
svc keep-client-installed
svc split include
svc dns-server primary <DNS_IP>
default-group-policy <POLICY_NAME>
gateway <GATEWAY>


I had to test this project for many months as there was a bug in the Cisco IOS version 151-3.T that when the router was rebooted it would replace the SSL certificate even if there was an existing one.  The work around was either upgrade IOS versions or make a CA server.  I upgraded.

Enjoy and if you have any questions comment or send me a message on the contact me page


FreeNAS – File Server

When creating a file server there were a few options, but I chose FreeNAS because it is actively getting updated and re-invented and it has a vast amount of features that I plan to use in the future such as TFTP, FTP, SNMP Monitoring, Syslog Monitoring, and plenty more in the works.  Here is a basic tutorial on just setting up file shares for a Windows LAN.

First after you have located an old computer with the minimum system requirements found here you just need to download the ISO for the FreeNAS version that fits you best.   There are a few versions in BETA right now and of course the choice between 64 and 32 bit.  All the downloads can be found here.  Following downloading and install the base OS is where the fun begins.

There are essentially 4 steps to completing this:

STEP 1: Adding the Volume

Click on the Storage Tab on the top, then Create Volume.

In this pop-up menu you need to check the box next to the HDD you wish to use and then the filesystem type, I would pick ZFS as it seems to have more options later on.  And then hit Add Volume.

STEP 2: Creating the CIFS Share

Click on the Sharing tab on the top and then Windows sub-tab, and then Add Windows Share.

Simply enter the Name (just documentation purposes), Comment (Also just for Documentation), Path which is where the volume is, and the remaining settings are perfect as is.

STEP 3: Turning on the CIFS Service

This is where the meat of the configuration happens. Click on the the wrench to configure the CIFS Service.

Authentication Model: Local User
NetBIOS Name: Hostname of the server
Workgroup: Your workgroup or domain name
Description: Documentation notes
Everything leave as default

After that hit the ON/OFF switch to activate the switch.

STEP 4: Mapping the new CIFS Drive to your local machine

On your local machine you need to either type in the Search Programs and Files, if you have windows 7, or open Run, if you have windows XP, and then type in \\HOSTNAME or \\IP ADDRESS and a windows folder will open with the documents on the server.  You then need to click on Tools on the top and there is a Map Network Drive option.  Click that and choose a letter. Click Finish and you are complete.

Enjoy and if you have any questions comment or send me a message on the contact me page



In this post I outline a very easy setup process to add a web GUI to your linux server. There is really 2 easy steps:

Install the dependencies:


$ sudo aptitude -y install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl apt-show-versions libapt-pkg-perl


Install Webmin


$ wget http://downloads.sourceforge.net/project/webadmin/webmin/1.510/webmin_1.510-2_all.deb?use_mirror=cdnetworks-us-1
–2010-05-22 19:53:44– http://downloads.sourceforge.net/project/webadmin/webmin/1.510/webmin_1.510-2_all.deb?use_mirror=cdnetworks-us-1

$ sudo dpkg -i webmin_1.510-2_all.deb


Accessing the Web GUI

Just put this in your favorite flavor of web browser:

https://<IP ADDRESS>:10000/


Enjoy and if you have any questions comment or send me a message on the contact me page