Update AD Username Casing

 We all know that usernames in Active Directory are not case sensitive, for the most part everywhere that is the case. But I had a customer who wanted to ensure all the usernames were lowercase for reasons we shall not ask. 

Below is just one example of how you can accomplish this in PowerShell

$InformationPreference = 'Continue'

$users = Get-ADUser -Filter * -SearchBase "OU=MSHELDON,DC=T4EDEV,DC=local"

foreach($user in $users) {

    try {

            $user | Set-ADUser -Replace @{ sAMAccountName = $user.SamAccountName.ToLower() }

            Write-Information "Updated user [$($user.SamAccountName)]"

    } catch {

        Write-Warning "Failed to update user [$($user.SamAccountName)]"




Generate Self-Signed Certificate with PowerShell

It's been a long time, but I'm back. Here is a sample script to generate a self-signed certificate. This was helpful for building API access to Adobe Cloud User Management API

 ### Create Self-Signed Certificate (only works Windows 8.1, 10, Server 2016+ ###

$Name           = "MyCert"
$ExportPath     = "C:\Data"           # Path to export cert
$Password       = "MySecretPassword"  # Passphrase on cert
$CertTtlMonths  = 24                  # Lifespan of the cert in months
$SecurePwd      = ConvertTo-SecureString -String $Password -Force -AsPlainText
$Certificate    = New-SelfSignedCertificate -DnsName $Name -CertStoreLocation "cert:\LocalMachine\My" -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -HashAlgorithm "SHA256" -NotAfter (Get-Date).AddYears($CertTtlMonths)
Get-ChildItem -Path ("cert:\localMachine\My\" + $Certificate[0].Thumbprint ) | Export-PfxCertificate -FilePath "$ExportPath\MyCert.pfx" -Password $SecurePwd
### Export Public Key (Required Server 2016+) ###
Export-Certificate -FilePath "$ExportPath\MyCert.cer" -Cert $Certificate -Type CERT -NoClobber
CertUtil -Encode "$ExportPath\MyCert.cer" "$ExportPath\MyCertB64.crt"


Server/Network Monitoring

When it comes to monitoring servers, networks, workstations and other devices, there are a lot of options out there. In looking for something free and easy to use, I decided to just use NetXMS, it provides a client that you can install for extended functionality or you can just use SNMP.  In this case, I just needed to do some quick tracking of servers I was troubleshooting and I connected them machines I needed and setup a dashboard view.

I recommend giving it a spin, it's worth a look.

Point of Sale Project Discontinued

Due to lack of time and requirements of the project. I decided to not continue the Point of Sale project. I will have some other projects in the works, and hope to post more articles.


Building a better experience

Before the holidays started, I was provided the idea of creating a replacement Point of Sale platform for Education. Many school districts have shared with me their disappoint in their current platform in which they are paying for, with no sign of improvements coming down the road.  With that my current side project is developing a solution that can manage those payments from students and faculty.  The concept behind it is to make it simple and easy to use with the flexibility to adapt our applications their current POS integrates with. An example with the Library Management System with fines for books.

Currently I hope to provide an open demo for everyone by the beginning of May.  The holidays and consultancy projects have taken up most of my take as of late, but it's time to get back on track. Below you'll find some examples of the current development, all of it currently is very rough. The overall look and feel of the product will be driven by the users once I can provide a hands-on demo.


GaPoSh v0.04 Released! Over 50 Commands Available!

I've released a new version of GaPoSh! There are now 50+ commands available to manage Google Apps, and more to come in the future.  Some of future releases will focus on ensuring all the commands work to their full potential. Please provide any input you may have on the client by putting in issue requests. Enjoy!

GaPoSh v0.04