FirstLogonCommands hanya berfungsi pada arsitektur 32bit

0

Saya punya 2 instalasi Windows yang identik, pengaturan yang sama, program yang sama. Satu-satunya perbedaan adalah bahwa arsitektur Windows berbeda, satu 32bit dan yang lain 64bit.

Ketika sysprepped instalasi 32bit saya dengan file jawaban berikut:

<?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>

Saat ini hanya tentang FirstLogonCommandsbagian, yang benar-benar berfungsi dengan baik setelah sysprep 32bit. Perintah dijalankan tanpa kesalahan dan mengembalikan hasil yang diinginkan.

Ketika telah menyesuaikan file jawaban untuk instalasi 64bit saya, sepertinya ini:

<?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>

Satu-satunya hal yang dibalik adalah passparameter settingskunci. Ketika saya mencoba file jawaban ini di sysprep instalasi 64bit, FirstLogonCommandstidak berjalan. Sisa file jawaban berfungsi dengan baik, sama seperti versi 32bit.

Kedua file jawaban divalidasi oleh WSIM.

Saya mencoba menyalin garis dari <CommandLine>kunci ke CMD (dengan atau tanpa hak administrator) dan menjalankan ini. Saat ini berjalan, perintahnya hanya berjalan tanpa ada kesalahan.

Masalahnya adalah bahwa skrip tidak berjalan pada sysprep instalasi 64bit saya.

Bagaimana ini bisa terjadi dan bagaimana saya bisa membuat skrip ini dijalankan dengan menggunakan file jawaban ini?

Bas
sumber
@ LPChip Ini benar-benar membingungkan saya. Ini memang folder di mana saya dapat menemukan PowerShell dll. Tapi bagaimana perintah itu bekerja dalam cmd biasa?
Bas
Nevermind tentang apa yang saya tulis sebelumnya. Syswow64 adalah versi x86 dari folder system32.
LPChip
Saya melihat sesuatu yang dapat menyebabkan ini, dan itulah ProfilesDirectory. Berbeda
LPChip
Itu salahku! Ini ProfilesDirectorydiatur ke U: \ Pengguna yang berfungsi dengan baik pada versi 32bit juga.
Bas
@ LPChip Ya, saya mengubahnya sekarang. Tetapi bagaimana hal seperti ini bisa terjadi, jika perintah itu hanya bekerja dalam cmd biasa?
Bas