Сценарии PowerShell в Windows, файл ответов для автоматической установки XML
Итак, у меня есть файл ответов для автоматической установки Windows 10. У меня есть части, где он пропускает экраны OOBE, включает учетную запись администратора и копирует профиль. Я пытаюсь настроить файл ответов для запуска сценария PowerShell для импорта меню "Пуск" из XML-файла, который я сделал из экспорта меню "Пуск". Файл находится на диске C образа, и путь проверен.
Однако, когда я добавляю эту команду Powershell в файл ответов и запускаю sysprep и перезагружаюсь, я при установке Windows получаю следующую ошибку: "Windows не удалось разобрать или обработать файл ответов автоматической установки C:\Windows\Panther\unattend.xml для передачи [ специализироваться]. Компонент или настройка, указанные в файле ответов, не существуют. '
Вот проблемный файл unattend.xml:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<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">
<AutoLogon>
<Password>
<Value>P@ssword</Value>
<PlainText>true</PlainText>
</Password>
<Username>Administrator</Username>
<Enabled>true</Enabled>
<LogonCount>5</LogonCount>
</AutoLogon>
<StartTiles>
<PromoteOEMTiles>false</PromoteOEMTiles>
</StartTiles>
<WindowsFeatures>
<ShowInternetExplorer>true</ShowInternetExplorer>
<ShowMediaCenter>false</ShowMediaCenter>
<ShowWindowsMail>false</ShowWindowsMail>
<ShowWindowsMediaPlayer>true</ShowWindowsMediaPlayer>
</WindowsFeatures>
<CopyProfile>true</CopyProfile>
<DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
</component>
<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">
<FirstLogonCommands>
<RunSynchronousCommand wcm:action="add">
<Description>Set Powershell Execution Policy to Unrestricted</Description>
<Path>powershell.exe Set-ExecutionPolicy Unrestricted -force</Path>
<Order>3</Order>
</RunSynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>4</Order>
<CommandLine>powershell.exe Import-StartLayout –LayoutPath C:\Installs\StartMenu.xml –MountPath $env:SystemDrive\</CommandLine>
<Description>Start Menu</Description>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
<settings pass="oobeSystem">
<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">
<OOBE>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<HideEULAPage>true</HideEULAPage>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
<SkipMachineOOBE>true</SkipMachineOOBE>
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>P@ssword</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/users/tester/desktop/win10/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Вот мой последний хороший, работающий unattend.xml:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<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">
<WindowsFeatures>
<ShowWindowsMail>false</ShowWindowsMail>
<ShowInternetExplorer>true</ShowInternetExplorer>
</WindowsFeatures>
<CopyProfile>true</CopyProfile>
<DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
<AutoLogon>
<Password>
<Value>Password123!</Value>
<PlainText>true</PlainText>
</Password>
<Username>Administrator</Username>
<Enabled>true</Enabled>
<LogonCount>5</LogonCount>
</AutoLogon>
<UserAccounts>
<AdministratorPassword>
<Value>Password123!</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
</settings>
<settings pass="oobeSystem">
<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">
<OOBE>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<SkipMachineOOBE>true</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
</OOBE>
<WindowsFeatures>
<ShowInternetExplorer>true</ShowInternetExplorer>
<ShowWindowsMail>false</ShowWindowsMail>
<ShowWindowsMediaPlayer>true</ShowWindowsMediaPlayer>
</WindowsFeatures>
<BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
<UserAccounts>
<AdministratorPassword>
<Value>Password123</Value>
<PlainText>Password123</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/users/tester/desktop/win10/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
У меня есть команды PowerShell, установленные в файле ответов с тегом.
Также вот журналы, которые я извлек из C: \ Windows \ Panther после Sysprep...
2018-07-23 10:38:29, Error [setup.exe] SMI data results dump: Source = Name: Microsoft-Windows-Deployment, Language: neutral, ProcessorArchitecture: amd64, PublicKeyToken: 31bf3856ad364e35, VersionScope: nonSxS, /settings/FirstLogonCommands
2018-07-23 10:38:29, Error [setup.exe] SMI data results dump: Description = Setting is not defined in this component.
2018-07-23 10:38:29, Error [0x060432] IBS The provided unattend file is not valid; hrResult = 0x80220001
2018-07-23 10:38:29, Error [0x060565] IBS Callback_Unattend_InitEngine:The provided unattend file [C:\Windows\Panther\unattend.xml] is not a valid unattended Setup answer file; hr = 0x1, hrSearched = 0x1, hrDeserialized = 0x0, hrImplicitCtx = 0x0, hrValidated = 0x1, hrResult = 0x80220001
2018-07-23 10:38:29, Error [0x0600c2] IBS Callback_Unattend_InitEngine:An error occurred while finding/loading the unattend file; hr = 0x1, hrResult = 0x80220001[gle=0x00000490]
1 ответ
2018-07-23 10:38:29, Error [setup.exe] SMI data results dump: Source = Name: Microsoft-Windows-Deployment, Language: neutral, ProcessorArchitecture: amd64, PublicKeyToken: 31bf3856ad364e35, VersionScope: nonSxS, /settings/FirstLogonCommands
2018-07-23 10:38:29, Error [setup.exe] SMI data results dump: Description = Setting is not defined in this component.
Настройка Windows указывает, что вы поставили " FirstLogonCommands
msgstr "заблокировать неверный проход в файле unnattend.
Вы используете две разные структуры для запуска команды. Вы используете "RunSynchronousCommand" и "SynchronousCommand".
Во-первых, вы должны использовать Windows System Image Manager для создания файлов автоматической установки. Это обеспечит правильное форматирование.
Проблема здесь в том, что вы используете блок " RunSynchronousCommand ", который работает во время прохода specialize или audUser. Предполагается, что он содержится в блоке "RunSynchronous".
Вы вставили блок " SynchronousCommand ", который запускается во время прохода oobeSystem после первого входа пользователя в систему. Но вы положили его в специализированном проходе.
Блок RunSynchronousCommand должен содержаться в блоке "RunSynchronous" и находиться на этапе "Specialize" или "audUser". Блок SynchronousCommand может находиться только в проходе oobeSystem. Объяснение проходов настройки установки Windows и их запуска см. Здесь: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-configuration-passes
Вам нужно принять решение, когда вы хотите, чтобы эти команды выполнялись, а затем правильно отформатировать файл автоматической установки, разместив команды в соответствующих местах. Опять же, диспетчер образов Windows не проверил этот файл.
Скорее всего, вы хотите использовать только "SynchronousCommand" во время прохода oobeSystem. Однако следует помнить, что Windows 10 не выполняет эти команды синхронно. Windows НЕ будет ждать завершения этих команд, прежде чем войти в систему пользователя, в отличие от того, что Microsoft указала в документации. Это новое для Windows 10.