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)

Koble windows PC med lisens opp mot domene

Hvis det skjer med deg slik som det skjedde med Thea våren 2021, hvor hun glemte at suwi10 eksisterte når hun skulle fikse en windowslisens for en ny FG PC (eller hvis du av en eller annen grunn trenger å koble en ferdig oppsatt windows til domenet) så kan du følge denne smørbrødlista:

1. Åpne windows powershell som administrator på PC'en. 2. Skriv "Add-Computer -DomainName "ad.samfundet.no" -Credential "Administrator". Logg så inn med høysikkerhet. 3. Skriv "net use \ad.samfundet.nonetlogon" 4. Skriv "powershell -executionpolicy bypass \ad.samfundet.nosysvolad.samfundet.noscriptschocolatey.ps1" 5. Skriv "gpupdate /force" 6. Oppdater navnet på PCen til SAMF eller UKA etterfulgt av årstall og et nummer. Oppdater også chocolatey med det samme navnet. 7. Bytt administrator passordet på PCen.

TODO

Installasjon

MVP

Nice to have

Lisenser

MVP

MVP

Nice to have

Pakker

MVP

Nice to have

Ønsket programvare

MVP

Nice to have

Ønsket funksjonalitet

MVP

Nice to have

Kjente Win7-bugs

MVP

Nice to have

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

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2021-04-16 19:37 | Revisjon: 41 (historie, blame) | Totalt: 1880 kB | Rediger