
Installation af software ved brug af et script - Få en "frisk" WIN-PC klar på ingen tid
At stå med en nyindkøbt bærbar kan være en tidskrævende opgave medmindre man allerede er klar med f.eks. Intune, Symantec el. noget som CapaInstaller men det bruger man næppe derhjemme så lad os nu se på noget, som du bestemt har adgang til og som er kvit og frit.
Vi kan nemlig hente software/applikationer ned på vores Windows-PC ("WIN-PC") ved brug af Windows Package Manager. Det kan vi gøre via et script eller vi kan indtaste noget som i Powershell:
winget install VideoLAN.VLC
Dette vil installere nyeste version af VLC media player men hvordan finder vi så ud af om det software vi lige står og mangler er at finde på denne måde uden vi skal ud og bruge Google? Jo det gør vi ved at benytte os af winget search
så lad os prøve at se om ExpressVPN er at finde...

Det var den faktisk. Dvs. alt vi skal gøre er at udskifte winget install VideoLAN.VLC
med winget install ExpressVPN.ExpressVPN
og nu kan vi få ExpressVPN installeret direkte via vores terminal. Altså helt uden at skulle ind på deres hjemmeside og hente en applikationsinstaller(.exe). Og bare for god ordens skyld:

Hvad så hvis jeg vil opdatere det software jeg har installeret? Jo det gør vi blot ved at indtaste winget upgrade --all
... Og igen, ikke noget med at skulle trykke op en opdateringsknap el. ind på en web-adresse og finde en nyere installationsfil. Dvs alt du skal er: *Husk at din terminal skal køres som administrator.
Nå, lad os nu lave et script der kan hente det software som du selv ønsker der skal installeres.
1. Først skal du tage stilling til om du bare vil benytte dig af Notesblok (notepad.exe) el. du i stedet vil få begyndt på PowerShell ISE. Hvis du er helt grøn el. bare "fatter hat" så gå PowerShell ISE-vejen. Det gør vi ved at søge efter Powershell
og så vælge det resultat som hedder PowerShell ISE. Altså således:

2. Hvis du ikke ser et "Script Pane" skal du slå dette til (du behøver ikke vide hvad dettte er). Det gør du ved at gå under View - > Show script pane (el. du kan; Ctrl + R).

3. Indsæt nu den kodestump som er at finde herunder i din script pane (det hvide område). Bemærk at denne kodestump blot stiller dig et spørgsmål om du vil installere applikationen "X". I det her tilfælde MEGASync-klienten til Dropbox-alternativet MEGA.
do { $megasync = 'Installér MEGASync? - Cloud storage med 20GB gratis lagerplads. 25GB ved udfyldelse af TLF. nr.[Y/N]'
$megasyncrsp = Read-Host -Prompt $megasync}
until ("y","n" -contains $megasyncrsp)

4. Lad os nu knytte en handling til vores installationsspørgsmål. Det gør vi ved at indtaste denne kodestump neden under:
if ($megasyncrsp -eq 'y') {
winget install --id Mega.MEGASync -h --accept-package-agreements --accept-source-agreements
}

5. Lad os afprøve dette inden at vi går videre (derfor det er smart hvis du har valgt at benytte dig af PowerShell ISE.

6. Så hele vores kodestump er altså:
do { $megasync = 'Installér MEGASync? - Cloud storage med 20GB gratis lagerplads. 25GB ved udfyldelse af TLF. nr.[Y/N]'
$megasyncrsp = Read-Host -Prompt $megasync}
until ("y","n" -contains $megasyncrsp)
if ($megasyncrsp -eq 'y') {
winget install --id Mega.MEGASync -h --accept-package-agreements --accept-source-agreements
}
7. Nu er det bare at indsætte kodestumper herover og gentage hvad der allerede er nævnt for hver stk. software/applikation du ønsker at tilføje.
Du kan f.eks. bruge dette som skabelon:
<#
.SYNOPSIS
Hent de applikationer der bruegs mest ved brug af Windows Package Manager - Dette script er mere eller mindre copy-paste.
.DESCRIPTION
Dette script giver en prompt hvor man kan vælge at installere et bestemt stykke software eller ej. Hvis du ikke ændre i noget vil den spoerge til disse:
- MEGASync
- MullvadVPN
- ProtonVPN
- ProtonMail Bridge
- Google Chrome
- Gyazo
- Firefox
- VLC
- Git
- Windows Terminal
- PowerShell
.OUTPUTS
.NOTES
Written by: Brevstgaard
Find me on:
* My Blog: https://brevstgaard.blog
.EXAMPLE
.\InstallSoftware.ps1
Change Log
V1.00, 27th February 2022 - Initial version
#>
do { $megasync = 'Installér MEGASync? - Cloud storage med 20GB gratis lagerplads. 25GB ved udfyldelse af TLF. nr.[Y/N]'
$megasyncrsp = Read-Host -Prompt $megasync}
until ("y","n" -contains $megasyncrsp)
do { $mullvadvpn = 'Installér MullvadVPN? - No-logs VPN (billig $5 om måneden).[Y/N]'
$mullvadvpnrsp = Read-Host -Prompt $mullvadvpn}
until ("y","n" -contains $mullvadvpnrsp)
do { $protonvpn = 'InstallérProtonVPN? - God multi-hop VPN der dog koster en del.[Y/N]'
$protonvpnrsp = Read-Host -Prompt $protonvpn}
until ("y","n" -contains $protonvpnrsp)
do { $protonmailbridge = 'Installér ProtonMail Bridge? - Bruger du ProtonMail og og skal den snakke sammen med f.eks. Outlook skal du bruge denne.[Y/N]'
$protonmailbridgersp = Read-Host -Prompt $protonmailbridge}
until ("y","n" -contains $protonmailbridgersp)
do { $chrome = 'Installér Google Chrome? - Favorit-browseren hos mange.[Y/N]'
$chromersp = Read-Host -Prompt $chrome}
until ("y","n" -contains $chromersp)
do { $gyazo = 'Installér Nota Gyazo? - God appikation til at lave screenshots/GIFs med. [Y/N]'
$gyazorsp = Read-Host -Prompt $gyazo}
until ("y","n" -contains $gyazorsp)
do { $firefox = 'Installér Firefox? - Altid fint med en backup browser.[Y/N]'
$firefoxrsp = Read-Host -Prompt $firefox}
until ("y","n" -contains $firefoxrsp)
do { $vlc = 'Installér VLC? - Super til f.eks. afspilning af mkv-filer.[Y/N]'
$vlcrsp = Read-Host -Prompt $vlc}
until ("y","n" -contains $vlcrsp)
do { $git = 'Installér Git? - Versionskontrolsystem. Giver overblik lokalt og over sky-repository.[Y/N]'
$gitrsp = Read-Host -Prompt $git}
until ("y","n" -contains $gitrsp)
do { $teams = 'Installér Microsoft Teams? - Giver god mening hvis du i forvejen benytter dig af Office365-pakken men ikke har behov for denne.[Y/N]'
$teamsrsp = Read-Host -Prompt $teams}
until ("y","n" -contains $teamsrsp)
do { $winterm = 'Installér Windows Terminal?[Y/N]'
$wintermrsp = Read-Host -Prompt $winterm}
until ("y","n" -contains $wintermrsp)
do { $powershell = 'Installér PowerShell?[Y/N]'
$powershellrsp = Read-Host -Prompt $powershell}
until ("y","n" -contains $powershellrsp)
Write-Host "Det valgte software vil nu bliver installeret. " -ForegroundColor red -BackgroundColor white
if ($megasyncrsp -eq 'y') {
winget install --id Mega.MEGASync -h --accept-package-agreements --accept-source-agreements
}
if ($mullvadvpnrsp -eq 'y') {
winget install --id MullvadVPN.MullvadVPN -h --accept-package-agreements --accept-source-agreements
}
if ($protonvpnrsp -eq 'y') {
winget install --id ProtonTechnologies.ProtonVPN -h --accept-package-agreements --accept-source-agreements
}
if ($protonmailbridgersp -eq 'y') {
winget install --id ProtonTechnologies.ProtonMailBridge -h --accept-package-agreements --accept-source-agreements
}
if ($chromersp -eq 'y') {
winget install --id Google.Chrome -h --accept-package-agreements --accept-source-agreements
}
if ($gyazorsp -eq 'y') {
winget install --id Nota.Gyazo -h --accept-package-agreements --accept-source-agreements
}
if ($firefoxrsp -eq 'y') {
winget install --id Mozilla.Firefox -h --accept-package-agreements --accept-source-agreements
}
if ($vlcrsp -eq 'y') {
winget install --id VideoLAN.VLC -h --accept-package-agreements --accept-source-agreements
}
if ($gitrsp -eq 'y') {
winget install --id git.git -h --accept-package-agreements --accept-source-agreements
}
if ($teamsrsp -eq 'y') {
winget install --id Microsoft.Teams -h --accept-package-agreements --accept-source-agreements
}
if ($wintermrsp -eq 'y') {
winget install --id Microsoft.WindowsTerminal -h --accept-package-agreements --accept-source-agreements
}
if ($powershellrsp -eq 'y') {
winget install --id microsoft.powershell -h --accept-package-agreements --accept-source-agreements
}
Write-Host "Det gik jo meget godt, genstart nu dit computer system. " -ForegroundColor red -BackgroundColor white
Kørsel af scriptet?
Jo, har du f.eks. gemt det på skrivebordet så gør som i GIFén herunder og kør det ved at højreklikke efterfulgt af Run with PowerShell. *Det er det samme du skal gøre lige meget hvilken mappe du har gemt scriptet i.

Det vil altså se sådan ud hvis du har brugt min skabelon:

Brevstgaard Nyhedsbrev
Deltag i nyhedsbrevet for at modtage de seneste opdateringer i din indbakke.