RSSAmplifier

Blog

xkln.net

A mix of system administration, networking, security and development

xkln.netRSS feed ↗133 posts

Latest posts

Veeam Update In Silent Mode Fails When Running As SYSTEM

I’ve recently been doing a bunch of Veeam Backup & Replication 12.3 upgrades and have tried pushing them out via our RMM using Veeam’s…

Azure AppService Deployment Error 400 When Using Zip Deploys

Had an interesting issue where Azure AppService (.NET Core Runtime) zip deployments via Azure CLI were failing with , and a link to the…

How To Get The Uninstall Code (Product Code) From An MSI File With Powershell

When configuring Intune app deployments with MSI files there is the need to provide an Uninstall command. This is typically in the form of…

A First Look At Entra Private Access

This post is going to be a summary of my first look into Entra Id Private Access, Microsoft’s “zero trust” replacement for traditional VPNs…

Backing Up Cisco IOS/XE Configurations With The Archive Command And Azure Functions

Cisco IOS/XE has for a very long time now had the command which allows the configuration of the device to be sent off to a remote system…

Using SQLite With ASP.NET And Azure App Service

I’m a fan of using SQLite for small projects where a full MSSQL instance is not warranted, but I wasn’t sure whether it could be packaged…

Timeline Visualisation Of Veeam Backup Job Sessions

I was recently going through an old SVN repo and found a small pet project I worked on. It was a simple way display Veeam job sessions in a…

Introducing Errors Into HTTP Requests For Resilience Testing

I’ve recently been playing with Polly, a .NET library for adding resilience to code where transient faults may occur. It allows policies to…

Improve C# Console App Startup and Runtimes with AOT and Avoid Spawning conhost.exe

I’ve written a very simple .NET8 C# app that does nothing other than fire off a HTTP request. None of the HTTP parameters need to ever…

Adding All Projects To A .NET Solution With Dotnet CLI And PowerShell

I’ve recently spent a bunch of time learning C# and ASP.NET and I often find myself creating multiple projects and wanting to add them all…

Getting Uptime With PowerShell - The Fast Way

Getting uptime using WMI with PowerShell There are already a ton of posts about getting system uptime with PowerShell, and most of them use…

Using ChatGPT API To Generate Git Commit Messages With Powershell

Git commit messages introduce a little bit of friction when I’m writing code. I tend to get stuck trying to come up with the perfect message…

Bulk Command Execution Across Multiple Cisco IOS Devices Over SSH From Windows

Cisco have just published an advisory for CVE-2023-20198 - Cisco IOS XE Software Web UI Privilege Escalation Vulnerability. This…

Automating Remote Desktop Connection to Azure Lab VMs using PowerShell

Last few posts have been rather lengthy so here’s a quick one. Recently I’ve been doing a lot of lab work in Azure and found myself often…

DNS Name Resolution In Azure

In this post we’re going to cover the services and features Azure provides for DNS name resolution inside the cloud and to multi-cloud/on…

Matching TCP Streams Between Client And Server Wireshark Packet Captures Using Powershell

If you’ve had to diagnose application issues where there may be a network fault (or the vendor is blaming the network 😡) you may have taken…

Deploying Azure Application Gateway - Part 2: End To End Encryption, Path Routing, And Header Rewriting

In Part 1 we deployed a simple Application Gateway configuration and discussed the various components that make up the service. In Part 2 we…

Deploying Azure Application Gateway - Part 1: Intro And Basic Deployment

I’ve recently spend some time with Azure Application Gateway and wanted to put my notes in a format that can benefit others. Part 1 will be…

Sending Text To BMC (iDRAC, XClarity, iLO, Etc) Remote Consoles

I wasn’t planning on writing a post on this but after spending far too long looking for a simple solution I figured it was worth sharing…

Getting the Veeam B&R Version and Build with PowerShell

There are a few ways to get the version of a Veeam Backup & Replication install, most of the online content points you towards querying the…

Understanding Azure App Registration, Enterprise Apps, And Service Principals

If your journey into Azure is anything like mine you started off wanting to write some simple PowerShell automation or reporting, probably…

Determining The Currently Installed Exchange Cumulative Update

Quick and short post today - we’re going to be retrieving the current Cumulative Update (CU) level of Exchange servers. There are already a…

Caveats With Enumerating Local Administrators

There are several ways to get a list of local administrators on a Windows system - be it a server or a client, but the accuracy of the data…

Resolving Netgear ReadyNas Volume Decryption Failures

I recently had an issue with a Netgear ReadyNAS where following a clean shutdown the encrypted volume would no longer mount during boot. All…

ESXi Hosts Disconnecting From vCenter - Investigating ESXi Heartbeats

If you’re seeing issues with ESXi hosts disconnecting from vCenter every ~60 seconds for a very brief period of time and immediately…

Preparing To Decommission Windows DNS Servers

Today I want to write about a few of the tricks I’ve picked up for migrating DNS servers in a Windows AD environment with minimal pain and…

Validating PrintNightmare Remediation with PowerShell

There has been a lot of uncertainty around CVE-2021-34527, dubbed ‘PrintNightmare’. From whether the released out-of-band patches work, to…

Using Keyboard Macro Keys To Control HomeAssistant

I recently purchased a Logitech keyboard and while I didn’t particularly care for the macro keys I decided to look into whether I could…

Building Hyper-V Labs With Packer And Vagrant - Part 1

This two part series will cover the process to automate many of the repetitive tasks we need to perform when building simple lab…

Determining Which Process Is Making SMB Requests On Windows

How would you go about finding what process was making SMB requests on a Windows PC? If you’re like me you probably answered either or…

Getting MX, SPF, DMARC, DKIM, and SMTP Banners With PowerShell

When diagnosing email issues I tend to start with some basics: MX records, SPF, DMARC and DKIM data. There are a multitude of ways to get…

How To Query APNIC WHOIS With Powershell

I’m finding myself frequently needing to query APNIC for IP WHOIS data, and while I tend to always have a PowerShell prompt (or 17) open, I…

PowerShell Sleep Duration Accuracy and Windows Timers

I’ve previously written about different methods of pausing PowerShell script execution but it’s spread over several unrelated posts and it…

Analyzing Thread CPU Utilization with ProcessExplorer, PowerShell, and WMI

In a previous post we examined ways to get per core CPU performance data using PowerShell and WMI, and there was a question that we mostly…

Scripting SQL Server Management Studio (SSMS) Installation

Very short post today. I found myself deploying SQL Server Management Studio (SSMS) to a number of systems and quickly got over clickety…

Analyzing CPU Usage With Powershell, WMI, and Excel

I recently needed to cobble together quick and dirty CPU monitoring to tackle an issue, and not being a huge fan of perfmon I decided to use…

Getting Started With Terraform And The Active Directory Provider

A couple of days ago HashiCorp announced their Active Directory provider for Terraform. Having used Terraform in the past this immediately…

Overriding Ping To Allow Pasting From The Chrome Address Bar With PowerShell

Frankly, I wasn’t sure whether to make a post about this or not, on one hand it’s utterly trivial, but on the other hand it fixes something…

Using NordVPN Proxies With Powershell Invoke-WebRequest

I recently found out my NordVPN subscription provides proxies in addition to the normal VPN functionality. This can be incredibly useful as…

Layer 2 Host Discovery With PowerShell In Under A Second

In the previous post on ICMP, Ping, and Traceroute I discussed a method of detecting hosts on a network when the firewall may be set to…

ICMP, Ping, and Traceroute - What I Wish I Was Taught

I wanted to write a post and do a bit of a deepdive into ICMP, ping and traceroute. I’ve found that having a good networking foundation has…

Securely Synchronizing PowerShell Profiles Across Multiple Computers

I’ve been making frequent changes to my PowerShell profiles and I’m finding it difficult to keep them synchronized across various systems…

Expanding Shortened URLs With PowerShell

Shortened URLs are generated by services such as Bitly or TinyURL, and they take a long address, for example , and turn it into something…

Please Stop Using Win32_Product To Find Installed Software. Alternatives Inside!

For years I’ve seen blog posts, scripts, forum messages, you name it - all referencing the WMI class when someone is looking for a way to…

Putting The PowerShell Window Title To Better Use

The default title for a PowerShell window is simply ‘Windows PowerShell’, and this is fine, but customising it can make things a little more…

PowerShell 7 ForEach-Object -Parallel Memory Consumption

I’m undertaking a project where one of of the tasks involves processing some 350,000 XML files. If each file takes one second to process…

Running A Powershell Script As A Service

A few people have asked if it was possible to run PSKindleWatch as a Windows service. This is a guide on how to accomplish that using NSSM…

Processing Tshark Streams With PowerShell

Wireshark is a packet capture and analysis tool, however, not as well known is the command line version that is bundled into the install…

Get-ADGroupMember -Recursive Doesn't Return All Members

This recently cropped up when I was running some auditing scripts to ensure Domain/Enterprise/etc Admins were part of the Protected Users…

Finding Active Windows 7 Machines In Active Directory

Quick one today (won’t even need a TL;DR), with Windows 7 no longer supported (ESU program being the exception) we’re all making sure either…