July 11 2014

Free public SSL certificates

I recently needed to do some testing and needed to have a valid public SSL certificate and since it was only for testing, I preferred if there was no cost for this.
I came across StartCom – https://www.startssl.com/ – who offer FREE Class 1 SSL certificates.

These free certificates are Class 1 – meaning that there is minimal validation is done when they are requested and issued – however this is fine for testing but not really recommended for commercial use. From my testing, it appears that the issuing CA was automatically trusted by Internet Explorer and Chrome. These certs are perfect for testing over SSL.

For more info see the StartCom website – https://www.startssl.com/?app=40

March 7 2014

Fastest DNS servers available

Recently I was looking for the fastest responding DNS servers to speed up my Internet experience. I came across a great tool called namebench – an open-source DNS benchmark utility.  From their website:

 

It hunts down the fastest DNS servers available for your computer to use. namebench runs a fair and thorough benchmark using your web browser history, tcpdump output, or standardized datasets in order to provide an individualized recommendation. namebench is completely free and does not modify your system in any way. This project began as a 20% project at Google.

 

Download from free from their website – https://code.google.com/p/namebench/

 
 

June 25 2013

Automatic documentation of your SCCM environment

David O’Brien has created a fantastic PowerShell script that collects the configuration of your SCCM 2012 environment and exports it into a well formatted and comprehensive Word document. More information and downloads here:

Enhansoft have also just released their SCCM 2012 Documentation Script (SYDI-SCCM), this is available for free (after registration) from their website:

 

 

 

May 21 2013

Goodbye Windows Live Mesh…. Hello Cubby… File syncing fun

CubbyI had a simple requirement – to synchronise files across my personal laptops and desktops – a total of 4 machines – 3 desktops and 1 laptop. I wanted an up-to-date copy of the files I was working on whether I was at home, at work or in an internet cafe. The solution was simple and worked very well – Windows Live Sync – it was free and it worked well with little system resource overhead.

Then comes the day a couple of years ago when it stopped working – Microsoft withdrew it from it’s product suites and replaced it with Windows Live Mesh. I was forced to upgrade.  For the last couple of years, I struggled through using Windows Live Mesh – it really was pathetic. It didn’t have the simplicity of Windows Live Sync and the system resource overheads were massive – I often saw the Mesh processes sitting between 90 and 100% of total processor usage. Some files just didn’t sync – even after days of a machine being online, it still said it was waiting to sync some random files.  Then earlier this year Microsoft pulled Windows Live Mesh from its offering.

I’ve tried some alternatives but most of them want you to use cloud storage – I don’t want or need this all the time – sometimes I just want simple peer-to-peer file synchronisation.

I’ve tried Dropbox, SugarSync, SpiderOak, GoodSync. They didn’t satisfy me, they either had limited features, were too expensive or force you to use cloud storage.

Then I came across Cubby. This has met all my needs. I love that I can have simple peer-to-peer file synchronisation and can select what goes into the cloud storage – for example, I don’t want my 100GB of photos to be stored in the cloud, these should sync’d between machines only.  It is fast, has a simple interface and is light-weight.  There are web clients, PC clients and iOS clients – so I can access my files from anywhere.  The application is auto-updating. There are tons of other features too and they are continuously being updated. I have been using it for 6 months now and I love it.

Here is a referral link, if you are going to use Cubby, please use the link, it will give me an additional 1GB of cloud storage for each person that installs it 😉 –

https://cub.by/i/00_-H8uVhh3BWY

 

Category: Geek, Tools | LEAVE A COMMENT
May 20 2013

Powershell script to check automatic registration of addresses in DNS

This is nifty PowerShell script to query a list of computer names and then work out whether the “Register this connection’s address in DNS” tick box is ticked for each active NIC.

 

 
##########################################################
#
# Adjustable variables (2)
#
# Specify the name and location of the a text file containing the server names to be scanned, eg $computers = get-content C:tempServer_Names.txt
$computers = get-content C:tempServer_Names.txt
# Specify the name and location of the export CSV file to be created, eg $FileLocation = "c:tempExport.csv"
$FileLocation = "c:tempExport.csv"
##########################################################
# AUTHOR:	blog.danovich.com.au
# DATE:		20/05/2013
# NAME:		DNS_Registration.ps1
# VERSION:	1.1
# PURPOSE:	Query list of servers and return if the "Register this connection's address in DNS" tick box is ticked for each active NIC
# COMMENT:	1.0 Initial release after testing
#				This script checks the FullDNSRegistrationEnabled properties of each network card:
#					If TRUE, the IP addresses for this connection are registered in DNS under the computer's full DNS name.
#			1.1 Added check for remote WMI connectivity. Added listing of DNS servers used for each NIC. Added Connection Name as well as NIC name.
##########################################################
$ErrorActionPreference = "SilentlyContinue"
# Create empty array
$report = @()
# Set count
$i = 0
ForEach ($computer in $computers){
#Count the computers
$count = $computers | measure
# Output progress to screen
$i++
$numberofservers = $computers.count
$ProgressName = $computer
Write-Progress -Activity "Collecting NIC information" -status "Contacting $computer [$i out of $numberofservers].  Overall percentage complete:" -percentComplete ($i / $computers.count*100)
# Check WMI connectivity
$wmi = $null
$wmi = Get-WmiObject -class Win32_ComputerSystem -ComputerName $computer -ErrorAction SilentlyContinue
if ($wmi) 
# Start query if WMI connectivity is true
{
#Connect to the Win32_NetworkAdapterConfiguration class using WMI
$compnetworks = Get-WMIObject -computername $computer -Class Win32_NetworkAdapterConfiguration | Where-Object{$_.IPEnabled -eq $True}
ForEach($compnetwork in $compnetworks) 
{
# Get which DNS Servers are used for queries
$DNSServers = ""
ForEach($Address In $compnetwork.DNSServerSearchOrder)
{$DNSServers += $Address + "  "}		
# Create object to collect elements
$OutputObj = New-Object -TypeName PSObject -Property @{
"Name" = $computer.ToUpper()
"IP_Address" = $compnetwork.IPAddress
"Register DNS ticked?" = $compnetwork.FullDNSRegistrationEnabled
"DNS Servers" = $DNSServers
"Network Connection" = $($compnetwork.GetRelated("Win32_NetworkAdapter")).NetConnectionId + " (" +  $compnetwork.Description + ")"
} | Select-Object "Name","Network Connection","IP_Address","Register DNS ticked?","DNS Servers"
# Convert to exportable format
$OutputObj | %{$_.IP_Address = [string]$_.IP_Address}
# Add item to report
$report += $OutputObj	
}
# End query if WMI connectivity is true						
}
else
# Unable to connect to WMI
{
# Create object to collect elements
$OutputObj = New-Object -TypeName PSObject -Property @{
"Name" = $computer.ToUpper()
"Description" = "Unable to connect to remote WMI"
"IP_Address" = "Unable to connect to remote WMI"
"Register DNS ticked?" = "Unable to connect to remote WMI"               
"Network Connection" = "Unable to connect to remote WMI"        
} | Select-Object "Name","Network Connection","IP_Address","Register DNS ticked?","DNS Servers"
# Add item to report
$report += $OutputObj	
# End unable to connect to WMI
}
}
# Output findings
$report | Export-Csv $FileLocation -Force -NoTypeInformation
clear
write-host "Done... results exported to" $FileLocation
May 17 2013

Powershell WMI query for virtual machine

There have been many times when I need to query a machine to see if it is virtual or physical. This quick Powershell WMI query will do the trick:

 

$Result = $null
$bios = gwmi Win32_BIOS -computername computername | Select-Object "version","serialnumber"
$compsys = gwmi Win32_ComputerSystem -computername $DC.Name | Select-Object "model","manufacturer"
if($bios.Version -match "VRTUAL") {$DCVM = "Virtual - Hyper-V"}
elseif($bios.Version -match "A M I") {$DCVM = "Virtual - Virtual PC"}
elseif($bios.Version -like "*Xen*") {$DCVM = "Virtual - Xen"}
elseif($bios.SerialNumber -like "*VMware*") {$DCVM = "Virtual - VMWare"}
elseif($compsys.manufacturer -like "*Microsoft*") {$DCVM = "Virtual - Hyper-V"}
elseif($compsys.manufacturer -like "*VMWare*") {$DCVM = "Virtual - VMWare"}
elseif($compsys.model -like "*Virtual*") {$DCVM = "Virtual"}
else {$DCVM = "Physical"}
write-host $Result