Den siste tiden har jeg hatt en gnagende følelse av at kunnskapen min om PowerShell sakte forsvinner, ettersom jeg ikke har hatt noen prosjekter som engasjerer meg nok til å vedlikeholde den.
Da jeg så en post fra Doug Fink på LinkedIn om “100 dager med PowerShell”, tenkte jeg at dette kunne være en god måte å friske opp kunnskapen og samtidig lære noe nytt. Posten inneholdt hovedtemaene, men etter litt frem og tilbake i Copilot fikk jeg utvidet strukturen for å gi meg mer veiledning. Dette kan fortsatt endre seg etterhvert som jeg jobber med temaene, men så langt virker det som en god plan.
Dette er først og fremst mine egne notater, men hvis andre skulle ha nytte av dem, er det bare en bonus – det er ikke hovedhensikten. Jeg har bevisst valgt norsk som språk for teksten, da dette tvinger meg til å tenke mer nøye over innholdet. Og ja, jeg har lagt merke til at noen av oversettelsene så langt har vært, eh, litt spesielle 😆.
Jeg ser at temaet for websiden har problemer med visse markdown-elementer som benyttes, konflikten oppstår mellom forskjellene på Obsidian- og GitHub-Markdown. Har lagt dette inn på lista over ting som gjøres
2025-07-28: Nok en lang pause, oppdatert med data-typer
.
📌 Day 1–10: Grunnleggende PowerShell
- Kort introduksjon til PowerShell
- Forstålese av kommandoskallet, cmdlets, and syntaks
- Forstå hjelp systemet
- Variabler og data-typer
🔄 Day 11–20: Control Flow & Script Logic
- Defining and using functions (
function, return
) - Conditional statements (
if
,switch
) - Loops (
for
,foreach
,while
) - Handling user input and script parameters
📦 Day 21–30: Object Manipulation & Formatting
- Understanding the pipeline and object passing
- Filtering and selecting objects (
Where-Object
,Select-Object
) - Formatting outputs (
Format-Table
,Format-List
)
🔍 Day 31–40: Modules & Remote Management
- Importing and exporting modules
- Writing custom modules
- Using PowerShell remoting (
Invoke-Command
,Enter-PSSession
)
🛠️ Day 41–50: File System & Process Management
- File operations (
Get-Item
,Copy-Item
,Remove-Item
) - Managing system services (
Get-Service
,Start-Service
) - Process automation (
Start-Process
,Stop-Process
)
🚨 Day 51–60: Error Handling & Debugging
- Understanding try/catch blocks
- Logging and troubleshooting scripts
- Debugging PowerShell code (
Set-PSBreakpoint
)
🔒 Day 61–70: Security & Access Control
- Credential management (
Get-Credential
) - Permission handling (
Get-ACL
,Set-ACL
) - Secure coding practices in PowerShell
🤖 Day 71–80: Automation & Scheduling
- Creating scheduled tasks (
New-ScheduledTask
) - Writing reusable and efficient scripts
- Managing background jobs (
Start-Job
,Receive-Job
)
🌐 Day 81–90: APIs, Web & Network Management
- Working with REST APIs (
Invoke-RestMethod
) - Automating Active Directory & network tasks
- Parsing and handling JSON/XML data
🚀 Day 91–100: Final Project & Optimization
- Performance tuning and script efficiency
- Writing well-documented and maintainable scripts
- Contributing to the PowerShell community (sharing scripts, best practices)