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.
- Logg på en Windows-maskin som administrator
- Installer Windows ADK med Windows PE add-on.
- Kjør Deployment and Imaging Tools Environment som administrator for å få fine miljøvariabler.
- Generer WinPE-filer med copype amd64 C:\WinPE_amd64.
- Slett C:\WinPE_amd64\media\Boot\bootfix.bin for å slippe å måtte trykke på en knapp ved WinPE-oppstart.
- Monter WinPE-bildet med dism /mount-image /imagefile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /mountdir:"C:\WinPE_amd64\mount"
Deretter setter vi input-locale og installerer powershell.
- Dism /Image:"C:\WinPE_amd64\mount" /Set-InputLocale:nb-no
- Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab
- Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX.cab
- Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab
- Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab
Nå gjør vi våre lokale endringer. Merk at for å bytte bakgrunnsbilde må vi først hacke litt rettigheter.
- net use I: \\samba.samfundet.no\suwi10src /user:SAMFUNDET\suwi10 *
- copy I:\startnet.cmd C:\WinPE_amd64\mount\Windows\System32\startnet.cmd
- takeown /F C:\WinPE_amd64\mount\Windows\System32\startnet.cmd
- cacls C:\WinPE_amd64\mount\Windows\System32\winpe.jpg /G BUILTIN\Administratorer:F
- copy I:\winpe.jpg C:\WinPE_amd64\mount\Windows\System32\winpe.jpg
Nå gjenstår det bare å rydde opp og produksjonssette.
- Lagre endringene dine til bildet med dism /unmount-image /mountdir:"C:\WinPE_amd64\mount" /commit
- Generer ISOen med makewinpemedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso
- Legg WinPE-ISOen under cassarossa:/export/ymse/ipxe/windows/WinPE_amd64_suwi10.iso.
- Sjekk at cirkus:/var/lib/ipxe/suwi10/suwi10.ipxe laster inn ISOen.
- Nå skal du kunne PXE-boote inn i WinPE.
Lage ny eller endre svarfil (autounattend.xml)
- Logg på en Windows-maskin som administrator.
- Installer Windows ADK.
- Last ned installasjonsISOen fra Microsoft VLSC.
- Montér installasjonsISOen på f.eks. D:.
- Kopier D:\sources\install.wim til C:\Win10.
- Åpne Windows System Image Manager, velg "Select a Windows image or catalog file" og åpne install.wim.
- Hvis du skal endre en svarfil, åpne den.
- Gjør endringene du ønsker.
- Lagre svarfilen og kopier den til cassarossa:/export/cassarossa/ymse/suwi10/install/autounattend_template.xml. Merk at den ikke heter autounattend.xml, ettersom denne genereres ved installasjon.
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
- Maskinen må ha Windows 11 Pro (Ikke home, home støtter ikke AD-join)
- Maskinen må ha nettverkstilgang til ad.samfundet.no (du må være på samf nett)
- Du trenger Admin-credentials (høysikkerhet)
- Du trenger en Windows Pro-lisensnøkkel. Dette henter du på https://choco.samfundet.no/licenses.pl
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)
- Gå til Instillinger → System → Aktivering → Endre produktnøkkel
- Skriv inn lisensnøkkel fra https://choco.samfundet.no/licenses.pl (Genuine Windows 10 Pro for Workstations), og følg deretter instruksjonene for å fullføre oppgraderingen, skal gå ganske automatisk.
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
AD
Nice to have
- Disable hibernation
- Besøk Internett og finn anbefalte AD-instillinger.
- Sjekk at GPOen "ITK Printing" er som ønsket. Sjekk spesielt om du kan fjerne User- eller Computer-konfigurasjonen.
- Fjern alle ikke-Windows-10-GPOer fra AD når vi har kvittet oss meg Windows 7.
- Fjern duplikater av innstillinger i "Defualt Domain Policy".
Pakker
Nice to have
- Rapporter hvilke pakker som er installert til choco.samfundet.no
Ønsket funksjonalitet
Nice to have
- LLDP-svar (gamle cdpd)
- Chrome som default PDF-åpner?
- Skru av hibernation
- Skru av IPv6 privacy Extensions
- Bruk ntp.samfundet.no for NTP
- Bevar cookies mellom Chrome-sesjoner
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


