Skip to content

Instantly share code, notes, and snippets.

View SweetAsNZ's full-sized avatar
🏠

Tim West SweetAsNZ

🏠
View GitHub Profile
@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()]
@SweetAsNZ
SweetAsNZ / Unblock-FilesInPath.ps1
Created November 19, 2025 21:07
Unblocks a File Downloaded from the Internet
function Unblock-FilesInPath {
<#
.SYNOPSIS
Unblocks all PowerShell script files in the specified path.
.DESCRIPTION
This function recursively searches for all .ps1 files in the given directory path and unblocks
them to allow execution without security warnings.
.PARAMETER FilePath
The directory path where the function will search for .ps1 files to unblock.
.EXAMPLE
@SweetAsNZ
SweetAsNZ / Set-FirewallLogsFolderPerms.ps1
Created November 19, 2025 21:06
Run This Script If Your Windows Firewall is not Updating/Writing to it's Log File
function Set-FirewallLogsFolderPerms{
<#
.SYNOPSIS
Sets the permissions on the Windows Firewall logs folder to the default settings. This enables DomainFW.Log to write to the folder.
Definitely requires a Reboot to take effect.
.DESCRIPTION
Sets the permissions on the Windows Firewall logs folder to the default settings. This enables e.g., DomainFW.Log to write to the folder.
.PARAMETER folder
The folder to set permissions on. Default is $env:windir\System32\LogFiles\Firewall
.EXAMPLE