Tôi đã có 2 bản cài đặt Windows giống hệt nhau, cùng cài đặt, cùng một chương trình. Sự khác biệt duy nhất là kiến trúc Windows khác nhau, một cái là 32 bit và cái kia là 64 bit.
Khi đã sysprepping cài đặt 32 bit của tôi với tệp trả lời sau:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FolderLocations>
<ProfilesDirectory>U:\Users</ProfilesDirectory>
</FolderLocations>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -ExecutionPolicy Bypass -File C:\Windows\System32\Scripts\PinTaskbarItems\Managetaskbar\Taskband.ps1</CommandLine>
<Description>Sets the pinned taskbar items and restarts the explorer process</Description>
<Order>1</Order>
<RequiresUserInput>false</RequiresUserInput>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DesktopOptimization>
<ShowWindowsStoreAppsOnTaskbar>false</ShowWindowsStoreAppsOnTaskbar>
</DesktopOptimization>
<CopyProfile>true</CopyProfile>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<EnableStartMenu>true</EnableStartMenu>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/users/bas/desktop/iso's/x32/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Hiện tại nó chỉ là về FirstLogonCommands
phần, hoàn toàn hoạt động tốt sau sysprep 32 bit. Lệnh chạy mà không có bất kỳ lỗi nào và trả lại kết quả mong muốn.
Khi đã điều chỉnh tệp trả lời cho cài đặt 64 bit của tôi, nó trông như thế này:
<?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">
<DesktopOptimization>
<ShowWindowsStoreAppsOnTaskbar>false</ShowWindowsStoreAppsOnTaskbar>
</DesktopOptimization>
<CopyProfile>true</CopyProfile>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<EnableStartMenu>true</EnableStartMenu>
</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">
<FolderLocations>
<ProfilesDirectory>U:\Users</ProfilesDirectory>
</FolderLocations>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -ExecutionPolicy Bypass -File C:\Windows\System32\Scripts\PinTaskbarItems\Managetaskbar\Taskband.ps1</CommandLine>
<Description>Sets the pinned taskbar items and restarts the explorer process</Description>
<Order>1</Order>
<RequiresUserInput>false</RequiresUserInput>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:e:/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Điều duy nhất đảo ngược là pass
tham số của settings
khóa. Khi tôi thử tập tin trả lời này trên sysprep cài đặt 64 bit, FirstLogonCommands
nó không chạy. Phần còn lại của tệp trả lời hoạt động hoàn hảo, giống như phiên bản 32 bit.
Cả hai tệp trả lời đều được xác nhận bởi WSIM.
Tôi đã thử sao chép dòng từ <CommandLine>
khóa vào một CMD (có hoặc không có quyền riêng tư của quản trị viên) và chạy nó. Khi chạy, lệnh chỉ chạy mà không có lỗi.
Vấn đề là tập lệnh không chạy trên sysprep cài đặt 64 bit của tôi.
Làm thế nào điều này đến và làm thế nào tôi có thể làm cho kịch bản này chạy bằng cách sử dụng tệp trả lời này?
ProfilesDirectory
được thiết lập để U: \ Users đó hoạt động tốt trên phiên bản 32bit là tốt.