Add-Type -AssemblyName "PresentationCore", "PresentationFramework", "WindowsBase" [xml]$xamlMarkup = @' '@ $xamlGui = [System.Windows.Markup.XamlReader]::Load((New-Object System.Xml.XmlNodeReader $xamlMarkup)) $xamlMarkup.SelectNodes('//*[@Name]') | ForEach-Object { New-Variable -Name $_.Name -Value $xamlGui.FindName($_.Name) } #region Script Functions function Hide-Console { <# .SYNOPSIS Hide Powershell console before show WPF GUI. #> [CmdletBinding()] param () Add-Type -Name Window -Namespace Console -MemberDefinition ' [DllImport("Kernel32.dll")] public static extern IntPtr GetConsoleWindow(); [DllImport("user32.dll")] public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow); ' [Console.Window]::ShowWindow([Console.Window]::GetConsoleWindow(), 0) } function Set-Language { <# .SYNOPSIS Change Language in GUI. #> [CmdletBinding()] param () begin { #region Privacy $Privacy = "Отключить службу "Функциональные возможности для подключенных пользователей и телеметрия"", "Отключить пользовательские службы", "Отключить сборщик AutoLogger при следующем запуске ПК", "Отключить сборщик SQMLogger при следующем запуске ПК", "Установить уровень отправляемых диагностических сведений на "Базовый"", "Отключить отчеты об ошибках Windows для всех пользователей", "Изменить частоту формирования отзывов на "Никогда"", "Отключить задачи диагностического отслеживания", "Не предлагать персонализированныее возможности, основанные на выбранном параметре диагностических данных", "Не разрешать приложениям на других устройствах запускать приложения и отправлять сообщения на этом устройстве и наоборот", "Не разрешать приложениям использовать идентификатор рекламы", "Не использовать данные для входа для автоматического завершения настройки устройства после перезапуска или обновления", "Не позволять веб-сайтам предоставлять местную информацию за счет доступа к списку языков", "Показывать советы, подсказки и рекомендации при использованию Windows", "Не показывать рекомендации в меню "Пуск"", "Не показывать рекомендуемое содержание в приложении "Параметры"", "Отключить автоматическую установку рекомендованных приложений", "Не разрешать Windows отслеживать запуски приложений для улучшения меню "Пуск" и результатов поиска и не показывать недавно добавленные приложения" #endregion Privacy #region UI $UI = "Открывать "Этот компьютер" в Проводнике", "Показывать скрытые файлы, папки и диски", "Показывать расширения для зарегистрированных типов файлов", "Не показывать кнопку Просмотра задач", "Не скрывать конфликт слияния папок", "Не показывать при прикреплении окна, что можно прикрепить рядом с ним", "Отключить флажки для выбора элементов", "Включить отображение секунд в системных часах на панели задач", "Не показывать панель "Люди" на панели задач", "Не отображать все папки в области навигации", "Скрыть папку "Объемные объекты" из "Этот компьютер" и на панели быстрого доступа", "Не показывать недавно используемые папки на панели быстрого доступа", "Не показывать недавно использовавшиеся файлы на панели быстрого доступа", "Включить прозрачную панель задач", "Отобразить "Этот компьютер" на рабочем столе", "Развернуть диалог переноса файлов", "Отключить отображение вкладки "Предыдущие версии" в свойствах файлов и папок", "Всегда отображать все значки в области уведомлений", "Установить крупные значки в панели управления", "Скрыть кнопку Windows Ink Workspace на панели задач", "Скрыть поле или значок поиска на Панели задач", "Запрашивать подтверждение на удалении файлов из корзины", "Включить отображение ленты проводника в развернутом виде", "Выбрать режим Windows по умолчанию", "Выбрать режим приложения по умолчанию", "Не показывать уведомление "Установлено новое приложение"", "Не показывать недавно добавленные приложения в меню "Пуск"", "Не показывать анимацию при первом входе в систему", "Установка качества фона рабочего стола на 100 %", "Раскрыть окно Диспетчера задач", "Открепить Microsoft Edge и Microsoft Store от панели задач", "Удалить ярлык Microsoft Edge с рабочего стола", "Отображать цвет элементов в заголовках окон и границ окон", "Отключить автоматическое скрытие полос прокрутки в Windows", "Сохранить скриншот по Win+PrtScr на рабочем столе", "Показывать уведомление, когда компьютеру требуется перезагрузка для завершения обновления", "He дoбaвлять "- яpлык" для coздaвaeмыx яpлыкoв", "Использовать клавишу Print Screen, чтобы запустить функцию создания фрагмента экрана", "Автоматически изменять период активности для этого устройства на основе действий" #endregion UI #region OneDrive $OneDrive = "Удалить OneDrive" #endregion OneDrive } process { } end { } } #endregion #region Controls Events $Window.add_MouseDown( { $Window.DragMove() }) $ButtonTitleMin.add_MouseDown( { $Window.WindowState = "Minimized" }) $ButtonTitleMax.add_MouseDown( { if ($Window.WindowState -eq "Normal") { $Window.WindowState = "Maximized" } else { $Window.WindowState = "Normal" } }) $ButtonTitleClose.add_MouseDown( { $Window.Close() }) $PanelButtonLanguage.add_MouseDown({ Set-Language }) #endregion Hide-Console $Window.ShowDialog() | Out-Null