Skip to content

Instantly share code, notes, and snippets.

View BertMueller18's full-sized avatar

Bert Mueller BertMueller18

  • Leipzig, Germany
View GitHub Profile
@Thalagyrt
Thalagyrt / proxmox.yml
Last active October 20, 2025 01:07
Ansible playbook to roll a Proxmox+Ceph cluster one by one, waiting for health and migrations before proceeding.
# Copyright 2025 James Riley
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
@sdellysse
sdellysse / .pbc-config.sh
Last active November 1, 2025 17:25
Proxmox Backup Client setup
export PBS_HOST="10.69.4.20"
export PBS_PORT="8007"
export PBS_USERNAME="root@pam"
export PBS_PASSWORD="totallymyrealpassword"
export PBS_DATASTORE="tank"
export PBS_NAMESPACE="backups"
export PBS_FINGERPRINT="fi:ng:er:pr:in:ts:ar:en:ts:ec:re:tb:ut:im:ch:an:gi:ng:it:an:yw:ay"
export PBS_REPOSITORY="${PBS_USERNAME}@${PBS_HOST}:${PBS_PORT}:${PBS_DATASTORE}"
@jorgeasaurus
jorgeasaurus / Get-PSModuleUpdates.ps1
Created August 31, 2024 17:35
Check installed PowerShell modules against latest versions in a repository. Outputs detailed update status for easy management of outdated modules.
function Get-PSModuleUpdates {
param
(
[Parameter(ValueFromPipelineByPropertyName, Mandatory)]
[string]$Name,
[Parameter(ValueFromPipelineByPropertyName, Mandatory)]
[version]$Version,
[Parameter(ValueFromPipelineByPropertyName)]
@kennethso168
kennethso168 / Usage.md
Last active August 29, 2024 05:32
Download and import cloud images to existing Proxmox VM/templates

Instructions for use

  1. Copy/download get_cloud.py to /usr/local/bin of the Proxmox node
  2. Change common variables inside the script
  3. chmod +x /usr/local/bin/get_cloud.py
  4. Copy and edit the xxx.service and xxx.timer into the folder /etc/systemd/system. Adjust the contents as appropriate (xxx can be any string, provided that the names of the SystemD unit (xxx.service) and the timer (xxx.timer) is the same. The above files are provided as an example only)
  5. systemctl daemon-reload
  6. systemctl enable xxx.timer && systemctl start xxx.timer
  7. To download and import the cloud image right away, run systemctl start xxx.service. You don't have to wait for the service to finish and can back out immediately by pressing Ctrl+C.
  8. To view the output of the service run journalctl -u xxx.service
@jborean93
jborean93 / New-ScheduledTaskSession.ps1
Last active September 4, 2025 08:50
Creates a PSSession that targets a scheduled task process
# Copyright: (c) 2024, Jordan Borean (@jborean93) <[email protected]>
# MIT License (see LICENSE or https://opensource.org/licenses/MIT)
Function New-ScheduledTaskSession {
<#
.SYNOPSIS
Creates a PSSession for a process running as a scheduled task.
.DESCRIPTION
Creates a PSSession that can be used to run code inside a scheduled task
# Long command with many parameters all on one line
Send-MailMessage -From "[email protected]" -To "[email protected]" -Subject "Test Email" -Body "This is a test email." -SmtpServer "smtp.example.com" -Port 587 -UseSsl -Credential (Get-Credential) -Attachments "C:\path\to\file.txt" -Priority High -DeliveryNotificationOption OnSuccess, OnFailure
# Equivalent command using splatting for readability
$mailParams = @{
From = "[email protected]"
To = "[email protected]"
Subject = "Test Email"
Body = "This is a test email."
SmtpServer = "smtp.example.com"
@mvelazc0
mvelazc0 / CreateSharesOnDomainComputers.ps1
Last active August 30, 2025 09:13
Queries AD to identify computers and creates three network shares with 'Everyone' permission on the identified computers. Written for network share enumeration simulations.
Import-Module ActiveDirectory
$shareNames = @("Backup", "WebServer", "Finance", "HR", "Logs", "Database", "Reports", "Media", "Temp", "Archive", "Projects", "Dev", "Testing", "Marketing", "Sales", "Support", "Operations", "Engineering", "QA", "Legal", "Compliance", "Audit", "Design", "Research", "Training", "Analytics", "Security", "Content", "Maintenance", "Migration", "Production", "Inventory", "Services", "Retail", "Consulting", "Governance", "Planning", "Documentation", "Management", "Metrics", "Recruitment", "Networking", "Administration", "Collaboration", "Integration", "Automation", "Monitoring", "Facilities")
$sharePath = "C:\Data"
$dateCutoff = (Get-Date).AddDays(-10)
$computers = Get-ADComputer -Filter { LastLogonTimestamp -gt $dateCutoff } | Select-Object -ExpandProperty DNSHostName
foreach ($computer in $computers) {
Write-Host "Connecting to $computer..."
@scyto
scyto / proxmox.md
Last active November 26, 2025 09:15
my proxmox cluster

ProxMox Cluster - Soup-to-Nutz

aka what i did to get from nothing to done.

note: these are designed to be primarily a re-install guide for myself (writing things down helps me memorize the knowledge), as such don't take any of this on blind faith - some areas are well tested and the docs are very robust, some items, less so). YMMV

Purpose of Proxmox cluster project

Required Outomces of cluster project

@mdgrs-mei
mdgrs-mei / MoonSpinner.ps1
Created June 19, 2023 13:47
Show a moon spinner on the tab title using DynamicTitle PowerShell module
#Requires -Modules DynamicTitle
$commandStartJob = Start-DTJobCommandPreExecutionCallback -ScriptBlock {
param($command)
(Get-Date), $command
}
$promptJob = Start-DTJobPromptCallback -ScriptBlock {
(Get-Date)
}
@avoidik
avoidik / check_vulnerabledrivers.ps1
Created May 21, 2023 13:39 — forked from api0cradle/check_vulnerabledrivers.ps1
A quick script to check for vulnerable drivers. Compares drivers on system with list from loldrivers.io
# Simple script to check drivers in C:\windows\system32\drivers against the loldrivers list
# Author: Oddvar Moe - @oddvar.moe
$drivers = get-childitem -Path c:\windows\system32\drivers
$web_client = new-object system.net.webclient
$loldrivers = $web_client.DownloadString(" https://www.loldrivers.io/api/drivers.json") | ConvertFrom-Json
Write-output("Checking {0} drivers in C:\windows\system32\drivers against loldrivers.io json file" -f $drivers.Count)
foreach ($lol in $loldrivers.KnownVulnerableSamples)
{