FirstLogonCommands chỉ hoạt động trên kiến ​​trúc 32 bit


0

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&apos;s/x32/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Hiện tại nó chỉ là về FirstLogonCommandsphầ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à passtham số của settingskhóa. Khi tôi thử tập tin trả lời này trên sysprep cài đặt 64 bit, FirstLogonCommandsnó 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?


@LPChip Điều này hoàn toàn làm tôi bối rối. Nó thực sự là một thư mục nơi tôi có thể tìm thấy một powershell, v.v ... Nhưng làm thế nào để lệnh có thể hoạt động trong một cmd thông thường?
Bas

Đừng bận tâm về những gì tôi đã viết trước đó. Syswow64 là phiên bản x86 của thư mục system32.
LPChip

Tôi thấy một cái gì đó có thể gây ra điều này, và đó là ProfilesDirectory. Khác biệt của nó
LPChip

Đó là xấu của tôi! Các ProfilesDirectoryđược thiết lập để U: \ Users đó hoạt động tốt trên phiên bản 32bit là tốt.
Bas

@LPChip Vâng, tôi đã thay đổi ngay bây giờ. Nhưng làm thế nào điều này có thể xảy ra, nếu lệnh chỉ hoạt động trong một cmd thông thường?
Bas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.