Production-ready PowerShell, Bash, and Python scripts for MSPs and system administrators.
├── scripts-metadata.yaml # Script registry and metadata (defines what's published)
├── sync-tags-to-website.py # Syncs script tags to glyph.sh website
├── toolbox/ # Internal utilities (database builder, path config)
├── data/ # Generated scripts database
├── windows/ # Windows-specific scripts (PowerShell)
│ ├── active-directory/ # AD management
│ ├── emergency/ # Critical incident response
│ ├── health/ # System health checks
│ ├── network/ # Network diagnostics
│ └── quick-fixes/ # Common problem resolution
├── linux/ # Linux-specific scripts (Bash)
│ ├── backup/ # Backup and recovery
│ ├── health/ # System health checks
│ └── security/ # Security auditing and hardening
└── macos/ # macOS-specific scripts (Bash)
├── maintenance/ # System maintenance
└── security/ # Security auditing
The scripts-metadata.yaml file in the repository root defines which scripts are published to glyph.sh/scripts and their metadata.
scripts:
- path: "linux/security/security-audit.sh"
tags: ["Linux", "Security", "Audit", "Compliance", "Automation"]Fields:
path(required): Relative path to script file from repository root (use kebab-case)tags(required): Array of tags for categorization and search
Important Notes:
- Only scripts listed in
scripts-metadata.yamlwill appear on the website - This prevents accidental publication of dependencies, test files, or incomplete scripts
- Naming Convention: Script files in this repo can use CamelCase (e.g.,
BulkUserManagement.ps1), but thepathfield in metadata should use kebab-case (e.g.,bulk-user-management.ps1) to match the website's URL structure
Each script directory should contain a README-{scriptname}.md file following this format:
---
title: "ScriptName.ps1"
description: "Brief one-line description"
date: YYYY-MM-DD
categories: ["OS", "Category"]
tags: [] # Auto-populated from scripts-metadata.yaml
---
## Overview
Detailed description of what the script does...
## Quick Start
Basic usage examples...
## Usage
Detailed parameter documentation...
## Requirements
- OS requirements
- Privileges needed
- Dependencies
## Examples
More detailed usage examples...Frontmatter Fields:
title: Script filename with extensiondescription: One-line description (appears in script cards)date: Last updated datecategories:["OS", "Subcategory"](e.g.,["Windows", "Emergency"])tags: Left empty - auto-populated fromscripts-metadata.yamlduring website sync
Windows (PowerShell):
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Glyph-SH/msp-scripts/main/windows/quick-fixes/Reset-WindowsUpdate.ps1" -OutFile "Reset-WindowsUpdate.ps1"Linux (curl):
curl -O https://raw.githubusercontent.com/Glyph-SH/msp-scripts/main/linux/security/audit-security.sh
chmod +x audit-security.shLinux (wget):
wget https://raw.githubusercontent.com/Glyph-SH/msp-scripts/main/linux/security/audit-security.sh
chmod +x audit-security.shMacOS (curl):
curl -O https://raw.githubusercontent.com/Glyph-SH/msp-scripts/main/macos/security/macos-security-audit.sh
chmod +x macos-security-audit.shgit clone https://github.com/Glyph-SH/msp-scripts.git
cd msp-scriptsThese scripts are designed to work with popular RMM platforms:
- NinjaRMM: Import as script library components
- Datto RMM: Upload to script repository
- ConnectWise Automate: Add to script center
- Syncro: Import as custom scripts
- Action1: Upload to script library
- Atera: Add to custom scripts section
See individual script documentation for RMM-specific integration instructions.
Each script includes:
- Detailed synopsis and description
- Parameter documentation
- Usage examples
- Requirements and prerequisites
- Expected execution time
Refer to the documentation site for detailed guides.
Scripts for critical incidents requiring immediate action (account lockouts, service failures, etc.)
Security hardening, vulnerability scanning, and compliance checking
Diagnostic tools and health monitoring scripts
Common problem resolution (Windows Update, DNS cache, etc.)
AD management, user administration, and group policy tools
Backup verification, restore testing, and data recovery
Network diagnostics, connectivity testing, and troubleshooting
MIT License - See LICENSE file for details
Contributions welcome! Please open an issue or submit a pull request.
For issues, questions, or suggestions:
- Visit glyph.sh
- Open a GitHub issue
- See individual script documentation
Disclaimer: Test scripts in a non-production environment before deployment. Always follow your organization's change management procedures.