Самые заметные изменения, которые появились в Windows 11, касаются графического интерфейса. Например панель задач (taskbar) был перемещен в центр экрана. Многие подобные элементы интерфейса можно изменить через обычные настройки ОС. В этой статье будет рассмотрено как это можно сделать через Powershell и удаленно.
Для подобных изменений был выпущен модуль, который доступен в основном репозитории Powershell - PSGallery. Модуль, который нам нужен, называется 'CustomizeWindows11'.
Установка модуля
Для установки модуля нужно открыть консоль 'Windows Terminal', который предустановлен в Windows 11. Сама установка выполняется следующей командой:
Install-Module CustomizeWindows11
Вы можете использовать ключ '-Force' что бы не выводить сообщения показанные выше либо согласиться с ними отдельно. Первый вопрос связан с обновлением репозитория (PSGallery и Nuget связаны). Второй вопрос говорит, что вы не пометили этот репозиторий как надежный.
После установки модуля вам нужно разрешить выполнение скриптов загруженных через репозиторий:
Set-ExecutionPolicy RemoteSigned
Дополнительно можно выполнить импорт, но это должно происходить автоматически:
Import-Module CustomizeWindows11
То что модуль был установлен успешно и у нас стали доступны команды можно проверить следующим образом:
Get-Command -Module CustomizeWindows11
Что делает та или иная команда
Учитывая, что команда может быть не рассмотрена в статье, вы можете рассмотреть ее применение лично. Для этого используйте 'Get-Help' и название команды. Например так я узнаю для чего нужна команда 'Get-ExplorerServerAdminUI':
Get-Help Get-ExplorerServerAdminUI
У автора есть репозиторий на GitHub, но без подробной документации. Вы можете воспользоваться им если найдете какую-то неисправность и не знаете как решить ее.
Логика команд
В модуле, в основном, есть два типа команд:
- Get - получаем информацию;
- Set - изменяем.
В основном только у 'Set' команд есть параметры следующего типа: 'Enable' (включить) и 'Disable' (отключить).
Изменение панели задач
Выведем все команды, которые связаны с taskbar:
Get-Command -Noun '*Taskbar*' -Module 'CustomizeWindows11'
- Set-TaskbarAdditionalCalendar
- Set-TaskbarAnimations
- Set-TaskbarAutoHideInTabletMode
- Set-TaskbarInCenter
- Set-TaskbarLock
- Set-TaskbarShowChatIcon
- Set-TaskbarShowCortanaButton
- Set-TaskbarShowOnMultiMonitor
- Set-TaskbarShowStoreApps
- Set-TaskbarShowTaskViewButton
- Set-TaskbarShowWidgetIcon
- Set-TaskbarSize
- Set-TaskbarSmallIcon
Изменим расположение панели и переместим ее влево:
Set-TaskbarInCenter -Disable
Что бы вернуть обратно - поменяйте параметр на 'Enable':
Set-TaskbarInCenter -Enable
Изменение проводника
Изменить проводник можно следующими командами:
Get-Command -Noun '*Expl*' -Module 'CustomizeWindows11'
- Set-ExplorerCheckboxFileSelection
- Set-ExplorerHideFileExtension
- Set-ExplorerLaunchInSeparateProcess
- Set-ExplorerNavExpandToCurrentFolder
- Set-ExplorerNavShowAllFolder
- Set-ExplorerNavShowAvailabilityStatus
- Set-ExplorerNavShowLibrary
- Set-ExplorerPrettyPath
- Set-ExplorerServerAdminUI
- Set-ExplorerShowCompressedFilesColor
- Set-ExplorerShowHidde
- Set-ExplorerShowIconsOnly
- Set-ExplorerShowInfoTip
- Set-ExplorerShowMapNetworkDriveButton
- Set-ExplorerShowStatusBar
- Set-ExplorerShowSuperHidden
- Set-ExplorerShowTypeOverlay
- Set-ExplorerSnapAssistFlyout
Например включим показ расширений у файлов:
Set-ExplorerHideFileExtension
Или отключим показ скрытых файлов:
Set-ExplorerShowHidden -Disable
Как выполнять команды удаленно
У вас может быть потребность изменить интерфейс на множестве компьютерах. Модуль не использует PSRemoting (нет параметра 'ComputerName'), что отменяет возможность удаленного подключения самым простым способом. Тем не менее остается множество других способов, таких как: предустановка модуля на удаленных ПК, политики AD, проброс модуля (описано в предыдущих статьях) и т.д.
В вашем AD может не быть нужной политики, но ее можно создать через работу с реестром напрямую. К тому же сам модуль выводит нужные ветки. Использовать реестр является самым простым способом изменить интерфейс на множестве компьютерах в нашем случае.
Ветки реестра выводятся при каждом использовании команд:
Set-TaskbarInCenter -Enable
Что бы изменить реестр и получить изменения аналогичные предыдущей команде нужно использовать 'Set-ItemProperty':
Set-ItemProperty `
-Path 'Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' `
-Name 'TaskbarAl' `
-Value '0'
Эту ветку реестра можно использовать и для политик AD.
Ниже пример того, как использовать команду 'Invoke-Command' для удаленного редактирования реестра (у вас должен быть настроен WinRM):
Invoke-Command -ComputerName '192.168.2.126' -Credential $cred -ScriptBlock {
Set-ItemProperty `
-Path 'Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' `
-Name 'TaskbarAl' `
-Value '0'
}
...
Подписывайтесь на наш Telegram канал
Теги: #powershell