Skip to content

Glyph-SH/msp-scripts

Repository files navigation

MSP Scripts Collection

License Scripts Platform Documentation

Production-ready PowerShell, Bash, and Python scripts for MSPs and system administrators.


Structure

├── 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

Script Metadata

The scripts-metadata.yaml file in the repository root defines which scripts are published to glyph.sh/scripts and their metadata.

Metadata File Format

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.yaml will 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 the path field in metadata should use kebab-case (e.g., bulk-user-management.ps1) to match the website's URL structure

README 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 extension
  • description: One-line description (appears in script cards)
  • date: Last updated date
  • categories: ["OS", "Subcategory"] (e.g., ["Windows", "Emergency"])
  • tags: Left empty - auto-populated from scripts-metadata.yaml during website sync

Quick Start

Download Individual Script

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.sh

Linux (wget):

wget https://raw.githubusercontent.com/Glyph-SH/msp-scripts/main/linux/security/audit-security.sh
chmod +x audit-security.sh

MacOS (curl):

curl -O https://raw.githubusercontent.com/Glyph-SH/msp-scripts/main/macos/security/macos-security-audit.sh
chmod +x macos-security-audit.sh

Clone Entire Repository

git clone https://github.com/Glyph-SH/msp-scripts.git
cd msp-scripts

RMM Integration

These 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.


Usage

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.


Categories

Emergency Response

Scripts for critical incidents requiring immediate action (account lockouts, service failures, etc.)

Security & Auditing

Security hardening, vulnerability scanning, and compliance checking

System Health

Diagnostic tools and health monitoring scripts

Quick Fixes

Common problem resolution (Windows Update, DNS cache, etc.)

Active Directory

AD management, user administration, and group policy tools

Backup & Recovery

Backup verification, restore testing, and data recovery

Network Tools

Network diagnostics, connectivity testing, and troubleshooting


License

MIT License - See LICENSE file for details

Contributing

Contributions welcome! Please open an issue or submit a pull request.

Support

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.

Releases

No releases published

Packages

 
 
 

Contributors