Как установить Windows Меню Пуск через PowerShell для текущего пользователя на Windows 10 - PullRequest
2 голосов
/ 09 марта 2020

Поскольку в последнее время мне приходилось слишком часто настраивать ПК Windows (и, вероятно, в следующий раз), я работаю над тем, чтобы автоматизировать этот процесс настолько, насколько это возможно (даже если он все же выиграл) не стоит вовремя).

В настоящее время я пытаюсь стереть все элементы из начального макета. Я видел этот пост , но там говорится он только распаковывает установленные приложения (некоторые вещи все еще будут там после выполнения скрипта, как Windows Store).

Вместо этого я подумал, что будет проще сказать Windows «Эй, как насчет использования этого пустого макета», чтобы удалить все. Я следовал этим обоим учебникам 1 , 2 .

Я экспортировал свой текущий (пустой) стартовый макет через PowerShell:

Export-StartLayout -UseDesktopApplicationID -Path "C:\CustomStartLayout.xml"

Это выглядит как это:

<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
    <LayoutOptions StartTileGroupCellWidth="6" />
    <DefaultLayoutOverride>
        <StartLayoutCollection>
            <defaultlayout:StartLayout GroupCellWidth="6" />
        </StartLayoutCollection>
    </DefaultLayoutOverride>
</LayoutModificationTemplate>

Затем я создал записи реестра, поскольку они есть в обоих руководствах:

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer"
New-ItemProperty -Force -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name LockedStartLayout -PropertyType DWord -Value 0
New-ItemProperty -Force -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name StartLayoutFile -PropertyType ExpandString -Value "C:\CustomStartLayout.xml"

В нем говорится, что изменения должны вступить в силу после перезапуска Windows, но они нет. Я уже проверил, находятся ли разделы реестра в реестре с правильными значениями по правильному пути и что файл xml находится по правильному пути.

Я что-то упустил? Или есть другой подход? Важно, чтобы мне просто нужно было выполнить скрипт в конце, и мне не нужно ничего мешать вручную. Ручные шаги должны быть только начальными (например, написание этого скрипта или создание стандартного файла макета, который позже будет загружен в).

1 Ответ

0 голосов
/ 09 марта 2020

Итак, я провел небольшое исследование. По-видимому, что-то особенное в том, чтобы применять начальный макет к пользователю, который в данный момент вошел в систему (поскольку это не требуется часто и применяется только к одному пользователю).

Приведенное выше решение в моем вопросе работает только для пользователей который еще не входил в систему на этом компьютере - ни разу ( Я не проверял его с новым созданным пользователем. Я просто знаю, что мой P C не взорвался после выполнения этих команд) .

Из этого поста и этого поста Теперь я знаю, что стандартная конфигурация стартового макета лежит по адресу:

C:\Users\%username%\AppData\Local\Microsoft\Windows\Shell\DefaultLayout.xml

А также что это не должно быть изменено. Для изменений используйте следующий файл (если его еще нет, просто создайте его):

C:\Users\%username%\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml

Но этот файл вступит в силу только после удаления указанного элемента реестра c. Вот как вы делаете это в PowerShell:

Remove-Item -Force -Recurse -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\CloudStore\Store"

Конечно, P C должен быть перезапущен впоследствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...