SUWI10

SUWI10 er Samfundets Upåaktede Windows-installasjon for Windows 10, et system som lar deg installere Windows på maskiner over nettverk uten å måtte gi dem oppmerksomhet mer enn høyst nødvendig.

Bakgrunn

Det finnes en rekke slike systemer, delt inn i to hovedlinjer: Image-baserte og installer-baserte. I image-baserte systemer installerer man først OSet for hånd, gjør eventuelle justeringer, programvareinstallasjon og slikt, og så lager en bit-for-bit-kopi av disken. Denne kopien skrives så til maskinene man vil installere til (vanligvis over nett).

I installer-baserte systemer kjører man i stedet OS-installasjonen, men instruert på en slik måte at man slipper å trykke på noe underveis.

Fordelen med førstnevnte er at alt kan settes opp eksakt slik man vil ha det, og eksakt slik blir det. Ulempen er at det er vanskelig og mye arbeid å tilpasse slike images til flere maskinvaretyper. (På Samfundet har vi meget bred variasjon.) Installer-baserte systemer fungerer vanligvis på langt flere maskinvarer, men er til gjengjeld mindre robust, siden de kan finne på å stoppe opp om installeren går inn i en ukjent eller uventet tilstand.

Felles for de aller fleste systemer som gjør disse tingene, er at de er komplekse, enterprise og onde, og gjerne også dyre. Microsofts løsninger krever Windows-tjenere.

SUWI10 er mest et stort hack for å starte Windows-installeren.

Virkemåte

SUWI10 har tre steg.

Steg 1: Netboot

SUWI10 starter ved at man netbooter inn i Windows Preinstallation Environment (WinPE) over PXE. Dette er beskrevet i en egen node, men kort sagt spør maskinen om PXE-boot over DHCP, og cirkus svarer med et iPXE-bilde som laster WinPE-ISOen fra http://ipxe.samfundet.no/suwi10.

Steg 2: WinPE

WinPE har den egenskapen at den ved oppstart kjører C:\Windows\System32\startnet.cmd. Dette skriptet monterer Samba-sharen \suwi10win som befinner seg i /export/cassarossa/ymse/suwi10/win på cassarossa. Herfra kjøres PowerShell-skriptet suwi10.ps1. Dette skriptet ber brukeren om ønsket maskinnavn og type lisensnøkkel. Selve nøkkelen hentes med HTTP-kall til https://choco.samfundet.no/api/getlicense.pl. Deretter kopieres autounattend_template.xml og modifiseres til å inneholde oppgitt maskinnavn og lisensnøkkel før Windows-installeren startes med \suwi10win\setup.exe. Dette skriptet leser autounattend.xml, som inneholder alle nødvendige svaralternativer for Windows-installasjonen.

Steg 3: Windows

Etter en liten stund booter maskinen inn i harddisken sin, som nå inneholder primitiv Windows. Herfra fortsetter installasjonen av komplett Windows, fortsatt med flittig bruk av autounattend.xml.

Ferdig!

Nå har maskinen installert et standard Windows-bilde med riktig lisensnøkkel og vertsnavn. Det mangler riktig nok programvare, og det er mer konfigurasjon som må gjøres. Dette skjer regelmessig med AD og Chocolatey, som ikke regnes som del av SUWI10.

Lage nytt WinPE-bilde

Først oppretter vi og monterer et nytt bilde.

Deretter setter vi input-locale og installerer powershell.

Nå gjør vi våre lokale endringer. Merk at for å bytte bakgrunnsbilde må vi først hacke litt rettigheter.

Nå gjenstår det bare å rydde opp og produksjonssette.

Lage ny eller endre svarfil (autounattend.xml)

Sette opp ny Windows 11-klient og koble til domenet manuelt

SUWI11 er ikke helt på plass enda, og SUWI10 støtter kun legacy boot. Dermed kan du følge denne lille guiden for å sette opp Windows 11 klient og koble den til ad.samfundet.no manuelt!

Forutsetninger for at det skal funke

Installasjon

Boot opp den nye PCen, når OOBE starter, trykk Shift+F10 for å åpne powershell og skriv oobe\bypassnro for å omgå kravet om Microsoft-konto og nettverkstilkobling, maskinen skal nå starte på nytt.

Fullfør OOBE og opprett en midlertidig lokal konto (kall den "admin" f.eks.). Sett et midlertidig passord og fyll inn sikkerhetsspørsmål med noe tull du hvertfall husker. Kom deg inn i Windows og koble til nettet.

Lisens

Hvis maskinen har Windows 11 Home installert så må du oppgradere til Pro lisens (f.eks. så har øko PCene til UKA har win11-Home)

Koble til domenet

Åpne PowerShell(terminal) som administrator og kjør følgende i rekkefølge:

1. Meld inn maskinen inn i domenet og autentiser med Admin-credentials

Add-Computer -DomainName "ad.samfundet.no" -Credential "Administrator"

2. Restart maskinen og logg inn som lokal admin igjen, deretter koble til netlogon-sharen og autentiser med Admin-credentials

net use \\ad.samfundet.no\netlogon

3. Kjør Chocolatey scriptet for å installere standardpakker:

powershell -executionpolicy bypass \\ad.samfundet.no\sysvol\ad.samfundet.no\scripts\chocolatey.ps1

4. Synkroniser klokken mot domenets tidsserver (viktig – gpupdate feiler hvis klokken er for langt unna):

w32tm /config /manualpeerlist:"ntp.samfundet.no" /syncfromflags:manual /update

deretter:

w32tm /resync

5. Tving Group Policy-oppdatering (hvis det feiler, vent litt og prøv igjen, synk kan ta litt tid):

gpupdate /force

6. Koble fra net use-tilkoblingen:

net use * /delete

7. Gi maskinen riktig navn ( SAMF eller UKA etterfulgt av årstall og nummer, f.eks. UKA27-01, sjekk https://choco.samfundet.no for å se hvilke navn har blitt tatt i bruk) og restart:

Rename-Computer -NewName "UKA27-01" -DomainCredential "SAMFUNDET\Administrator" -Restart

8. Logg inn som lokal admin igjen og bytt administrator-passordet til lavsikkerhet:

net user admin *

Maskinen er nå meldt inn i domenet, har fått riktig navn, standardpakker installert via Chocolatey, og Group Policy er aktiv. Brukere kan nå logge inn med sine Samfundet-kontoer. Bra jobba, du er helt sjef!!

TODO

Nice to have

Pakker

Nice to have

Ønsket funksjonalitet

Nice to have

Lenker: Start, chocolatey, historie, klientmaskiner, netboot, til nye itkere

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2026-05-04 12:13 | Revisjon: 64 (historie, blame) | Totalt: 1952 kB | Rediger