Skip to content

Instantly share code, notes, and snippets.

View SweetAsNZ's full-sized avatar
🏠

Tim West SweetAsNZ

🏠
View GitHub Profile
@SweetAsNZ
SweetAsNZ / Get-VCRunTime.ps1
Last active December 10, 2025 01:45
Gets the latest/installed Visual C++ RunTime with PowerShell
function Get-VisualCRuntime {
<#
.SYNOPSIS
Get Visual Studio Latest Installed RunTime
.EXAMPLE
Get-VisualCRuntime
#>
[CmdletBinding()]
Param(
[switch]$Latest # See here for latest https://aka.ms/vc14/vc_redist.x64.exe, https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
@SweetAsNZ
SweetAsNZ / Get-SpeedToMakeWithCourseDeviation.ps1
Last active December 10, 2025 08:34
Calculate a boat's current and new arrival time and average VMG for course changes using polar diagram data supply recommendations as to whether to change course to that angle or not
function Get-SpeedToMakeWithCourseDeviation {
<#
.SYNOPSIS
Calculate arrival time and average VMG for course changes using polar diagram data.
.DESCRIPTION
Calculates whether a course deviation is worthwhile by determining:
- Expected boat speed at the new course angle using polar diagram
- Velocity Made Good (VMG) toward the waypoint
- Estimated arrival time for current course vs altered course
.PARAMETER SOG
@SweetAsNZ
SweetAsNZ / Compare-WindowsFirewallLogs.ps1
Created December 2, 2025 21:46
Analyzes Windows Firewall logs of the local machine and another computer(s) to identify network traffic that is sent by a Windows Computer with no matching inbound traffic on the destination computer.
function Compare-WindowsFirewallLogs {
<#
.SYNOPSIS
Analyzes Windows Firewall logs of the local machine and another computer(s) to identify network traffic that is sent by a
Computer with no matching inbound traffic on the destination computer.
.DESCRIPTION
This function analyzes outbound traffic from the local computer and checks if the destination
computer(s) received that traffic. It identifies network communication failures, blocked connections,
or dropped packets by finding outbound SEND traffic that has no corresponding inbound RECEIVE traffic
on the destination server.
@SweetAsNZ
SweetAsNZ / Test-IEModeSessionStateSetting.ps1
Created December 2, 2025 21:39
Checks IE Mode Session State if Files Aren't Opening in IE Mode With Spinning Wheel on Edge Tab when you see multiple HTTP 302 errors in Fiddler
function Test-IEModeSessionStateSetting {
<#
.SYNOPSIS
Tests the Internet Explorer Mode session state settings for Microsoft Edge.
.DESCRIPTION
This function checks the registry for the Internet Explorer Mode session state settings
in Microsoft Edge under both HKLM and HKCU paths. It reports whether the settings are enabled, disabled, or not set.
Useful when IE Mode Files don't load with spinning wheel on Edge tab
.EXAMPLE
@SweetAsNZ
SweetAsNZ / Get-NetworkConnectionLogDedupedData.ps1
Created December 2, 2025 21:32
Gets a list of deduplicated IP's or Ports that hit the Computer using the output of Get-NetworkConnectionLog.ps1
function Get-NetworkConnectionLogDedupedData {
<#
.SYNOPSIS
Get deduplicated network connection log data with flexible property selection and time filtering.
.DESCRIPTION
Parses network connection log CSV files and returns unique combinations of selected properties.
Supports time-based filtering (last N minutes or hours) and flexible property selection for deduplication.
.PARAMETER FilePath
Path to the network connection log CSV file. If not specified, searches for the most recent log file
in the default location: $ENV:USERPROFILE\Documents\WindowsPowerShell\SCRIPTS\Network\Get-NetworkConnectionLog\
@SweetAsNZ
SweetAsNZ / Get-ListeningPorts.ps1
Created November 27, 2025 22:31
Retrieves a list of listening TCP and UDP ports along with their associated process names analogous to "netstat -anob"
function Get-ListeningPorts {
<#
.SYNOPSIS
Retrieves a list of listening TCP and UDP ports along with their associated process names.
.DESCRIPTION
This function fetches all listening TCP and UDP ports on the local machine and displays them along
with the names of the processes that own those ports. An optional parameter allows filtering out IPv6 addresses.
.PARAMETER NotIPv6
If specified, the function will exclude IPv6 addresses from the results.
.EXAMPLE
@SweetAsNZ
SweetAsNZ / Get-WinRMConfig.ps1
Created November 26, 2025 19:22
Retrieves the current WinRM configuration settings
function Get-WinRMConfig {
<#
.SYNOPSIS
Retrieves the current WinRM configuration settings.
.DESCRIPTION
This function fetches and displays the current Windows Remote Management (WinRM) configuration settings, including client settings, authentication methods, and listener configurations.
.EXAMPLE
Get-WinRMConfig
This command retrieves and displays the current WinRM configuration settings.
.NOTES
@SweetAsNZ
SweetAsNZ / Test-WinRMHealth.ps1
Last active November 25, 2025 01:33
Test WinRM Health
function Test-WinRMHealth {
<#
.EXAMPLE
# Local auto-detect and try-all
Test-WinRMHealth
.EXAMPLE
# Remote over HTTP (default 5985), auto-try enabled auths
Test-WinRMHealth -ComputerName 'srv01'
@SweetAsNZ
SweetAsNZ / Get-CIDRRange.ps1
Created November 19, 2025 21:08
Expands a CIDR Range to it's constituent IP's
function Get-CIDRRange {
<#
.SYNOPSIS
Expands a CIDR Range
.DESCRIPTION
Expands a CIDR Range to it's constituent IP's
.EXAMPLE
Get-CIDRRange -CIDR "192.168.1.0/24"
#>
[CmdletBinding()]
@SweetAsNZ
SweetAsNZ / Set-MSPlacesBuildings.ps1
Created November 19, 2025 21:08
nable Building Parameter in Microsoft Places
function Set-MSPlacesBuildings{
<#
.SYNOPISIS
Enable Building Parameter in MS Places
.DESCRIPTION
This script connects to Microsoft Graph and enables the Building parameter at the tenant level for Microsoft Places
.EXAMPLES
Set-MSPlacesBuildings
#>[CmdletBinding()]