# W-tek Scriptbibliotek Internt, sentralt bibliotek for automatiserings- og driftsscript på tvers av plattformene vi forvalter: **Windows Server, Microsoft 365, NinjaRMM, SentinelOne og Cove** – pluss delte hjelpefunksjoner. Målet er at script skal være lette å finne, trygge å kjøre, og dokumentert godt nok til at en kollega kan ta dem i bruk uten å spørre forfatteren. ## Mappestruktur Biblioteket er organisert **etter plattform/verktøy** på toppnivå, med funksjonelle undermapper: ``` script-library/ ├─ windows-server/ # Drift og herding av Windows Server │ ├─ maintenance/ # Vedlikehold, opprydding, oppdatering │ ├─ monitoring/ # Helsesjekker, statusrapporter │ ├─ security-hardening/ # Herding, baseline, GPO │ ├─ deployment/ # Utrulling, installasjon │ └─ reporting/ # Rapporter og uttrekk ├─ microsoft-365/ # M365 / Entra / Exchange / Teams / SharePoint │ ├─ entra-id/ │ ├─ exchange-online/ │ ├─ teams/ │ ├─ sharepoint-onedrive/ │ ├─ security-compliance/ │ └─ reporting/ ├─ ninjarmm/ # Script som kjøres via NinjaRMM │ ├─ automations/ │ ├─ monitoring/ │ ├─ software-deployment/ │ └─ reporting/ ├─ sentinelone/ # SentinelOne drift og API │ ├─ deployment/ │ ├─ response-actions/ │ ├─ reporting/ │ └─ api/ ├─ cove/ # Cove Data Protection (backup) │ ├─ backup-jobs/ │ ├─ monitoring/ │ └─ reporting/ ├─ _shared/ # Gjenbrukbare moduler, funksjoner og ressurser │ ├─ modules/ │ ├─ functions/ │ └─ assets/ ├─ templates/ # Maler for nye script (PS1/SH/PY) + script-README └─ docs/ # Overordnet dokumentasjon ``` Finnes det ikke en passende mappe? Opprett en ny undermappe i riktig plattform, og legg ved en kort `README.md`. ## Slik legger du inn et nytt script 1. Velg riktig plattform- og funksjonsmappe. 2. Kopier en mal fra `templates/` (`template.ps1`, `template.sh`, `template.py`). 3. Gi fila et beskrivende navn etter konvensjonen (se `CONTRIBUTING.md`). 4. Fyll ut **hele headeren** (synopsis, parametere, eksempel, forfatter, versjon, krav, endringslogg). 5. Enkle script kan ligge som én fil. Trenger scriptet flere filer/ressurser, lag en egen undermappe med en `README.md` (bruk `templates/SCRIPT_README_TEMPLATE.md`). 6. Commit på en egen branch og åpne en pull request for gjennomgang (se `CONTRIBUTING.md`). ## Grunnregler - **Aldri hemmeligheter i repoet.** Ingen passord, API-nøkler, tokens eller kundedata. Bruk parametere, miljøvariabler eller en hemmelighetsløsning. - **Alle script skal ha utfyllende header** og minst ett `EXAMPLE`. - **Idempotent og trygt der mulig** – støtt `-WhatIf`/dry-run for endringer. - **Test før merge** – beskriv hva som er testet og på hvilken versjon. - **Én oppgave per script** – hold dem fokuserte og gjenbrukbare. Se `CONTRIBUTING.md` for fullstendige konvensjoner.