Belangrijkste punten
- Scheid gevoelige gegevens van scripts: vermijd hardcoded referenties en gebruik veilige opslag zoals omgevingsvariabelen of versleutelde velden.
- Bewaar geheimen in het Windows-register: centraliseer gevoelige waarden en beperk de toegang ertoe voor een veiliger scriptuitvoering.
- Gebruik omgevingsvariabelen voor trainingen: bied veilige placeholdergegevens aan zodat technici kunnen leren zonder echte referenties bloot te geven.
- Maak aparte trainings- en productiescripts: gebruik placeholders in trainingsscripts en beveiligde bronnen in live scripts.
- Controleer scriptactiviteit: leg gebruik en wijzigingen vast voor meer veiligheid, verantwoording en betere trainingspraktijken.
Een goede training van IT-technici is essentieel om IT-activiteiten op te schalen, zeker met automatisering. Scripts bevatten gevoelige variabelen die hardcoded zijn of tijdens de uitvoering zichtbaar worden. Onzorgvuldig gebruik vergroot de kans op datalekken en kan slechte gewoonten aanleren bij junior technici.
Een gestructureerd proces voor training en scriptbeheer is cruciaal voor elk IT-team om gegevens te beschermen en het vertrouwen van technici op te bouwen.
Nieuwe technici trainen in scriptgebruik zonder gevoelige gegevens prijs te geven
Een goede training van IT-technici houdt in dat u beveiligde variabelen scheidt van de scriptlogica, variabelen opslaat in het Windows-register, omgevingsvariabelen gebruikt voor veilige placeholdergegevens tijdens trainingen, trainingsversies van productiescripts maakt en scriptwijzigingen en -uitvoering tijdens de training controleert.
📌 Vereisten:
- Standaard scriptsjablonen voor onboarding
- Beheerdersrechten om trainingsscripts uit te rollen
- Een veilig opslagmechanisme voor beschermde waarden
- Vastgelegde documentatie over scriptstructuur en veilige bewerkingspraktijken
📌 Aanbevolen implementatiestrategieën:
| Klik om een methode te kiezen | 💻 Het beste voor individuele gebruikers | 💻💻💻 Het beste voor grote organisaties |
| Methode 1: beveiligde variabelen scheiden van de scriptlogica | ✓ | |
| Methode 2: beveiligde variabelen opslaan in het Windows-register | ✓ | |
| Methode 3: omgevingsvariabelen gebruiken voor veilige placeholdergegevens | ✓ | |
| Methode 4: trainingsversies van productiescripts maken | ✓ | |
| Methode 5: scriptwijzigingen en -uitvoering tijdens de training controleren | ✓ |
🎥 Bekijk de videogids Nieuwe technici trainen in scriptgebruik zonder gevoelige variabelen prijs te geven.
Methode 1: beveiligde variabelen scheiden van de scriptlogica
Bij de onboarding van nieuwe IT-technici is het eerste wat u moet doen beveiligde variabelen scheiden van de scriptlogica. Die scheiding verkleint de beveiligingsrisico’s en maakt veiligere automatisering mogelijk.
📌 Use case: voorkomt dat nieuwe technici gevoelige informatie zien en delen doordat die uit beveiligde opslag wordt opgehaald
Vermijd hardcoded gevoelige gegevens zoals:
- Beheerderswachtwoorden
- API-tokens
- SMTP-referenties
- Back-upsleutels
- Interne servernamen
Verwijs in plaats daarvan naar:
- Versleutelde referentiekluizen
- Omgevingsvariabelen
- Registerpaden
- Velden die door NinjaOne of een RMM worden geïnjecteerd
Methode 2: beveiligde variabelen opslaan in het Windows-register
Bij deze methode slaat u gevoelige gegevens op in het Windows-register, zodat alleen geautoriseerde processen of beheerders er toegang toe hebben.
📌 Use case: geeft meerdere scripts veilige toegang tot gevoelige waarden terwijl de toegang beperkt blijft
- Druk op Win, typ PowerShell en klik op Als administrator uitvoeren.
- Kopieer en plak de volgende code in de prompt en druk op Enter:
- Beveilig waarden die verborgen blijven voor technici in HKLM (HKEY_LOCAL_MACHINE):
New-Item -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SMTPHost" -Value "mail.domain.com"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SecureToken" -Value "XYZ123"
💡 Let op: SMTPHost, mail.domain.com en XYZ123 zijn slechts placeholders. Vervang ze door de e-mailserver en SecureToken.
Dit script centraliseert alle scripts, omdat ze naar dezelfde opgeslagen waarden kunnen verwijzen zonder die in de code op te nemen.
- Veilig benaderen in trainingsscripts:
$smtp = Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SMTPHost"
$token = Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SecureToken"
💡 Tip: gebruik NTFS-machtigingen (New Technology File System) of GPO om de toegang tot registersleutels te beperken tot processen op beheerdersniveau
⚠️ Waarschuwing: test de instellingswijziging eerst op een lokale machine voordat u die op verschillende endpoints uitrolt. (Meer informatie vindt u in: Waar u op moet letten)
Methode 3: omgevingsvariabelen gebruiken voor veilige placeholdergegevens
Bij deze methode stelt u een variabele in waarmee alle scripts consistent naar hetzelfde pad kunnen verwijzen zonder dat u ze stuk voor stuk hoeft aan te passen.
📌 Use case: standaardiseert niet-gevoelige paden op alle machines zonder individuele scripts te bewerken
- Druk op Win, typ PowerShell of cmd en klik op Als administrator uitvoeren.
- Kopieer en plak de volgende code in de prompt (afhankelijk van de tool die u gebruikt) en druk op Enter:
- CMD:
setx NOC_SCRIPTS "C:\NOC\Scripts"
💡 Let op: C:\NOC\Scripts staat voor het pad naar een map op uw systeem. Het is de map die wordt opgeslagen als de waarde van NOC_SCRIPTS.
- PowerShell:
$path = $env:NOC_SCRIPTS
De bovenstaande scripts zijn een handige manier om alle scripts een consistent referentiepunt te geven voor paden of waarden die iedereen mag zien.
⚠️ Waarschuwing: zorg dat u het juiste script kopieert en plakt, want een verkeerde syntaxis kan fouten veroorzaken. (Meer informatie vindt u in: Waar u op moet letten)
Methode 4: trainingsversies van productiescripts maken
Deze methode zorgt ervoor dat het productiescript gevoelige waarden uit beveiligde bronnen haalt, terwijl het trainingsscript onschuldige placeholders gebruikt die veilig gedeeld kunnen worden.
📌 Use case: levert trainingsscripts die met onschuldige placeholders werken
Voordat u productiescripts maakt, is het cruciaal om twee versies te hebben:
- Training: dit script hoort placeholders te bevatten zoals “smtp.placeholder.local”
- Productie (beveiligd): dit script leest daarentegen uit beschermde bronnen, versleutelde bestanden of referentiekluizen.
Daarnaast past u het best scriptstandaarden toe, zoals:
- Neem vervolgens scriptstandaarden op door op Win + R te drukken, PowerShell te typen en op Als administrator uitvoeren te klikken.
- Kopieer en plak het onderstaande script in de prompt en druk op Enter.
# BEGIN: Do not edit
$APIKey = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "ProdAPIKey"
# END: Do not edit
💡 Let op: het bovenstaande script markeert beperkte secties met opmerkingen en past alleen-lezenmachtigingen toe op de scripts.
⚠️ Waarschuwing: let op dat u het trainingsscript nergens anders voor gebruikt dan voor trainingsdoeleinden. (Meer informatie vindt u in: Waar u op moet letten)
Methode 5: scriptwijzigingen en -uitvoering tijdens de training controleren
Deze methode legt in een registersleutel vast wie kritieke scripts uitvoert en wanneer, zodat er een overzicht ontstaat dat u kunt nakijken.
📌 Use case: houdt bij wie belangrijke scripts heeft uitgevoerd en wanneer, zodat controleren eenvoudiger wordt
- Druk op Win, typ PowerShell en klik op Als administrator uitvoeren.
- Kopieer en plak de volgende code in de prompt en druk op Enter:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptAudit"
-Name "LastRunBy" -Value "$env:USERNAME - $(Get-Date -Format u)"
U kunt de wijzigingen ook valideren met de onderstaande stappen:
- Druk op Win, typ cmd en klik op Als administrator uitvoeren.
- Kopieer en plak de volgende code in de prompt en druk op Enter:
reg query HKLM\SOFTWARE\Org\ScriptAudit
💡 Tip: plan logcontroles in om veilig scriptgebruik te waarborgen.
⚠️ Waar u op moet letten
| Risico’s | Mogelijke gevolgen | Herstelacties |
| Niet testen op een lokale machine | Het uitrollen van een ongetest script kan devices laten crashen door problemen zoals incompatibiliteit van registersleutels. | Pas de beoogde wijzigingen toe op een lokale machine en controleer daarna of de configuratie het verwachte resultaat oplevert. |
| Onjuiste commandosyntaxis | Een onjuiste commandosyntaxis kan leiden tot een beschadigd register, een systeem dat zich vreemd gedraagt of code die helemaal niets doet. | Zorg dat u het juiste script in de prompt kopieert en plakt. U kunt ook apps als PSScriptAnalyzer gebruiken om de codekwaliteit te controleren. |
| Trainingsscript per ongeluk in productie gebruikt | De productie kan mislukken door de placeholderwaarden. | Label scripts duidelijk zodat het versiebeheer klopt. |
Aanvullende overwegingen
De volgende beste praktijken zijn gericht op het beperken van risico’s met behoud van operationele efficiëntie.
Uitvoering op basis van rollen
Gebruik accounts met minimale rechten of RMM-rollen om de scriptuitvoering te sturen. Dat doet u als volgt:
- Ken machtigingen zo toe dat accounts alleen de scripts uitvoeren die ze nodig hebben.
- Beperk de toegang tot gevoelige scripttypen, zoals scripts die systeemconfiguraties aanpassen.
Deze praktijken beperken de schade bij gecompromitteerde accounts.
Uitvoer opschonen
Zorg dat scripts nooit geheimen zoals wachtwoorden, tokens en API-sleutels naar het portaal of de logboeken sturen. Dat houdt het volgende in:
- Maskeer gevoelige gegevens in de uitvoer.
- Sla geen referenties in platte tekst op in logboeken.
- Controleer vóór de uitrol hoe de scriptuitvoer wordt verwerkt.
Parameterisatie
Gebruik param()-blokken in PowerShell om invoer veilig te verwerken.
- Werk met verplichte parameters in plaats van hardcoded gevoelige waarden.
- Druk parameterwaarden niet af in het portaal.
- Gebruik validatieattributen om invoerformaten af te dwingen en injectieaanvallen te voorkomen.
Scripts ondertekenen
Onderteken definitieve productiescripts digitaal, zodat alleen scripts van vertrouwde auteurs worden uitgevoerd en wijzigingen worden voorkomen. U kunt dit combineren met uitvoeringsbeleid om dat vertrouwen af te dwingen.
Veelvoorkomende problemen oplossen
Hieronder staan veelvoorkomende scriptproblemen die tijdens de training van IT-technici opduiken en hoe u ze oplost.
Technicus ziet beschermde variabelen
Het is verstandig om scripts met gevoelige variabelen af te schermen. U kunt daarvoor de juiste toegangscontroles gebruiken, zoals ACL’s op het bestandssysteem die bepalen wie scripts mag lezen of wijzigen. Soms is het veiliger om vertrouwelijke waarden onder te brengen in beveiligde kluizen of versleutelde parameteropslag, zodat ze niet in de broncode van het script staan.
Script mislukt tijdens de training
Scripts kunnen tijdens de trainings- of testfase mislukken. Voeg daarom foutafhandeling toe om ontbrekende bronnen te detecteren en erop te reageren. Door kritieke lookups in try/catch-blokken te zetten, voorkomt u storingen.
Het is ook aan te raden om controles als Test-Path of Get-ItemProperty te gebruiken voordat u bestanden benadert, zodat het script bevestigt dat ze bestaan.
Variabele-injectie werkt niet
Variabele-injectie kan mislukken door beperkingen in het uitvoeringsbeleid of door onjuiste verwijzingen in het script. Controleer daarom de instellingen van het uitvoeringsbeleid met Get-ExecutionPolicy -List om na te gaan of het script mag worden uitgevoerd.
NinjaOne-diensten die de onboarding van IT-technici ondersteunen
Met NinjaOne kunnen MSP’s nieuwe technici in automatiseringsrollen onboarden zonder concessies te doen aan de beveiliging of gevoelige gegevens bloot te geven.
- Het bewerken en uitvoeren van scripts beperken tot toegewezen technicusrollen
- Beveiligde waarden tijdens runtime injecteren via aangepaste velden of beleidssjablonen
- Scriptactiviteit en -uitvoer vastleggen per device en per technicus
- Scriptrepository’s met versiebeheer aanbieden voor trainings- en productiescripts
- Workflows voor scriptbeoordeling inschakelen voordat scripts live gaan
Voorkom onbedoelde datalekken met een goede training van IT-technici
Door nieuwe IT-technici te leren hoe ze informatie gebruiken en aanpassen, voorkomt u dat gevoelige gegevens worden blootgesteld. Dat doet u door waarden te abstraheren met het register en GPO, veilige trainingsversies van automatiseringsscripts te maken en gebruik te maken van de gecontroleerde scripttoegang, -uitvoering en rapportage van NinjaOne.
Gerelateerde onderwerpen:
- Drie redenen waarom u PowerShell zou moeten leren (met PowerShell-trainingsmateriaal)
- Waarom u PowerShell zou moeten leren (met bronnen om te starten)
- IT Management-gids: zo creëert u een leercultuur binnen IT
- Gids voor de IT-afdeling: medewerkers trainen in nieuwe IT-tools
- Word een gecertificeerde IT Ninja
Quick-start guide
NinjaOne biedt verschillende hulpmiddelen om technici te trainen in scriptgebruik:
- Trainingsopties:
- Mini-trainingen: korte video’s van 5 minuten over specifieke onderwerpen
- Workramp-leertrajecten: gestructureerd lesmateriaal voor technici
- Individuele training voor supporttechnici: training op maat om specifieke vaardigheden te ontwikkelen
- Scriptbeheer en training:
- De Automation Library biedt een breed aanbod aan kant-en-klare scripts
- Technici hebben toegang tot scriptsjablonen en leren hoe ze die gebruiken
- NinjaOne biedt mogelijkheden om scripts te delen en communitybronnen
- Bescherming van variabelen:
- NinjaOne heeft ingebouwde mechanismen om gevoelige variabelen te beschermen:
- Beveiligde velden voor gevoelige informatie
- Aangepaste velden met gecontroleerde toegang
- Scripts met beveiligde tokens om referenties te beheren
- NinjaOne heeft ingebouwde mechanismen om gevoelige variabelen te beschermen:
- Typen scriptvariabelen:
- Scripts ondersteunen meerdere typen variabelen
- Variabelen kunnen zo worden geconfigureerd dat ze interactieve formulieren maken
- Technici leren variabelen veilig te gebruiken zonder gevoelige informatie prijs te geven
- Trainingsmateriaal:
- De pagina Community Script Share
- De Mini Training Library
- Workramp-lesmateriaal
- Documentatie met scriptvoorbeelden
Om nieuwe technici te trainen, kunt u met deze bestaande hulpmiddelen een compleet scripttrainingsprogramma opzetten waarin beveiliging en een correcte omgang met variabelen centraal staan.
