Windows7 по-прежнему требует ключ продукта, когда ProductKey определен в файле автоматической установки

639
NeilWang

Я пытаюсь создать образ системы с помощью Sysprep с файлом автоматической установки.

Основная цель состоит в том, чтобы позволить конечным пользователям выбрать свое собственное имя пользователя и имя компьютера, но запретить им вводить ключ продукта и активировать его вручную.

Вот мой unattend.xml

<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="generalize"> <component name="Microsoft-Windows-Security-Licensing-SLC" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SkipRearm>1</SkipRearm> </component> </settings> <settings pass="specialize"> <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RunSynchronous> <RunSynchronousCommand wcm:action="add"> <Path>net user administrator /active:yes</Path> <Order>1</Order> </RunSynchronousCommand> </RunSynchronous> </component> <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SkipAutoActivation>false</SkipAutoActivation> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>en-US</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ShowWindowsLive>false</ShowWindowsLive> <TimeZone>New Zealand Standard Time</TimeZone> <ProductKey>AAAA-BBBB-CCCC-DDDD-EEEE</ProductKey> <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <RequiresUserInput>false</RequiresUserInput> <CommandLine>cscript //b c:\windows\system32\slmgr.vbs /ato</CommandLine> <Order>1</Order> </SynchronousCommand> </FirstLogonCommands> <OOBE> <HideEULAPage>true</HideEULAPage> <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> <NetworkLocation>Home</NetworkLocation> <ProtectYourPC>1</ProtectYourPC> <SkipMachineOOBE>false</SkipMachineOOBE> <SkipUserOOBE>false</SkipUserOOBE> </OOBE> </component> </settings> </unattend> 

И команда sysprep, которую я дал:

sysprep /generalize /oobe /quit /unattend:unattend.xml 

Однако после того, как я восстановил образ на компьютере, он все равно запрашивает у меня ключ продукта. Что не так с моим XML-файлом?


Обновить

Этот установочный диск не требует ключ продукта во время установки. Я думаю, что это причина, почему <ProductKey>линия не будет работать. Но мне все еще нужен ключ, предварительно установленный без взаимодействия с пользователем. Как этого добиться? Благодарю.

0

1 ответ на вопрос

0
daidai

Насколько я понимаю, добавьте компонент Windows-Shell-Setup на этап специализации и установите ключ продукта. Если вы хотите, чтобы автоматическая активация выполнялась, то вы можете попробовать запустить SynchronizedCommand в специализированном проходе, что бы сделать: cscript slmgr.vbs / ipk / atoi

или просто

cscript slmgr.vbs / atoi

Работа с ключами продукта и активацией | Документы Microsoft

Также вы можете проверить ссылку ниже, если это полезно.

Windows 10 sysprep - как пропустить ввод ключа продукта - введите имя хоста | Супер пользователь

Это не то, что я хочу. Я уже включил "SynchronousCommand" в мой скрипт. NeilWang 6 лет назад 0