HVTools Major Update – 1.6.5

Overview A lot of bug fixes and features packed into this release! Enjoy 😉 Changelog Other cosmetic improvements.1.6.5 Rounded off large number column values.Search filter now works across all tabs.Added reset counter for clusters $c in ClusterNetworks foreach loop.1.6.4 Added tab filter for all 8 datagrids.1.6.3 Major update. Packed new features in including Clusters, Hosts, … Continue reading HVTools Major Update – 1.6.5

KVT Tool Major Update – 1.5.7

Overview Great news! I have recently performed major upgrades to KVT Tool. These new features bring both beauty and finesse. Noteworthy mentions: Moved away from traditional PS arrays. Now using data table objects.Improved UI by leveraging DataGridView and TabControl forms.Unfroze the UI! Achieved this thanks to [runspacefactory] RunspacePools. Took a little while to master, but … Continue reading KVT Tool Major Update – 1.5.7

Azure ExpressRoute Utilisation – Automate EOM Reporting with Log Analytics & Logic Apps

We can generate ExpressRoute link utilisation within Azure by leveraging log analytics, logic apps and email! Very beneficial for automating end of month reporting.   Pre-requisites Azure subscription. Log analytics workspace (per GB if you require reporting more than 7 days). ExpressRoute link. ExpressRoute network monitor SPN SMTP Relay   KQL KQL stands for Kusto-Query … Continue reading Azure ExpressRoute Utilisation – Automate EOM Reporting with Log Analytics & Logic Apps

How to run Terraform Code

In this tutorial, we will be executing Terraform code to create a new Azure Resource Group. Prerequisites Microsoft Visual Studio Code. Terraform extension for Microsoft Visual Studio Code. Code for creating a Resource Group resource "azurerm_resource_group" "web_server_rg" { name="web-rg" location="westus2" } Apply Changes Within Microsoft Visual Studio Code; Right-click our TF file. In this example, … Continue reading How to run Terraform Code

How to create an Azure SPN for Terraform

Service Principal Name is effectively a service account within Azure. Required in this scenario for our Terraform Provider function to connect our TF code to our Azure Subscription. Login to https://portal.azure.com. Click into Azure Active Directory. Click App Registrations >+ New registration. Provide a name for your SPN ie. terraform-spn, provide any valid URL within … Continue reading How to create an Azure SPN for Terraform

Universal VMware Tools Uninstaller

I've created the following Powershell script which will uninstall all versions of VMware Tools from a server. Particularly handy for SCCM deployment. uninstall_vmware_tools.ps1 $regpath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" $regkey = gci $regpath | Get-ItemProperty | Where-Object{"VMware Tools" -contains $_.DisplayName} #Uninstall String msiexec /x $regkey.PSChildName /qn #Reboot server within 120 seconds. shutdown -r -f -t 120   The … Continue reading Universal VMware Tools Uninstaller

Home Folder – Compare folders against current domain users

Here is a PowerShell script which probes network home folders with users against the domain. Helpful in order to determine which home folders no longer reference current user accounts and which can safely be removed/archived. $folders = gci "\\Domain.Local\DFS\Users" #This is the root path containing home folders. foreach ($folder in $folders)   {     $username1 … Continue reading Home Folder – Compare folders against current domain users

Home Folder – Archiving Disabled Users

Here is aPowerShell script to archive all users within an organisational unit (Disabled Users) to a network path. Prerequisite is to grant your Administrator account with ownership/full control permissions to home folders in question prior move. If this condition is not met, then original home folders will remain with remnant data which was inaccessible. $users … Continue reading Home Folder – Archiving Disabled Users

Exchange 2013 – Archiving Disabled Users

Here is an Exchange Shell script to archive all users within an organisational unit (Disabled Users) to a network path. Prerequisite is to grant built-in security group Exchange Trusted Subsystem with modify access to network path. $mailboxes =  Get-mailbox –OrganizationalUnit “DOMAIN.LOCAL/CompanyName/Disabled Users” foreach ($mailbox in $mailboxes) {     $name = $mailbox.Name     if(!(Test-Path "\\[FILESERVER]\Archive$\$name\")) { … Continue reading Exchange 2013 – Archiving Disabled Users