Technical Guide and System/Server Management Scripts

License: MIT Power User Guides PowerShell Scripts Technologies Covered

Overview

A collection of system management scripts, automation utilities, and technical power user guides for developers, system administrators, and engineers. This repository provides mostly in-depth guides covering databases, containers, messaging systems, security, and enterprise authentication.

Last updated: January 22, 2025
Author: Paul Namalomba
- PhD Candidate (Civil Engineering Spec. Computational and Applied Mechanics)
- - SESKA Computational Engineer
- Software Developer
- Data Engineer

Contact: Personal Email
Website: Website - paulnamalomba.github.io

Contents


Purpose

This repository serves two primary purposes:

  1. Technical Documentation: Comprehensive power user guides for backend engineers, platform engineers, security engineers, and SREs covering enterprise-level technologies
  2. Automation Scripts: Production-ready PowerShell scripts for Windows system management, file operations, GitHub workflows, and development automation

All guides follow a consistent template with quickstart instructions, key concepts, configuration best practices, security considerations, detailed examples, troubleshooting tips, and performance tuning recommendations.

Repository Structure

system-management_scripts/
├── guides/                  # Technical power user guides
   ├── AUTH_SERVICES_*.md   # Enterprise authentication (OAuth2, OIDC, SAML, SCIM)
   ├── DOCKER_*.md          # Container management and orchestration
   ├── DOTNET_*.md          # .NET libraries (BCrypt, RabbitMQ)
   ├── POSTGRESQL_*.md      # Database administration
   ├── REDIS_*.md           # In-memory caching
   ├── SSL_TLS_*.md         # Certificate management
   ├── DJANGO_MULTI-AUTHENTICATION_*.md  # Django authentication strategies
|   ├── C_SHARP_*.md         # C# guides
|   ├── MEMORY_MANAGEMENT_*.md # Memory management guides (C#, C++, Python, JavaScript)
   └── VI_*.md              # Text editor mastery

├── windows/                 # PowerShell automation scripts
   ├── directory-navigation.ps1    # Quick directory navigation
   ├── document-conversion.ps1     # Document format conversion
   ├── file-operations.ps1         # File/folder operations
   ├── file-system_management.ps1  # Filesystem utilities
   ├── filesize-lister.ps1         # Directory size analysis
   ├── github-management.ps1       # GitHub workflow automation
   ├── job-scheduler_template.ps1  # Task scheduling
   ├── media-download.ps1          # Media download utilities
   ├── profile-management.ps1      # PowerShell profile setup
   ├── python-environment.ps1      # Python environment management
   └── utility-functions.ps1       # General utilities

└── README.md               # This file

Power User Guides

Enterprise Authentication & Identity

Programming LAnguages, Data Structures & Identity

Django Development

  • DJANGO_MULTI-AUTHENTICATION_POWERSHELL_POWERUSER_GUIDE.md
    Implementing authentication in Django applications; OAuth2 and JWT integration; user management; security best practices; setting up multi-factor authentication in Django; integrating with third-party MFA providers; enhancing application security

  • DJANGO_MULTI-AUTHENTICATION_PYTHON_POWERUSER_GUIDE.md
    Implementing authentication in Django applications; OAuth2 and JWT integration; user management; security best practices; setting up multi-factor authentication in Django; integrating with third-party MFA providers; enhancing application security

  • DJANGO_MULTI-AUTHENTICATION_BASH_POWERUSER_GUIDE.md
    Implementing authentication in Django applications; OAuth2 and JWT integration; user management; security best practices; setting up multi-factor authentication in Django; integrating with third-party MFA providers; enhancing application security

.NET Development

Containerization & DevOps

Databases

Security & Networking

Development Tools


PowerShell Scripts

Directory Navigation (directory-navigation.ps1)

Quick navigation functions for common directories: - ChDir-Work - Navigate to work directory - ChDir-Documents - Navigate to Documents folder - ChDir-Downloads - Navigate to Downloads folder - ChDir-Desktop - Navigate to Desktop - ChDir-OneDrive - Navigate to OneDrive directory

File Operations (file-operations.ps1)

Advanced file and folder operations: - MoveItem-Overwrite - Move with automatic overwrite - CopyItem-Safe - Safe copy with conflict handling - Remove-EmptyDirectories - Clean up empty folders recursively - Get-FileHash-Bulk - Compute hashes for multiple files - Compare-DirectoryContent - Compare two directory structures

GitHub Management (github-management.ps1)

Automated GitHub repository workflows: - Manage-GitHubAppDev - Full repository management workflow - Initialize-GitRepository - Initialize new repositories - Create-GitTag - Create and push tags - Create-GitHubRelease - Automated release creation - Sync-GitHubFork - Keep forks synchronized

Document Conversion (document-conversion.ps1)

Document format conversion utilities: - Convert-MarkdownToHtml - Markdown to HTML conversion - Convert-MarkdownToPdf - Markdown to PDF conversion - Convert-HtmlToPdf - HTML to PDF conversion - Batch-ConvertDocuments - Bulk document conversion

Python Environment (python-environment.ps1)

Python environment management: - New-PythonVenv - Create virtual environments - Activate-PythonVenv - Activate virtual environment - Install-PythonPackages - Bulk package installation - Export-PythonRequirements - Generate requirements.txt - Update-PythonPackages - Update all packages

Profile Management (profile-management.ps1)

PowerShell profile configuration: - Install-PowerShellProfile - Set up custom profile - Add-ProfileFunction - Add functions to profile - Backup-PowerShellProfile - Backup profile configuration - Restore-PowerShellProfile - Restore from backup

Utility Functions (utility-functions.ps1)

General-purpose utilities: - Test-Administrator - Check admin privileges - Get-SystemInfo - Display system information - Test-InternetConnection - Network connectivity check - Get-InstalledSoftware - List installed applications - Measure-CommandTime - Benchmark command execution

File System Management (file-system_management.ps1)

Advanced filesystem utilities: - Get-LargestFiles - Find largest files in directory tree - Get-DuplicateFiles - Detect duplicate files by hash - Compress-OldFiles - Archive files older than specified date - Export-DirectoryStructure - Generate directory tree report

File Size Lister (filesize-lister.ps1)

Directory size analysis: - Get-DirectorySize - Calculate folder sizes recursively - Export-SizeReport - Generate size report CSV - Find-LargeDirectories - Identify space-consuming folders

Media Download (media-download.ps1)

Media download utilities: - Download-YouTubeVideo - Download YouTube videos - Download-Playlist - Download entire playlists - Convert-MediaFormat - Convert media formats - Extract-AudioFromVideo - Extract audio tracks

Job Scheduler (job-scheduler_template.ps1)

Task scheduling framework: - New-ScheduledTask - Create scheduled tasks - Register-TaskScheduler - Register with Windows Task Scheduler - Remove-ScheduledTask - Remove scheduled tasks - Get-TaskStatus - Check task execution status


Getting Started

Prerequisites

For PowerShell Scripts: - Windows 10/11 or Windows Server 2016+ - PowerShell 7.0 or later (recommended) - Administrator privileges (for some operations)

For Guides: - Relevant technology installed (Docker, PostgreSQL, Redis, etc.) - Basic understanding of the technology stack - Command-line familiarity

Installation

  1. Clone the repository:
git clone https://github.com/paulnamalomba/system-management_scripts.git
cd system-management_scripts
  1. Set execution policy (if needed):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. Import scripts into your PowerShell session:
# Import all functions from a script
. .\windows\file-operations.ps1
. .\windows\github-management.ps1

# Or add to your PowerShell profile for persistent availability
  1. Add to PowerShell Profile (Optional):
# Edit your profile
notepad $PROFILE

# Add this line to source scripts automatically
Get-ChildItem "C:\Path\To\system-management_scripts\windows\*.ps1" | ForEach-Object { . $_.FullName }

Usage Examples

Example 1: Quick Directory Navigation

# Load navigation functions
. .\windows\directory-navigation.ps1

# Navigate to work directory
ChDir-Work -workPath "C:\Projects"

# Navigate to OneDrive
ChDir-OneDrive

Example 2: GitHub Workflow Automation

# Load GitHub management functions
. .\windows\github-management.ps1

# Automated commit, tag, and release
Manage-GitHubAppDev `
    -appName "my-project" `
    -commitTag "v1.2.0" `
    -commitMessage "Added new features and bug fixes" `
    -method "update"

Example 3: File Operations

# Load file operations
. .\windows\file-operations.ps1

# Move with overwrite
MoveItem-Overwrite -Src "C:\Source\File.txt" -Dest "C:\Destination\File.txt"

# Find and remove empty directories
Remove-EmptyDirectories -Path "C:\Projects" -Recurse

Example 4: Python Environment Setup

# Load Python environment functions
. .\windows\python-environment.ps1

# Create new virtual environment
New-PythonVenv -Path ".\venv" -PythonVersion "3.11"

# Activate environment
Activate-PythonVenv -Path ".\venv"

# Install packages from requirements.txt
Install-PythonPackages -RequirementsFile ".\requirements.txt"

Example 5: System Analysis

# Load utility functions
. .\windows\utility-functions.ps1

# Check if running as administrator
if (Test-Administrator) {
    Write-Host "Running with admin privileges"
}

# Get system information
Get-SystemInfo

# List installed software
Get-InstalledSoftware | Where-Object { $_.Name -like "*Visual Studio*" }

Example 6: Using Technical Guides

# Navigate to guides directory
cd guides

# View available guides
Get-ChildItem *.md | Select-Object Name

# Open a guide in your default markdown viewer
Start-Process .\DOCKER_POWERSHELL_POWERUSER_GUIDE.md

# Or view in terminal with bat (if installed)
bat .\POSTGRESQL_16_POWERSHELL_POWERUSER_GUIDE.md

Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Contribution Guidelines

For PowerShell Scripts: - Follow PowerShell best practices and style guidelines - Include comment-based help for all functions - Add parameter validation and error handling - Test on PowerShell 7+ before submitting

For Technical Guides: - Follow the existing template structure - Include practical, copy-paste ready examples - Cover security considerations and best practices - Add troubleshooting section with common issues - Include references and further reading


License

This project is licensed under the MIT License - see the LICENSE file for details.


Contact

Paul Namalomba - GitHub: @paulnamalomba - Email: kabwenzenamalomba@gmail.com - Website: https://paulnamalomba.github.io - LinkedIn: Paul Namalomba


Acknowledgments

  • PowerShell community for extensive documentation and examples
  • Microsoft Graph PowerShell SDK team
  • Open-source contributors to the technologies covered in guides
  • DevOps and SRE communities for best practices

Statistics

  • Power User Guides: 15 comprehensive technical guides
  • PowerShell Scripts: 11 automation script collections
  • Technologies Covered: Docker, PostgreSQL, Redis, RabbitMQ, Azure AD, SSL/TLS, .NET, and more
  • Lines of Documentation: 10,000+ lines of technical documentation
  • Code Examples: 100+ production-ready code snippets

Last Updated: December 13, 2025
Repository Status: Active Development
PowerShell Version: 7.0+
Windows Compatibility: Windows 10/11, Server 2016+