Skip to content

Instantly share code, notes, and snippets.

View noahpeltier's full-sized avatar

TismaticTech noahpeltier

View GitHub Profile
function Get-IPRangeFromCIDR {
param(
$Range
)
# Set up empty list to contain the calculated range
$IPList = [System.Collections.Generic.list[object]]::new()
# split out input to IP and CIDR and calculate the num,ber of addresses with the power of MATH
$startIP, [int]$CIDR = $Range -split "/"
$NumberOfAddresses = [Math]::Pow(2, (32 - $CIDR))
begin {
function Find-UninstallKey {
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline)]
[String]$DisplayName,
[Parameter()]
[Switch]$UninstallString
)
@noahpeltier
noahpeltier / Convertto-Hashtable.ps1
Created June 20, 2024 17:44
Convert a pscustomobject to a hasthtable
function Convert-ToHashtable {
param (
[Parameter(Mandatory=$true, ValueFromPipeline=$true)]
[PSCustomObject]$InputObject
)
process {
$hashTable = @{}
foreach ($property in $InputObject.PSObject.Properties) {
@noahpeltier
noahpeltier / email.ps1
Created May 16, 2024 20:34
graph email browser
# Load the required assemblies
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
if (!(get-module Microsoft.Graph.Mail,Microsoft.Graph.Authentication -ListAvailable)) {
Write-host "Hang on, you don't have GraphAPI. Let me install that first" -Foregroundcolor green
Install-Module Microsoft.Graph.Authentication,Microsoft.Graph.Mail -verbos
}
if (!(Get-MgContext)) {
/* Change button primary color to green */
.btn-primary {
background-color: #4CAF50;
border-color: #4CAF50;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #45a049;
border-color: #45a049;
@noahpeltier
noahpeltier / CAWhatif.ps1
Last active November 2, 2023 22:02
Perform a Conditional Access Policy "What if " on Users
# Pulls out all the relevent data we need from the policy
function Format-CAPDetails {
param(
[Parameter(ValueFromPipeline)]
$ConditionalAccessPolicy
)
PROCESS {
$UserPolicies = $ConditionalAccessPolicy.Conditions.users
[PScustomObject]@{
DisplayName = $ConditionalAccessPolicy.DisplayName
@noahpeltier
noahpeltier / zombocom.ps1
Last active October 19, 2022 23:05
welcome to Zombo.com
$MediaPlayer = [Windows.Media.Playback.MediaPlayer, Windows.Media, ContentType = WindowsRuntime]::New()
$MediaPlayer.Source = [Windows.Media.Core.MediaSource]::CreateFromUri('https://zombo.com/zombo_words.mp3')
$MediaPlayer.Play()
while (1) {write-host @"
`r
███████ ██████ ███ ███ ██████ ██████ ██████ ██████ ███ ███
███ ██ ██ ████ ████ ██ ██ ██ ██ ██ ██ ██ ████ ████
███ ██ ██ ██ ████ ██ ██████ ██ ██ ██ ██ ██ ██ ████ ██
███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
@noahpeltier
noahpeltier / software_manifest.json
Last active September 12, 2021 19:04
List of software sources
[
{
"pkgName": "obs-studio",
"displayName": "OBS Studio",
"publisher": "Open Broadcaster Software",
"publisherSite": "https://obsproject.com/",
"pkgVersion": "27.0.1",
"pkgSource": "https://cdn-fastly.obsproject.com/downloads/OBS-Studio-27.0.1-Full-Installer-x64.exe",
"hash": "844F54C4ACF1ABBD51612CC9D4470E2E3A937106E5BE69BC94BBA7859FB748CD",
@noahpeltier
noahpeltier / declutter.ps1
Created June 28, 2021 15:48
Organize files into folders by file type
(Get-ChildItem -file) | foreach {
if (!$(Test-Path $_.Extension)) {
mkdir "$($_.Extension)"
}
move-item $_.Name -Destination "$($_.Extension)" -Verbose
}
@noahpeltier
noahpeltier / PSEnv.ps1
Created October 28, 2019 14:19
A module I am working on to allow for installing modules to a project folder to be packaged for distribution.
function PSEnv {
[CmdletBinding()]
param (
[Parameter(ValueFromPipelineByPropertyName)]
[ValidateSet('Install', 'Init', 'Remove')]
[String]$Operation,
[parameter(ValueFromPipelineByPropertyName)]
[string]$module_name
)