Hvis du skal installere Windows 11 mange gange, er det en reel belastning at stille de samme spørgsmål om region, tastatur, konto, privatliv eller apps gentagne gange. Med en kombination af scripts, uovervågede svarfiler og nogle Microsoft-værktøjer Det er muligt at gøre hele processen næsten automatisk, endda ved at springe OOBE-oplevelsen over og anvende dine egne avancerede indstillinger.
I de følgende linjer vil du se, hvordan du kan drage fordel af SetupComplete.cmd, ErrorHandler.cmd, Unattend/autounattend.xml, PowerShell og Konfigurationsstyring...plus nogle tricks til at undgå hardwaretjek eller fuldt ud tilpasse Windows 11. Ideen er, at du kan oprette et bootbart USB-drev eller en modificeret ISO i stand til at installere systemet med dine indstillinger, dine scripts og dine applikationer, stort set uden at røre en tast.
Windows-installationsscripts: SetupComplete.cmd og ErrorHandler.cmd
I selve Windows-installationsprogrammet har der i årevis været en mekanisme til at koble brugerdefinerede scripts i de senere faser af installationenDe to nøglefiler er OpsætningFuldført.cmd y ErrorHandler.cmd, som er placeret på ruten %WINDIR%\Opsætning\Scripts\ og udføres inden for rammerne af det lokale system.
filen OpsætningFuldført.cmd Den starter lige efter hovedinstallationen er færdig, og skrivebordet vises for første gang, før brugeren begynder at bruge systemet normalt. Derfra kan du udløse andre scripts. cscript eller wscript, installere applikationer, anvende registreringsindstillinger eller udføre opgaver efter installationen. Husk at på OEM-nøgleudstyr Denne mulighed kan være begrænset, undtagen i Enterprise-udgaver og Windows Server-versioner.
For sin del, manuskriptet ErrorHandler.cmd Den er designet som en nødmekanisme. Når der opstår en alvorlig fejl under installationen, som forhindrer yderligere arbejde, kontrollerer installatøren, om der er et backup-system. %WINDIR%\Setup\Scripts\ErrorHandler.cmd og udfører den med systemrettigheder. Denne komponent er især nyttig, når Mange maskiner er i drift på samme tidfordi det giver dig mulighed for at registrere fejlen, indsamle oplysninger eller endda forsøge automatiske rettelser.
Hvis installationsprogrammet støder på en uoprettelig fejl, og ErrorHandler.cmd mangler, viser det en dialogboks med meddelelsen og kræver manuel lukning. Men når scriptet er til stede, udføres det automatisk. synkron, uden at vise beskeder til brugerenInstallationsprogrammet lukkes derefter. Afhængigt af hvor fejlen opstod, vender computeren tilbage til det tidligere miljø, f.eks. Windows PE eller en tidligere Windows-installation.
Der er tidspunkter, hvor installationen registrerer flere fejl i træk og udfører derfor ErrorHandler.cmd mere end én gang. Når du designer dette script, er det vigtigt at forberede det til at blive idempotentDet vil sige, at den kan køres gentagne gange uden at ødelægge noget eller forårsage sjældne bivirkninger.
Sådan fungerer SetupComplete.cmd og udførelsesrækkefølgen
SetupComplete.cmd opfører sig i en meget specifik rækkefølge, der giver dig mulighed for at vide det med betydelig nøjagtighed. hvornår dine brugerdefinerede handlinger udføres Og hvilke andre Windows-funktioner er stadig ude af drift?
Efter kopiering af filer og anvendelse af billedet, søger installationsprogrammet i installationsprogrammet, før loginskærmen vises. %WINDIR%\Opsætning\Scripts\ en fil med navnet OpsætningFuldført.cmdHvis den finder den, udfører den den med systemlegitimationsoplysninger og logger hændelsen i loggen. C:\Windows\Panther\UnattendGC\Setupact.log, hvor du kan tjekke præcis, hvad der er sket.
Noget vigtigt: konfigurationsprogrammet validerer ikke scriptets exit-kodeMed andre ord, selvom SetupComplete.cmd fejler eller returnerer et fejlniveau, der ikke er nul, fortsætter installationen, som om intet var sket. Dette tvinger dig til at være forsigtig med fejlhåndteringen i selve scriptet og om nødvendigt efterlade spor i brugerdefinerede logfiler.
En anden detalje at overveje er forholdet til domænetilslutning og gruppepolitikkerHvis computeren tilføjes til et domæne under installationen, anvendes de gruppepolitikobjekter, der er defineret i det pågældende domæne, ikke, før SetupComplete.cmd er færdig med at køre. Dette forhindrer, at politikapplikationer forstyrrer dine scripts efter installationen, hvilket giver dig et værdifuldt tidsrum til at foretage justeringer, før virksomhedsindstillingerne træder i kraft.
Avanceret brug af ErrorHandler.cmd til masseinstallationer

Når vi implementerer snesevis eller hundredvis af systemer, er det kun et spørgsmål om tid, før én installation mislykkes på grund af en modstridende driver, et netværksproblem eller et beskadiget image. I disse scenarier, ErrorHandler.cmd er din bedste allierede at indsamle diagnostiske oplysninger og træffe automatiserede beslutninger.
Der er to primære måder at inkludere dette script i dine implementeringer. Den første involverer Monter Windows-billedet (for eksempel filen install.wim), opret stien %WINDIR%\Opsætning\Scripts\ inden for det billede og kopier ErrorHandler.cmd dertil. Efter afmontering og gemning af ændringerne vil alle installationer, der bruger det billede, have integreret fejlhåndtering.
En anden mulighed er at placere ErrorHandler.cmd i en midlertidig mappe tilgængelig under installationenFor eksempel C:\Temp\ErrorHandler.cmd, og kør Windows-installationsprogrammet med parameteren /m peger på den placering: Setup /m:C:\TempPå denne måde vil installationsprogrammet automatisk kopiere de filer, det finder i den pågældende mappe, til sin interne struktur, inklusive fejlskriptet.
Denne sidste metode er meget praktisk, når man arbejder med et implementeringsmiljø, hvor man allerede har delte ressourcer, fordi den tillader Opdater scriptet uden at røre ved basisbilledetUnder alle omstændigheder anbefales det, at ErrorHandler.cmd har tilstrækkelig logik til at registrere fejlens kontekst (relevante logfiler, netværksstatus, hardwareoplysninger) og om nødvendigt videresende disse data til en central server til yderligere analyse.
Uovervågede installationer med Unattend.xml og autounattend.xml
Hvis du ønsker at installere Windows 11 uden at stille dig nogen spørgsmål Med hensyn til sprog, tastatur, konto, OOBE, licenser eller lignende, er nøglekomponenten svarfilen. Unattend.xml eller autounattend.xmlTakket være det kan du guide installatøren trin for trin og på forhånd angive alle de muligheder, som du normalt skulle udfylde manuelt.
Unattend.xml kan køres på forskellige stadier af installationsprocessen. Nogle muligheder startes meget tidligt, i selve installationsfasen. Windows-opsætningideel til forberedelse af diskpartitioner. Andre udløses under trinene med auditUser, oobeSystem eller firstLogon, mere egnet til installation af applikationer, aktivering af tjenester eller anvendelse af brugerindstillinger.
For at starte kommandoer, mens installationsprogrammet stadig starter, kan du bruge afsnittene Microsoft-Windows-Opsætning\KørAsynkron o Kør synkrontDe er perfekte til at definere diskpartitioneringsstilen (f.eks. GPT med EFI og gendannelsespartitioner), slette indholdet af hoveddrevet eller anvende tidligere ændringer før den første genstart.
Hvis du vil automatisere, hvad der sker i revisionstilstandNår systemet går ind i en særlig tilstand til test og tilpasning, har du nøglerne til din rådighed. Microsoft-Windows-Deployment\RunAsynchronousCommand y KørSynchronicCommand i fasen revisionsbrugerDet er der, hvor scripts designet til at teste applikationer, installere store pakker eller konfigurere virksomhedsskabeloner normalt placeres.
Endelig, for at kontrollere, hvad der sker efter OOBE, før brugeren ser skrivebordet, bruges følgende afsnit: Microsoft-Windows-Shell-Opsætning\Logonkommandoer\Asynkronekommandoer y FirstLogonCommands\SynchronousCommandDisse kommandoer er ideelle til Tilføj eller fjern apps, anvend sprogindstillinger, deaktiver forslag eller tilpas startmenuen.Det er dog bedst ikke at overbruge dem: scripts, der er for lange, forsinker brugerens ankomst til skrivebordet, og i kommercielle versioner af Windows er der yderligere begrænsninger, der er vigtige at respektere.
Windows 11 uovervåget: spring OOBE helt over
Microsoft har kompliceret ud-af-boksen-fasen (OOBE) af Windows 11 med hver opdatering og tilføjet skærme til at oprette forbindelse til netværket, oprette eller tvinge Microsoft-konti, aktivere OneDrive, prøve Office, definere enhedsbrug eller acceptere en lang liste af privatlivsindstillinger. Alt dette kan undgås med en uovervåget installation baseret på autounattend.xml.
Ideen er at skabe en bootbart installationsmedie (normalt et USB-drev) med Windows 11 ISO og placer den i drevets rodmappe på samme niveau som setup.exe, en fil kaldet autounattend.xmlNår installationsprogrammet registrerer denne fil ved opstart, bruger det den som en vejledning til at besvare alle dine spørgsmål.
Med en velforberedt autounattend.xml-fil kan du angive, at den skal installeres. Windows 11 Pro i fuldautomatisk tilstand, Opret en administratorkonto (for eksempel Admin) og en anden standardbruger (Bruger) med den samme foruddefinerede adgangskode, og lad den generiske produktnøgle stå i baggrunden, som senere kan erstattes af din faktiske licens.
Derudover er det muligt at udsætte netværkskonfigurationen til slutningen, hvilket kombineret med visse indstillinger giver dig mulighed for at Installer Windows 11 uden en internetforbindelse eller Microsoft-kontoDette opretter lokale konti, deaktiverer telemetri, ændrer Windows Update-funktionsmåden til manuelle opdateringer, deaktiverer Bing-webresultater i Start-menuen, forhindrer foreslåede programmer og gendanner, hvis det ønskes, den klassiske kontekstmenu, der ligner den i Windows 10.
Den samme svarfil kan indeholde kommandoer til vis almindelige ikoner på skrivebordet såsom Denne pc, Netværk, Papirkurv, Kontrolpanel eller brugermappen, samt at tilpasse Stifinder efter din smag (for eksempel ved altid at aktivere kendte filtypenavne). Mange af disse tilpasninger anvendes ved hjælp af yderligere scripts og kan tage et par minutter, før de bliver synlige efter den første login.
Overvindelse af Windows 11 hardwarekrav og begrænsninger
Officielt kræver Windows 11 relativt nyere processorer, TPM 2.0, sikker opstart, 4 GB RAM, minimum lagerplads og en DirectX 12-kompatibel GPUDisse restriktioner udelukker mange computere, der stadig er fuldt ud i stand til at udføre kontor- eller laboratorieopgaver, men som ikke opdateres på grund af alt for strenge kontroller.
Selvom Microsoft ikke promoverer det, findes der metoder dokumenteret af fællesskabet til Indsæt nøglerne, der deaktiverer TPM, sikker opstart eller kontrol af minimumhukommelse, i autounattent.xmlDette gør det muligt for installationen at fortsætte uden at sidde fast på kravskærmen, selv på ikke-understøttet hardware. Dette er en meget nyttig funktion til testmiljøer, ældre maskiner eller træningslaboratorier.
Det er dog vigtigt at være opmærksom på, at Microsoft selv har advaret om, at enheder, der omgår kravene, vil blive påvirket. De kan muligvis stoppe med at modtage opdateringer via Windows Updateisær dem, der er relateret til sikkerhed. Desuden kan manglen på kompatibel hardware udløse problemer: drivere, der ikke fungerer korrekt, hyppigere blå skærme (BSOD'er) på maskiner med lidt RAM, inkompatibilitet med virtualiseringssoftware eller betydelige ydelsesfald i nogle spil.
Der er også en nysgerrig genvej, som deles af fællesskabet, der giver dig mulighed for at starte Windows 11-installationsprogrammet fra en eksisterende Windows-session ved hjælp af kommandoen setup /product server i et kommandopromptvindue med administratorrettigheder. Dette tvinger installationsprogrammet til at vælge en opgraderingssti, der ligner den for serverversioner, hvor hardwarekravene kontrolleres anderledes eller lempes.
Brug af disse tricks i et produktionsmiljø har sine risici: du kan ende med et system, der mangler fuldt stabile drivere eller langsigtede sikkerhedsrettelser. For mange hjemmebrugere kan det være bedre at holde sig til Windows 10, som stadig understøttes indtil 2025, i stedet for... Tvinger Windows 11 på meget gamle maskinerMen for laboratorier, test eller udstyr, der allerede var ude af drift, åbner disse løsninger en interessant dør.
Opret og tilpas autounattend.xml til dit miljø

Det kan være besværligt at bygge en autounattend.xml-fil fra bunden, men der findes onlineværktøjer og dedikerede hjælpeprogrammer, der forenkler processen. En af de mest bekvemme er en webbaseret generator, der kan Opret skabeloner til uovervåget brug til Windows 10 og 11, hvor du vælger muligheder via formularer og ikke behøver at kæmpe med XML-syntaks.
Med denne type generator kan du indlæse en forudforberedt eksempelfil, klikke på "Vælg fil" For at importere den skal du derefter gennemgå de konfigurerede præferencer sektion for sektion: sprog, partitioner, konti, privatlivsindstillinger, Windows Update-funktionsmåde, funktionsaktivering eller -deaktivering osv. Hvis noget ikke passer til dit miljø, tilpasser du det, og når du er færdig, downloader du det igen. brugerdefineret autounattend.xml.
Arkivet indeholder sektioner som f.eks. Kør brugerdefinerede scriptsDette afsnit definerer de yderligere kommandoer og scripts, der vil blive udført efter installationen, både på system- og brugerniveau. Her kan du linke PowerShell-scripts, .cmd- eller .bat-filer, der anvender optimeringer, renser bloatware, ændrer registreringsindstillinger eller Implementer din organisations egen software.
Det uovervågede anlæg styrer også partitioneringsskema af hoveddisken. For eksempel kan du angive, at alt indhold på drevet skal slettes, og at der oprettes en GPT-partitionstabel med en 300 MB EFI-partition til opstart og en 1000 MB gendannelsespartition, der indeholder Windows RE. Den resterende plads allokeres til systempartitionen, hvilket undgår overraskelser med resterende partitioner fra tidligere installationer.
Når du har autounattend.xml-filen klar, er der to typiske måder at bruge den på: kopier den til roden af et installations-USB-drev (sammen med setup.exe) eller modificer selve ISO-filen med et værktøj som f.eks. AnyBurnHvis du tilføjer filen tilbage til rodmappen på billedet, sikrer du, at alle medier, der oprettes fra den ISO, kører Windows 11 med den automatiserede konfiguration allerede inkluderet.
Konfigurer brugerdefinerede scripts og dybe indstillinger med WinScript
Selvom Unattend/autounattend giver dig mulighed for at automatisere en stor del af installationen, vil du nogle gange gå længere og at ændre den interne konfiguration af Windows 10 og 11 grundigt uden at skulle redigere registreringsdatabasen manuelt eller oprette tonsvis af scripts fra bunden. Det er her, et meget interessant open source-værktøj kommer ind i billedet kaldet WinScript.
WinScript præsenteres som et gratis program, der er tilgængeligt i både installerbare og bærbare versioner. Det efterligner Windows 11-indstillingernes brugerflade. Den tilbyder forskellige kategorier af indstillinger i et sidepanel: privatliv, telemetri, ydeevne, spil, forudinstallerede applikationer osv. På højre side finder du de specifikke muligheder for hver kategori, hver med en tænd/sluk-knap.
Når du aktiverer eller deaktiverer disse knapper, vil WinScript automatisk generering af et script Det er et internt system, der registrerer alle disse ændringer. Der er ingen foruddefinerede profiler, hvilket tvinger dig til omhyggeligt at gennemgå hver kategori for at opbygge din egen ideelle Windows-"opskrift". Fordelen er, at du ikke behøver dybdegående viden om scripting: hver indstilling indeholder en kort beskrivelse, der forklarer præcis, hvad den gør.
Når du er færdig med at konfigurere dine indstillinger, kan du gemme programmet med det resulterende script i en USB-drevPå denne måde kan du blot starte WinScript på enhver nyinstalleret computer for at anvende dine ændringer på én gang: afinstallere bloatware, deaktiver overflødige tjenester, juster telemetripolitikker, optimer ydeevnen og meget mere.
Før man foretager aggressive ændringer, er det altid tilrådeligt at udnytte WinScripts indbyggede funktion til at oprette et systemgendannelsespunktPå denne måde kan du hurtigt vende tilbage til den tidligere tilstand uden at skulle omformatere eller gendanne hele systembilledet, hvis en tilpasning ødelægger noget, eller du ikke er tilfreds med det.
Automatiser PowerShell-scripts med Configuration Manager
I virksomhedsmiljøer, hvor teams allerede har klienten hos konfigurationsmanager (nuværende gren), integrationen med PowerShell-scripts er en sand livredder. Denne funktion giver dig mulighed for at oprette, godkende og køre scripts på tværs af hele samlinger af Windows-enheder med centraliseret sporing og konsoliderede resultater.
For at bruge denne funktion skal kunderne have PowerShell 3.0 eller nyere (eller den version, der kræves af det specifikke script) og en Configuration Manager-klient med mindst version 1706. Derudover skal visse tilladelseskrav være opfyldt: den person, der opretter scriptsene, skal oprette tilladelser på "SMS-scripts", den person, der godkender dem, skal have godkendelsestilladelser, og den person, der kører dem, skal have tilladelsen "Kør script" på samlinger.
Konsollen skelner tydeligt mellem forfattere, godkendere og eksekutorer af manuskripterSom standard bør en enkelt bruger ikke kunne oprette og godkende sine egne scripts, hvilket tilføjer et vigtigt sikkerhedslag til processen. Denne dobbelte godkendelse kan deaktiveres til testformål i laboratorier, men det anbefales at opretholde rolleadskillelse i produktionsmiljøer.
Sikkerhedsmiljøer bruges til begrænse, hvem der kan se og bruge bestemte scriptsVed at tildele brugerdefinerede etiketter og roller kan du f.eks. oprette en rolle som "Script-eksekutorer" med kun læse- og udførelsestilladelser på samlinger og scripts, en rolle som "Forfattere" med muligheden for at oprette, ændre og slette scripts, men uden at udføre dem, og en tredje rolle som "Godkendere", der udelukkende er ansvarlig for gennemgang og godkendelse.
Det er relativt ligetil at oprette scripts fra konsollen: vælg et beskrivende navn, angiv PowerShell som sprog, importer din forberedte ps1-fil eller skriv den direkte dertil, og konfigurer parametre om nødvendigt. Scriptet har derefter en tilstand... "Afventer godkendelse" indtil en godkender gennemgår den og markerer den som "Godkendt". Først derefter kan den implementeres på enheder eller samlinger.
Parametre, validering og planlagt scriptudførelse
En af styrkerne ved Configuration Managers funktion "Kør scripts" er dens evne til at administrere typede og validerede parametreDu kan definere inputvariabler af typen streng, heltal eller lister af værdier, op til maksimalt ti parametre pr. script, hvilket giver stor fleksibilitet uden at komplicere brugerfladen overdrevent.
Hver parameter har sin egen egenskabsboks, hvor du kan indstille minimums- og maksimumslængde, regulære udtryk og brugerdefinerede fejlmeddelelserFor eksempel kan du for strengparameteren "FirstName" kræve mellem 2 og 30 tegn og forbyde inkludering af specifikke store bogstaver ved hjælp af et RegEx som f.eks. Hvis operatoren indtaster en værdi, der ikke opfylder disse betingelser, viser systemet den fejlmeddelelse, du har defineret.
Standardparameterværdierne hentes fra selve PowerShell-scriptet, men Configuration Manager ændrer eller overskriver dem ikke; den gør det blot Den viser dem i brugerfladen som et forslagHvis du har brug for at ændre den faktiske standardværdi, skal du redigere scriptet direkte, ikke parameterdefinitionen i konsollen.
Når det er tid til at køre et script, kan du gøre det igen en enkelt enhed eller en komplet samlingSystemet starter kommandoen som en højprioritetshandling, der typisk fuldføres på under en time. Resultaterne returneres via statusmeddelelser, herunder en exit-kode (normalt 0 for succes) og scriptets standardoutput i JSON- eller almindelig tekstformat.
I nyere versioner er det muligt at planlægge udførelse til en bestemt dato og et bestemt tidspunkt, altid i UTC-formatDette er meget nyttigt, hvis du vil synkronisere globale implementeringer eller undgå at starte dem i spidsbelastningsperioder. Scriptsene kører under enhedens lokale systemkonto, som har begrænset netværksadgang, så ethvert behov for at nå eksterne ressourcer skal håndteres omhyggeligt (f.eks. ved at bruge administrerede legitimationsoplysninger eller passende distributionspunkter).
Overvågning, JSON-output og diagnostisk logføring
For at undgå at gå ind i blinde, indeholder Configuration Manager et panel af overvågning af status for scriptsI afsnittet "Scriptstatus" kan du næsten i realtid tjekke, hvor mange enheder der modtog kommandoen, hvor mange der udførte scriptet, hvor mange der mislykkedes, eller hvor mange der var offline på det tidspunkt.
Desuden, da Visningen "Planlagte scripts" Du kan spore de udførelser, du har planlagt. Hver post viser klienthandlings-ID'et, det planlagte tidspunkt, den aktuelle status (f.eks. "Planlagt" eller "Klienthandling startet") og andre nyttige metadata. Efter udførelse afspejles resultaterne også i scriptstatusnoden, der refereres til af det samme ID.
Outputtet fra scripts returneres fortrinsvis i JSONved hjælp af cmdlet'en ConvertTo-Json at serialisere de genererede objekter. Dette gør det muligt for konsollen at vise en struktureret repræsentation af outputtet, der er meget nemmere at læse og analysere end en simpel tekstmur. Hvis scriptet ikke returnerer objekter, eller outputtet ikke er gyldigt JSON, vises det i almindeligt tekstformat.
Det er bedst at undgå for store output: systemet afkorter resultaterne til 4 KBDerfor risikerer scripts, der returnerer mange oplysninger, at vigtige data udelades. Det er også tilrådeligt manuelt at konvertere visse specialtyper, såsom optællinger, til strenge, så den resulterende JSON er ren og let at fortolke.
I tilfælde af problemer er der flere logfiler, der er værd at kende til. På selve klienten, i C:\Windows\CCM\Logfiler, skille sig ud Scripts.log y CcmMessaging.logAdministrationsmodulet indeholder MP_RelayMsgMgr.log og på webstedsserveren, normalt under C:\Programmer\Konfigurationshåndtering\Logfiler, filen SMS_Message_Processing_Engine.logDisse logfiler er det første obligatoriske stop, når noget går galt med udførelsen eller rapporteringen af scripts.
Hele dette økosystem af scripts, uovervågede svarfiler og centraliserede administrationsværktøjer giver mulighed for at bygge stærkt automatiserede Windows 11 installationsarbejdsgangeFra at springe OOBE og hardwarekontroller over til at starte Sysprep, køre PSWindowsUpdate-scripts for at installere drivere fra Windows Update, genstarte flere gange og returnere computeren til den brugerklare OOBE, kan stort set ethvert gentagende scenarie indkapsles i et sæt veldesignede filer og et par bedste fremgangsmåder.
- Automatiser Windows 11 Dette involverer at kombinere Unattend/autounattend.xml-filer med scripts som SetupComplete.cmd og ErrorHandler.cmd.
- Installationer Uovervåget giver dig mulighed for at springe OOBE overKonfigurer sprog, konti og privatliv, og overvind endda TPM- og Secure Boot-krav.
- Værktøjer som WinScript og konfigurationshåndtering De letter oprettelse, godkendelse og kørsel af PowerShell-scripts med parametre og centraliseret sporing.
- Omhyggeligt script- og logdesign sikrer mere pålidelige masseimplementeringer, med mindre manuel indgriben og bedre diagnostiske muligheder.