Restructure repository layout and add English documentation

This commit is contained in:
Ivo Oskamp 2026-02-24 15:44:34 +01:00
parent 563debcf47
commit 76f808acd5
18 changed files with 137 additions and 0 deletions

13
.gitignore vendored Normal file
View File

@ -0,0 +1,13 @@
# Runtime/output
output/*
!output/.gitkeep
# PowerShell logs/transcripts
*.log
*.txt
# OS/editor
.DS_Store
Thumbs.db
.vscode/
.idea/

41
README.md Normal file
View File

@ -0,0 +1,41 @@
# Random Scripts
Collection of operational scripts for Microsoft 365, Windows endpoint management, macOS, and Docker automation.
## Structure
- `scripts/m365/smtp/`
- `Test-SMTPRelay-M365.ps1`
- `Test-SMTPSend-Auth-M365.ps1`
- `scripts/m365/exchange/`
- `get-mailbox-with-permissions.ps1`
- `scripts/m365/identity/`
- `m365-users-mfa.ps1`
- `scripts/windows/autopilot/`
- `Get-WindowsAutoPilotInfo.ps1`
- `scripts/windows/endpoint/`
- `Update rmm.ps1`
- `schedule_reboot.ps1`
- `uninstall-MS-Visual-C++-2010.ps1`
- `uuid.ps1`
- `scripts/macos/`
- `serialToAdminPassword.sh`
- `scripts/content/`
- `convert-md.bat`
- `automation/docker/`
- `build-and-push.sh`
- `update-and-build.sh`
- `docs/`
- working practices and conventions
- `output/`
- generated output files (CSV/logs), not committed
## Important Note
Existing script filenames are intentionally **unchanged** to preserve compatibility with existing guides and runbooks.
## Usage
- Run scripts from the correct environment (PowerShell/Bash/Batch).
- Check required modules/permissions per script.
- Write exports to `output/` when possible.

40
docs/conventions.md Normal file
View File

@ -0,0 +1,40 @@
# Repository Conventions
## 1. Naming
- Existing script filenames stay unchanged for documentation compatibility.
- New scripts should use clear, stable names and should not be renamed later without a migration plan.
## 2. Placement
- Place scripts by platform + domain:
- `scripts/m365/...`
- `scripts/windows/...`
- `scripts/macos/...`
- `scripts/content/...`
- Place build/deploy automation in `automation/...`.
## 3. Script Header (minimum)
Use these fields at the top of each script where possible:
- Purpose/Synopsis
- Requirements (modules, permissions, OS)
- Input parameters
- Output (file/console)
- Example usage
## 4. Secrets and Variables
- Do not hardcode secrets.
- Use variables, prompts, or a secure vault mechanism.
## 5. Output and Logging
- Default output goes to `output/` unless operational requirements dictate otherwise.
- Use predictable filenames for exports.
## 6. Change Policy
- For file moves: update README and relevant guides.
- For any future filename changes: add a temporary compatibility layer (wrapper/alias) and define a deprecation window.

43
docs/runbooks/index.md Normal file
View File

@ -0,0 +1,43 @@
# Runbooks Index
This overview helps update guides after the repository restructuring.
## Important
- Script filenames were not changed.
- Only folder locations were updated.
## Script Locations
- `Get-WindowsAutoPilotInfo.ps1`
- New path: `scripts/windows/autopilot/Get-WindowsAutoPilotInfo.ps1`
- `Test-SMTPRelay-M365.ps1`
- New path: `scripts/m365/smtp/Test-SMTPRelay-M365.ps1`
- `Test-SMTPSend-Auth-M365.ps1`
- New path: `scripts/m365/smtp/Test-SMTPSend-Auth-M365.ps1`
- `Update rmm.ps1`
- New path: `scripts/windows/endpoint/Update rmm.ps1`
- `get-mailbox-with-permissions.ps1`
- New path: `scripts/m365/exchange/get-mailbox-with-permissions.ps1`
- `m365-users-mfa.ps1`
- New path: `scripts/m365/identity/m365-users-mfa.ps1`
- `schedule_reboot.ps1`
- New path: `scripts/windows/endpoint/schedule_reboot.ps1`
- `uninstall-MS-Visual-C++-2010.ps1`
- New path: `scripts/windows/endpoint/uninstall-MS-Visual-C++-2010.ps1`
- `uuid.ps1`
- New path: `scripts/windows/endpoint/uuid.ps1`
- `serialToAdminPassword.sh`
- New path: `scripts/macos/serialToAdminPassword.sh`
- `convert-md.bat`
- New path: `scripts/content/convert-md.bat`
- `build-and-push.sh`
- New path: `automation/docker/build-and-push.sh`
- `update-and-build.sh`
- New path: `automation/docker/update-and-build.sh`
## Guide Update Checklist
- Replace references to root-level paths with the new paths above.
- Check automated jobs/tasks for hardcoded script locations.
- Test at least one script per domain after path updates.

0
output/.gitkeep Normal file
View File