@@ -2,8 +2,8 @@
.SYNOPSIS
Default preset file for "Windows 10 Sophia Script" (LTSC version)
Version: v5.2.7
Date: 13.06.2021
Version: v5.2.8
Date: 20.06.2021
Copyright (c) 2014–2021 farag
Copyright (c) 2019–2021 farag & Inestic
@@ -71,7 +71,7 @@ param

Clear-Host

$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script for LTSC v5.2.7 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & oz-zo, 2014–2021"
$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script for LTSC v5.2.8 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014–2021"

Remove-Module -Name Sophia -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force
@@ -92,22 +92,22 @@ Import-LocalizedData -BindingVariable Global:Localization -FileName Sophia -Base
if ($Functions)
{
# Regardless of functions entered as an argument, the "Checkings" function will be executed first,
# and the "Refresh" and "Errors" functions will be executed at the end
# and the "RefreshEnvironment" and "Errors" functions will be executed at the end
Invoke-Command -ScriptBlock {Checkings}

foreach ($Function in $Functions)
{
Invoke-Expression -Command $Function
}

Invoke-Command -ScriptBlock {Refresh; Errors}
Invoke-Command -ScriptBlock {RefreshEnvironment; Errors}

exit
}

#region Protection
<#
The necessary checkings. If you want to disable a warning message about whether you've customized the preset file remove the "-Warning" argument
The necessary checkings. If you want to disable a warning message about whether the preset file was customized, remove the "-Warning" argument
Please, do not comment out this function
Обязательные проверки. Чтобы выключить предупреждение о необходимости настройки пресет-файла, удалите аргумент "-Warning"
@@ -549,7 +549,7 @@ WindowsManageDefaultPrinter -Disable
Отключить компоненты Windows, используя всплывающее диалоговое окно
If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not disable the "MediaPlayback" feature
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте отключайте "MediaPlayback"
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не отключайте "MediaPlayback"
#>
WindowsFeatures -Disable

@@ -559,10 +559,10 @@ WindowsFeatures -Disable

<#
Uninstall optional features using the pop-up dialog box
Удалить дополнительные компоненты, используя всплывающее диалоговое окно
If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not uninstall the "MediaPlayback" feature
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте компонент "MediaPlayback"
Удалить дополнительные компоненты, используя всплывающее диалоговое окно
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не удаляйте компонент "MediaPlayback"
#>
WindowsCapabilities -Uninstall

@@ -578,13 +578,18 @@ UpdateMicrosoftProducts -Enable
# При обновлении Windows не получать обновления для других продуктов Майкрософт (значение по умолчанию)
# UpdateMicrosoftProducts -Disable

# Set the power management scheme on "High performance" if device is a desktop
# Установить схему управления питанием на "Высокая производительность", если устройство является стационарным ПК
PowerManagementScheme -High
<#
Set the power plan on "High performance"
It isn't recommended to turn on the "High performance" power plan on laptops
Установить схему управления питанием на "Высокая производительность"
Не рекомендуется включать схему управления питанием "Высокая производительность" для ноутбуков
#>
PowerPlan -High

# Set the power management scheme on "Balanced" (default value)
# Set the power plan on "Balanced" (default value)
# Установить схему управления питанием на "Сбалансированная" (значение по умолчанию)
# PowerManagementScheme -Balanced
# PowerPlan -Balanced

# Use latest installed .NET runtime for all apps
# Использовать последнюю установленную среду выполнения .NET для всех приложений
@@ -726,8 +731,6 @@ SmartActiveHours -Enable
Register app, calculate hash, and set as default for specific extension without the "How do you want to open this?" pop-up
Зарегистрировать приложение, вычислить хэш и установить как приложение по умолчанию для конкретного расширения без всплывающего окна "Каким образом вы хотите открыть этот файл?"
Examples:
Примеры:
Set-Association -ProgramPath "C:\SumatraPDF.exe" -Extension .pdf -Icon "shell32.dll,100"
Set-Association -ProgramPath "%ProgramFiles%\Notepad++\notepad++.exe" -Extension .txt -Icon "%ProgramFiles%\Notepad++\notepad++.exe,0"
#>
@@ -2,11 +2,11 @@
.SYNOPSIS
The TAB completion for functions and their arguments
Version: v5.10.7
Date: 13.06.2021
Version: v5.10.8
Date: 20.06.2021
Copyright (c) 2014–2021 farag
Copyright (c) 2019–2021 farag & oZ-Zo
Copyright (c) 2019–2021 farag & Inestic
Thanks to all https://forum.ru-board.com members involved
@@ -24,7 +24,7 @@
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
.NOTES
Separate functions with comma
Separate functions with a comma
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
@@ -66,7 +66,7 @@ function Sophia

Clear-Host

$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.7 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & oz-zo, 2014–2021"
$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.8 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014–2021"

Remove-Module -Name Sophia -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force
@@ -108,14 +108,38 @@ $Parameters = @{
"PinToStart" + " " + "-" + $ParameterSet + " " + $ValidValue | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

# "PinToStart -Tiles <functions>" construction
# The "PinToStart -Tiles <functions>" construction
"PinToStart" + " " + "-" + $ParameterSet + " " + ($ValidValues -join ", ") | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

continue
}
}

# If a module command is UnpinTaskbarShortcuts
if ($Command -eq "UnpinTaskbarShortcuts")
{
# Get all command arguments, excluding defaults
foreach ($ParameterSet in $ParameterSets.Name)
{
# If an argument is Shortcuts
if ($ParameterSet -eq "Shortcuts")
{
$ValidValues = ((Get-Command -Name UnpinTaskbarShortcuts).Parametersets.Parameters | Where-Object -FilterScript {$null -eq $_.Attributes.AliasNames}).Attributes.ValidValues
foreach ($ValidValue in $ValidValues)
{
# The "UnpinTaskbarShortcuts -Shortcuts <function>" construction
"UnpinTaskbarShortcuts" + " " + "-" + $ParameterSet + " " + $ValidValue | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

# The "UnpinTaskbarShortcuts -Shortcuts <functions>" construction
"UnpinTaskbarShortcuts" + " " + "-" + $ParameterSet + " " + ($ValidValues -join ", ") | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

continue
}
}

# If a module command is UninstallUWPApps
if ($Command -eq "UninstallUWPApps")
{
@@ -3,8 +3,8 @@ UnsupportedOSBitness = 该脚本仅支持Windows 10 x64
UnsupportedOSBuild = 该脚本支持Windows 10版本2004/20H2/21H1和更高版本
UnsupportedISE = 该脚本不支持通过Windows PowerShell ISE运行
UnsupportedRelease = 找到新版本
CustomizationWarning = \n在运行Sophia Script之前,您是否已自定义Sophia.ps1预设文件中的每个功能
ControlledFolderAccessDisabled = “受控文件夹访问”禁用
CustomizationWarning = \n在运行Sophia Script之前,您是否已自定义Sophia.ps1预设文件中的每个函数
ControlledFolderAccessDisabled = “受控文件夹访问”已禁用
ScheduledTasks = 计划任务
OneDriveUninstalling = 卸载OneDrive……
OneDriveInstalling = OneDrive正在安装......
@@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '5.10.7'
ModuleVersion = '5.10.8'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Dmitry "farag" Nefedov'
Copyright = '(c) 2014–2021 farag & Inestic. All rights reserved'
@@ -2,8 +2,8 @@
.SYNOPSIS
"Windows 10 Sophia Script" is a PowerShell module for Windows 10 fine-tuning and automating the routine tasks
Version: v5.10.7
Date: 13.06.2021
Version: v5.10.8
Date: 20.06.2021
Copyright (c) 2014–2021 farag
Copyright (c) 2019–2021 farag & Inestic
@@ -460,7 +460,7 @@ function WindowsFeedback
ScheduledTasks -Enable
.NOTES
A pop-up dialog box enables the user to select tasks
A pop-up dialog box lets a user select tasks
Current user
#>
function ScheduledTasks
@@ -2386,7 +2386,7 @@ function TaskbarSearch

[Parameter(
Mandatory = $true,
ParameterSetName = "ShowIcon"
ParameterSetName = "SearchIcon"
)]
[switch]
$SearchIcon,
@@ -2644,16 +2644,37 @@ function NewsInterests

<#
.SYNOPSIS
Unpin "Microsoft Edge" and "Microsoft Store" from the taskbar
Unpin shortcuts from the taskbar
.PARAMETER Edge
Unpin the "Microsoft Edge" shortcut from the taskbar
.PARAMETER Store
Unpin the "Microsoft Store" shortcut from the taskbar
.PARAMETER Mail
Unpin the "Mail" shortcut from the taskbar
.EXAMPLE
UnpinTaskbarShortcuts -Shortcuts Edge, Store, Mail
.NOTES
Current user
.LINK
https://github.com/Disassembler0/Win10-Initial-Setup-Script/issues/8#issue-227159084
#>
function UnpinTaskbarEdgeStore
function UnpinTaskbarShortcuts
{
[CmdletBinding()]
param
(
[Parameter(Mandatory = $true)]
[ValidateSet("Edge", "Store", "Mail")]
[string[]]
$Shortcuts
)

# Extract strings from shell32.dll using its' number
$Signature = @{
Namespace = "WinAPI"
@@ -2683,20 +2704,39 @@ public static string GetString(uint strId)
# Extract the localized "Unpin from taskbar" string from shell32.dll
$LocalizedString = [WinAPI.GetStr]::GetString(5387)

# Call the shortcut context menu item to unpin Microsoft Edge
if (Test-Path -Path "$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk")
foreach ($Shortcut in $Shortcuts)
{
$Shell = New-Object -ComObject Shell.Application
$Folder = $Shell.NameSpace("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
$Shortcut = $Folder.ParseName("Microsoft Edge.lnk")
$Shortcut.Verbs() | Where-Object -FilterScript {$_.Name -eq $LocalizedString} | ForEach-Object -Process {$_.DoIt()}
switch ($Shortcut)
{
Edge
{
if (Test-Path -Path "$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk")
{
# Call the shortcut context menu item
$Shell = New-Object -ComObject Shell.Application
$Folder = $Shell.NameSpace("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
$Shortcut = $Folder.ParseName("Microsoft Edge.lnk")
$Shortcut.Verbs() | Where-Object -FilterScript {$_.Name -eq $LocalizedString} | ForEach-Object -Process {$_.DoIt()}
}
}
Store
{
# Start-Job is used due to that the calling this function before UninstallUWPApps breaks the retrieval of the localized UWP apps packages names
Start-Job -ScriptBlock {
$Apps = (New-Object -ComObject Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items()
($Apps | Where-Object -FilterScript {$_.Name -eq "Microsoft Store"}).Verbs() | Where-Object -FilterScript {$_.Name -eq $Using:LocalizedString} | ForEach-Object -Process {$_.DoIt()}
} | Receive-Job -Wait -AutoRemoveJob
}
Mail
{
# Start-Job is used due to that the calling this function before UninstallUWPApps breaks the retrieval of the localized UWP apps packages names
Start-Job -ScriptBlock {
$Apps = (New-Object -ComObject Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items()
($Apps | Where-Object -FilterScript {$_.Path -eq "microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.mail"}).Verbs() | Where-Object -FilterScript {$_.Name -eq $Using:LocalizedString} | ForEach-Object -Process {$_.DoIt()}
} | Receive-Job -Wait -AutoRemoveJob
}
}
}

# Start-Job is used due to that the calling this function before UninstallUWPApps breaks the retrieval of the localized UWP apps packages names
Start-Job -ScriptBlock {
$Apps = (New-Object -ComObject Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items()
($Apps | Where-Object -FilterScript {$_.Name -eq "Microsoft Store"}).Verbs() | Where-Object -FilterScript {$_.Name -eq $Using:LocalizedString} | ForEach-Object -Process {$_.DoIt()}
} | Receive-Job -Wait -AutoRemoveJob
}

<#
@@ -3345,6 +3385,9 @@ function AppsLanguageSwitch
.EXAMPLE
OneDrive -Install
.NOTES
The OneDrive user folder won't be removed
.NOTES
Machine-wide
#>
@@ -3391,9 +3434,16 @@ function OneDrive
Start-Process -FilePath $OneDriveSetup[0] -ArgumentList $OneDriveSetup[1..2] -Wait
}

# Getting the OneDrive user folder path and removing it
# Get the OneDrive user folder path and remove it if it doesn't contain any user filesS
$OneDriveUserFolder = Get-ItemPropertyValue -Path HKCU:\Environment -Name OneDrive
Remove-Item -Path $OneDriveUserFolder -Recurse -Force -ErrorAction Ignore
if ((Get-ChildItem -Path $OneDriveUserFolder -Force -ErrorAction Ignore | Measure-Object).Count -eq 0)
{
Remove-Item -Path $OneDriveUserFolder -Recurse -Force -ErrorAction Ignore
}
else
{
Invoke-Item -Path $OneDriveUserFolder
}

# https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-movefileexa
# The system does not move the file until the operating system is restarted
@@ -4474,7 +4524,7 @@ function WindowsManageDefaultPrinter
WindowsFeatures -Enable
.NOTES
A pop-up dialog box enables the user to select features
A pop-up dialog box lets a user select features
Current user
#>
function WindowsFeatures
@@ -4525,9 +4575,9 @@ function WindowsFeatures
[string[]]$UncheckedFeatures = @(
<#
Media Features
Компоненты работы с мультимедиа
If you want to leave "Multimedia settings" in the advanced settings of Power Options do not disable this feature
Компоненты работы с мультимедиа
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не отключайте этот компонент
#>
"MediaPlayback"
@@ -4797,7 +4847,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
WindowsCapabilities -Install
.NOTES
A pop-up dialog box enables the user to select features
A pop-up dialog box lets a user select features
Current user
#>
function WindowsCapabilities
@@ -5223,25 +5273,25 @@ function UpdateMicrosoftProducts

<#
.SYNOPSIS
Configure the power management scheme
Configure a power plan
.PARAMETER High
Set the power management scheme on "High performance"
Set the power plan on "High performance"
.PARAMETER Balanced
Set the power management scheme on "Balanced"
Set the power plan on "Balanced"
.EXAMPLE
PowerManagementScheme -High
PowerPlan -High
.EXAMPLE
PowerManagementScheme -Balanced
PowerPlan -Balanced
.NOTES
Do not recommend turning "High performance" scheme on on laptops
It isn't recommended to turn on the "High performance" power plan on laptops
Current user
#>
function PowerManagementScheme
function PowerPlan
{
param
(
@@ -8054,7 +8104,7 @@ function RunPowerShellShortcut
PinToStart -Tiles ControlPanel -UnpinAll
.NOTES
Separate arguments with comma
Separate arguments with a comma
Current user
#>
function PinToStart
@@ -8330,7 +8380,7 @@ public static string GetString(uint strId)
UninstallUWPApps -ForAllUsers
.NOTES
A pop-up dialog box enables the user to select packages
A pop-up dialog box lets a user select packages
Current user
#>
function UninstallUWPApps
@@ -8773,7 +8823,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
UWP apps can be restored only if they were uninstalled for the current user
.NOTES
A pop-up dialog box enables the user to select packages
A pop-up dialog box lets a user select packages
Current user
#>
function RestoreUWPApps
@@ -11128,7 +11178,7 @@ function CABInstallContext
"Add"
{
# Checking whether the File Explorer is associated with the .cab files
if (-not ((Get-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cab\UserChoice -Name ProgId -ErrorAction Ignore) -notmatch "cab"))
if (-not ((Get-ItemPropertyValue -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cab\UserChoice -Name ProgId) -eq "CABFolder"))
{
# The "Install" context menu item won't be visible unless the File Explorer was assosiated with the .cab files
Set-Association -ProgramPath CABFolder -Extension .cab -Icon "%SystemRoot%\system32\cabview.dll,0"
@@ -2,8 +2,8 @@
.SYNOPSIS
Default preset file for "Windows 10 Sophia Script"
Version: v5.10.7
Date: 13.06.2021
Version: v5.10.8
Date: 20.06.2021
Copyright (c) 2014–2021 farag
Copyright (c) 2019–2021 farag & Inestic
@@ -71,7 +71,7 @@ param

Clear-Host

$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.7 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & oz-zo, 2014–2021"
$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.8 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014–2021"

Remove-Module -Name Sophia -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force
@@ -92,22 +92,22 @@ Import-LocalizedData -BindingVariable Global:Localization -FileName Sophia -Base
if ($Functions)
{
# Regardless of functions entered as an argument, the "Checkings" function will be executed first,
# and the "Refresh" and "Errors" functions will be executed at the end
# and the "RefreshEnvironment" and "Errors" functions will be executed at the end
Invoke-Command -ScriptBlock {Checkings}

foreach ($Function in $Functions)
{
Invoke-Expression -Command $Function
}

Invoke-Command -ScriptBlock {Refresh; Errors}
Invoke-Command -ScriptBlock {RefreshEnvironment; Errors}

exit
}

#region Protection
<#
The necessary checkings. If you want to disable a warning message about whether you've customized the preset file remove the "-Warning" argument
The necessary checkings. If you want to disable a warning message about whether the preset file was customized, remove the "-Warning" argument
Please, do not comment out this function
Обязательные проверки. Чтобы выключить предупреждение о необходимости настройки пресет-файла, удалите аргумент "-Warning"
@@ -448,9 +448,9 @@ NewsInterests -Hide
# Отображать "Новости и интересы" на панели задач (значение по умолчанию)
# NewsInterests -Show

# Unpin Microsoft Edge and Microsoft Store from the taskbar
# Открепить Microsoft Edge и Microsoft Store от панели задач
UnpinTaskbarEdgeStore
# Unpin the "Microsoft Edge", "Microsoft Store", or "Mail" shortcuts from the taskbar
# Открепить ярлыки "Microsoft Edge", "Microsoft Store" или "Почта" от панели задач
UnpinTaskbarShortcuts -Shortcuts Edge, Store, Mail

# View the Control Panel icons by: large icons
# Просмотр иконок Панели управления как: крупные значки
@@ -546,8 +546,8 @@ AppsLanguageSwitch -Enable
#endregion UI & Personalization

#region OneDrive
# Uninstall OneDrive
# Удалить OneDrive
# Uninstall OneDrive. The OneDrive user folder won't be removed
# Удалить OneDrive. Папка пользователя OneDrive не будет удалена
OneDrive -Uninstall

# Install OneDrive (default value)
@@ -667,7 +667,7 @@ WindowsManageDefaultPrinter -Disable
Отключить компоненты Windows, используя всплывающее диалоговое окно
If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not disable the "MediaPlayback" feature
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте отключайте "MediaPlayback"
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не отключайте "MediaPlayback"
#>
WindowsFeatures -Disable

@@ -677,10 +677,10 @@ WindowsFeatures -Disable

<#
Uninstall optional features using the pop-up dialog box
Удалить дополнительные компоненты, используя всплывающее диалоговое окно
If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not uninstall the "MediaPlayback" feature
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте компонент "MediaPlayback"
Удалить дополнительные компоненты, используя всплывающее диалоговое окно
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не удаляйте компонент "MediaPlayback"
#>
WindowsCapabilities -Uninstall

@@ -696,13 +696,18 @@ UpdateMicrosoftProducts -Enable
# При обновлении Windows не получать обновления для других продуктов Майкрософт (значение по умолчанию)
# UpdateMicrosoftProducts -Disable

# Set the power management scheme on "High performance" if device is a desktop
# Установить схему управления питанием на "Высокая производительность", если устройство является стационарным ПК
PowerManagementScheme -High
<#
Set the power plan on "High performance"
It isn't recommended to turn on the "High performance" power plan on laptops
# Set the power management scheme on "Balanced" (default value)
Установить схему управления питанием на "Высокая производительность"
Не рекомендуется включать схему управления питанием "Высокая производительность" для ноутбуков
#>
PowerPlan -High

# Set the power plan on "Balanced" (default value)
# Установить схему управления питанием на "Сбалансированная" (значение по умолчанию)
# PowerManagementScheme -Balanced
# PowerPlan -Balanced

# Use latest installed .NET runtime for all apps
# Использовать последнюю установленную среду выполнения .NET для всех приложений
@@ -887,8 +892,6 @@ DeviceRestartAfterUpdate -Enable
Register app, calculate hash, and set as default for specific extension without the "How do you want to open this?" pop-up
Зарегистрировать приложение, вычислить хэш и установить как приложение по умолчанию для конкретного расширения без всплывающего окна "Каким образом вы хотите открыть этот файл?"
Examples:
Примеры:
Set-Association -ProgramPath "C:\SumatraPDF.exe" -Extension .pdf -Icon "shell32.dll,100"
Set-Association -ProgramPath "%ProgramFiles%\Notepad++\notepad++.exe" -Extension .txt -Icon "%ProgramFiles%\Notepad++\notepad++.exe,0"
#>
@@ -942,18 +945,16 @@ RunPowerShellShortcut -Elevated
# RunPowerShellShortcut -NonElevated

<#
Pin to Start the following links: Control Panel, Devices and Printers, PowerShell
Pin to Start the following shortcuts: Control Panel, Devices and Printers, PowerShell
Valid shortcuts values: ControlPanel, DevicesPrinters and PowerShell
Закрепить на начальном экране следующие ярлыки: Панель управдения, Устройства и принтеры, PowerShell
Закрепить на начальном экране следующие ярлыки: Панель управления, Устройства и принтеры, PowerShell
Валидные значения ярлыков: ControlPanel, DevicesPrinters, PowerShell
#>
PinToStart -Tiles ControlPanel, DevicesPrinters, PowerShell

<#
Unpin all tiles first and pin necessary ones
Открепить все ярлыки сначала и закрепить необходимые
#>
# Unpin all tiles first and pin necessary ones
# Открепить все ярлыки сначала и закрепить необходимые
# PinToStart -UnpinAll -Tiles ControlPanel, DevicesPrinters, PowerShell

# Unpin all the Start tiles
@@ -2,11 +2,11 @@
.SYNOPSIS
The TAB completion for functions and their arguments
Version: v5.10.7
Date: 13.06.2021
Version: v5.10.8
Date: 20.06.2021
Copyright (c) 2014–2021 farag
Copyright (c) 2019–2021 farag & oZ-Zo
Copyright (c) 2019–2021 farag & Inestic
Thanks to all https://forum.ru-board.com members involved
@@ -24,7 +24,7 @@
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
.NOTES
Separate functions with comma
Separate functions with a comma
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
@@ -66,7 +66,7 @@ function Sophia

Clear-Host

$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.7 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & oz-zo, 2014–2021"
$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.8 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014–2021"

Remove-Module -Name Sophia -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force
@@ -108,14 +108,38 @@ $Parameters = @{
"PinToStart" + " " + "-" + $ParameterSet + " " + $ValidValue | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

# "PinToStart -Tiles <functions>" construction
# The "PinToStart -Tiles <functions>" construction
"PinToStart" + " " + "-" + $ParameterSet + " " + ($ValidValues -join ", ") | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

continue
}
}

# If a module command is UnpinTaskbarShortcuts
if ($Command -eq "UnpinTaskbarShortcuts")
{
# Get all command arguments, excluding defaults
foreach ($ParameterSet in $ParameterSets.Name)
{
# If an argument is Shortcuts
if ($ParameterSet -eq "Shortcuts")
{
$ValidValues = ((Get-Command -Name UnpinTaskbarShortcuts).Parametersets.Parameters | Where-Object -FilterScript {$null -eq $_.Attributes.AliasNames}).Attributes.ValidValues
foreach ($ValidValue in $ValidValues)
{
# The "UnpinTaskbarShortcuts -Shortcuts <function>" construction
"UnpinTaskbarShortcuts" + " " + "-" + $ParameterSet + " " + $ValidValue | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

# "UnpinTaskbarShortcuts -Shortcuts <functions>" construction
"UnpinTaskbarShortcuts" + " " + "-" + $ParameterSet + " " + ($ValidValues -join ", ") | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
}

continue
}
}

# If a module command is UninstallUWPApps
if ($Command -eq "UninstallUWPApps")
{
File renamed without changes.
@@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '5.10.7'
ModuleVersion = '5.10.8'
GUID = 'aa0b47a7-1770-4b5d-8c9f-cc6c505bcc7a'
Author = 'Dmitry "farag" Nefedov'
Copyright = '(c) 2014–2021 farag & Inestic. All rights reserved'
@@ -2,8 +2,8 @@
.SYNOPSIS
"Windows 10 Sophia Script" is a PowerShell module for Windows 10 fine-tuning and automating the routine tasks
Version: v5.10.7
Date: 13.06.2021
Version: v5.10.8
Date: 20.06.2021
Copyright (c) 2014–2021 farag
Copyright (c) 2019–2021 farag & Inestic
@@ -463,7 +463,7 @@ function WindowsFeedback
ScheduledTasks -Enable
.NOTES
A pop-up dialog box enables the user to select tasks
A pop-up dialog box lets a user select tasks
Current user
#>
function ScheduledTasks
@@ -2389,7 +2389,7 @@ function TaskbarSearch

[Parameter(
Mandatory = $true,
ParameterSetName = "ShowIcon"
ParameterSetName = "SearchIcon"
)]
[switch]
$SearchIcon,
@@ -2647,16 +2647,37 @@ function NewsInterests

<#
.SYNOPSIS
Unpin "Microsoft Edge" and "Microsoft Store" from the taskbar
Unpin shortcuts from the taskbar
.PARAMETER Edge
Unpin the "Microsoft Edge" shortcut from the taskbar
.PARAMETER Store
Unpin the "Microsoft Store" shortcut from the taskbar
.PARAMETER Mail
Unpin the "Mail" shortcut from the taskbar
.EXAMPLE
UnpinTaskbarShortcuts -Shortcuts Edge, Store, Mail
.NOTES
Current user
.LINK
https://github.com/Disassembler0/Win10-Initial-Setup-Script/issues/8#issue-227159084
#>
function UnpinTaskbarEdgeStore
function UnpinTaskbarShortcuts
{
[CmdletBinding()]
param
(
[Parameter(Mandatory = $true)]
[ValidateSet("Edge", "Store", "Mail")]
[string[]]
$Shortcuts
)

# Extract strings from shell32.dll using its' number
$Signature = @{
Namespace = "WinAPI"
@@ -2686,20 +2707,39 @@ public static string GetString(uint strId)
# Extract the localized "Unpin from taskbar" string from shell32.dll
$LocalizedString = [WinAPI.GetStr]::GetString(5387)

# Call the shortcut context menu item to unpin Microsoft Edge
if (Test-Path -Path "$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk")
foreach ($Shortcut in $Shortcuts)
{
$Shell = New-Object -ComObject Shell.Application
$Folder = $Shell.NameSpace("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
$Shortcut = $Folder.ParseName("Microsoft Edge.lnk")
$Shortcut.Verbs() | Where-Object -FilterScript {$_.Name -eq $LocalizedString} | ForEach-Object -Process {$_.DoIt()}
switch ($Shortcut)
{
Edge
{
if (Test-Path -Path "$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk")
{
# Call the shortcut context menu item
$Shell = New-Object -ComObject Shell.Application
$Folder = $Shell.NameSpace("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
$Shortcut = $Folder.ParseName("Microsoft Edge.lnk")
$Shortcut.Verbs() | Where-Object -FilterScript {$_.Name -eq $LocalizedString} | ForEach-Object -Process {$_.DoIt()}
}
}
Store
{
# Start-Job is used due to that the calling this function before UninstallUWPApps breaks the retrieval of the localized UWP apps packages names
Start-Job -ScriptBlock {
$Apps = (New-Object -ComObject Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items()
($Apps | Where-Object -FilterScript {$_.Name -eq "Microsoft Store"}).Verbs() | Where-Object -FilterScript {$_.Name -eq $Using:LocalizedString} | ForEach-Object -Process {$_.DoIt()}
} | Receive-Job -Wait -AutoRemoveJob
}
Mail
{
# Start-Job is used due to that the calling this function before UninstallUWPApps breaks the retrieval of the localized UWP apps packages names
Start-Job -ScriptBlock {
$Apps = (New-Object -ComObject Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items()
($Apps | Where-Object -FilterScript {$_.Path -eq "microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.mail"}).Verbs() | Where-Object -FilterScript {$_.Name -eq $Using:LocalizedString} | ForEach-Object -Process {$_.DoIt()}
} | Receive-Job -Wait -AutoRemoveJob
}
}
}

# Start-Job is used due to that the calling this function before UninstallUWPApps breaks the retrieval of the localized UWP apps packages names
Start-Job -ScriptBlock {
$Apps = (New-Object -ComObject Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items()
($Apps | Where-Object -FilterScript {$_.Name -eq "Microsoft Store"}).Verbs() | Where-Object -FilterScript {$_.Name -eq $Using:LocalizedString} | ForEach-Object -Process {$_.DoIt()}
} | Receive-Job -Wait -AutoRemoveJob
}

<#
@@ -3348,6 +3388,9 @@ function AppsLanguageSwitch
.EXAMPLE
OneDrive -Install
.NOTES
The OneDrive user folder won't be removed
.NOTES
Machine-wide
#>
@@ -3396,9 +3439,16 @@ function OneDrive
Start-Process -FilePath $OneDriveSetup[0] -ArgumentList $OneDriveSetup[1..2] -Wait
}

# Getting the OneDrive user folder path and removing it
# Get the OneDrive user folder path and remove it if it doesn't contain any user filesS
$OneDriveUserFolder = Get-ItemPropertyValue -Path HKCU:\Environment -Name OneDrive
Remove-Item -Path $OneDriveUserFolder -Recurse -Force -ErrorAction Ignore
if ((Get-ChildItem -Path $OneDriveUserFolder -Force -ErrorAction Ignore | Measure-Object).Count -eq 0)
{
Remove-Item -Path $OneDriveUserFolder -Recurse -Force -ErrorAction Ignore
}
else
{
Invoke-Item -Path $OneDriveUserFolder
}

# https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-movefileexa
# The system does not move the file until the operating system is restarted
@@ -4488,7 +4538,7 @@ function WindowsManageDefaultPrinter
WindowsFeatures -Enable
.NOTES
A pop-up dialog box enables the user to select features
A pop-up dialog box lets a user select features
Current user
#>
function WindowsFeatures
@@ -4539,9 +4589,9 @@ function WindowsFeatures
[string[]]$UncheckedFeatures = @(
<#
Media Features
Компоненты работы с мультимедиа
If you want to leave "Multimedia settings" in the advanced settings of Power Options do not disable this feature
Компоненты работы с мультимедиа
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не отключайте этот компонент
#>
"MediaPlayback"
@@ -4811,7 +4861,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
WindowsCapabilities -Install
.NOTES
A pop-up dialog box enables the user to select features
A pop-up dialog box lets a user select features
Current user
#>
function WindowsCapabilities
@@ -5237,25 +5287,25 @@ function UpdateMicrosoftProducts

<#
.SYNOPSIS
Configure the power management scheme
Configure a power plan
.PARAMETER High
Set the power management scheme on "High performance"
Set the power plan on "High performance"
.PARAMETER Balanced
Set the power management scheme on "Balanced"
Set the power plan on "Balanced"
.EXAMPLE
PowerManagementScheme -High
PowerPlan -High
.EXAMPLE
PowerManagementScheme -Balanced
PowerPlan -Balanced
.NOTES
Do not recommend turning "High performance" scheme on on laptops
It isn't recommended to turn on the "High performance" power plan on laptops
Current user
#>
function PowerManagementScheme
function PowerPlan
{
param
(
@@ -8067,7 +8117,7 @@ function RunPowerShellShortcut
PinToStart -Tiles ControlPanel -UnpinAll
.NOTES
Separate arguments with comma
Separate arguments with a comma
Current user
#>
function PinToStart
@@ -8352,7 +8402,7 @@ public static string GetString(uint strId)
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref
.NOTES
A pop-up dialog box enables the user to select packages
A pop-up dialog box lets a user select packages
Current user
#>
function UninstallUWPApps
@@ -8365,8 +8415,8 @@ function UninstallUWPApps
$ForAllUsers
)

Add-Type -AssemblyName "$PSScriptRoot\Libraries\WinRT.Runtime.dll"
Add-Type -AssemblyName "$PSScriptRoot\Libraries\Microsoft.Windows.SDK.NET.dll"
Add-Type -AssemblyName "$PSScriptRoot\..\Libraries\WinRT.Runtime.dll"
Add-Type -AssemblyName "$PSScriptRoot\..\Libraries\Microsoft.Windows.SDK.NET.dll"

Add-Type -AssemblyName PresentationCore, PresentationFramework

@@ -8807,13 +8857,13 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref
.NOTES
A pop-up dialog box enables the user to select packages
A pop-up dialog box lets a user select packages
Current user
#>
function RestoreUWPApps
{
Add-Type -AssemblyName "$PSScriptRoot\Libraries\WinRT.Runtime.dll"
Add-Type -AssemblyName "$PSScriptRoot\Libraries\Microsoft.Windows.SDK.NET.dll"
Add-Type -AssemblyName "$PSScriptRoot\..\Libraries\WinRT.Runtime.dll"
Add-Type -AssemblyName "$PSScriptRoot\..\Libraries\Microsoft.Windows.SDK.NET.dll"

Add-Type -AssemblyName PresentationCore, PresentationFramework

@@ -11164,7 +11214,7 @@ function CABInstallContext
"Add"
{
# Checking whether the File Explorer is associated with the .cab files
if (-not ((Get-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cab\UserChoice -Name ProgId -ErrorAction Ignore) -notmatch "cab"))
if (-not ((Get-ItemPropertyValue -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cab\UserChoice -Name ProgId) -eq "CABFolder"))
{
# The "Install" context menu item won't be visible unless the File Explorer was assosiated with the .cab files
Set-Association -ProgramPath CABFolder -Extension .cab -Icon "%SystemRoot%\system32\cabview.dll,0"
@@ -12246,8 +12296,8 @@ public static void PostMessage()
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref
#>

Add-Type -AssemblyName "$PSScriptRoot\Libraries\WinRT.Runtime.dll"
Add-Type -AssemblyName "$PSScriptRoot\Libraries\Microsoft.Windows.SDK.NET.dll"
Add-Type -AssemblyName "$PSScriptRoot\..\Libraries\WinRT.Runtime.dll"
Add-Type -AssemblyName "$PSScriptRoot\..\Libraries\Microsoft.Windows.SDK.NET.dll"

[xml]$ToastTemplate = @"
<toast duration="Long" scenario="reminder">
@@ -2,8 +2,8 @@
.SYNOPSIS
Default preset file for "Windows 10 Sophia Script"
Version: v5.10.7
Date: 13.06.2021
Version: v5.10.8
Date: 20.06.2021
Copyright (c) 2014–2021 farag
Copyright (c) 2019–2021 farag & Inestic
@@ -71,7 +71,7 @@ param

Clear-Host

$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.7 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & oz-zo, 2014–2021"
$Host.UI.RawUI.WindowTitle = "Windows 10 Sophia Script v5.10.8 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014–2021"

Remove-Module -Name Sophia -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force
@@ -92,22 +92,22 @@ Import-LocalizedData -BindingVariable Global:Localization -FileName Sophia -Base
if ($Functions)
{
# Regardless of functions entered as an argument, the "Checkings" function will be executed first,
# and the "Refresh" and "Errors" functions will be executed at the end
# and the "RefreshEnvironment" and "Errors" functions will be executed at the end
Invoke-Command -ScriptBlock {Checkings}

foreach ($Function in $Functions)
{
Invoke-Expression -Command $Function
}

Invoke-Command -ScriptBlock {Refresh; Errors}
Invoke-Command -ScriptBlock {RefreshEnvironment; Errors}

exit
}

#region Protection
<#
The necessary checkings. If you want to disable a warning message about whether you've customized the preset file remove the "-Warning" argument
The necessary checkings. If you want to disable a warning message about whether the preset file was customized, remove the "-Warning" argument
Please, do not comment out this function
Обязательные проверки. Чтобы выключить предупреждение о необходимости настройки пресет-файла, удалите аргумент "-Warning"
@@ -448,9 +448,9 @@ NewsInterests -Hide
# Отображать "Новости и интересы" на панели задач (значение по умолчанию)
# NewsInterests -Show

# Unpin Microsoft Edge and Microsoft Store from the taskbar
# Открепить Microsoft Edge и Microsoft Store от панели задач
UnpinTaskbarEdgeStore
# Unpin the "Microsoft Edge", "Microsoft Store", or "Mail" shortcuts from the taskbar
# Открепить ярлыки "Microsoft Edge", "Microsoft Store" или "Почта" от панели задач
UnpinTaskbarShortcuts -Shortcuts Edge, Store, Mail

# View the Control Panel icons by: large icons
# Просмотр иконок Панели управления как: крупные значки
@@ -546,8 +546,8 @@ AppsLanguageSwitch -Enable
#endregion UI & Personalization

#region OneDrive
# Uninstall OneDrive
# Удалить OneDrive
# Uninstall OneDrive. The OneDrive user folder won't be removed
# Удалить OneDrive. Папка пользователя OneDrive не будет удалена
OneDrive -Uninstall

# Install OneDrive (default value)
@@ -667,7 +667,7 @@ WindowsManageDefaultPrinter -Disable
Отключить компоненты Windows, используя всплывающее диалоговое окно
If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not disable the "MediaPlayback" feature
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте отключайте "MediaPlayback"
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не отключайте "MediaPlayback"
#>
WindowsFeatures -Disable

@@ -677,10 +677,10 @@ WindowsFeatures -Disable

<#
Uninstall optional features using the pop-up dialog box
Удалить дополнительные компоненты, используя всплывающее диалоговое окно
If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not uninstall the "MediaPlayback" feature
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте компонент "MediaPlayback"
Удалить дополнительные компоненты, используя всплывающее диалоговое окно
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не удаляйте компонент "MediaPlayback"
#>
WindowsCapabilities -Uninstall

@@ -696,13 +696,18 @@ UpdateMicrosoftProducts -Enable
# При обновлении Windows не получать обновления для других продуктов Майкрософт (значение по умолчанию)
# UpdateMicrosoftProducts -Disable

# Set the power management scheme on "High performance" if device is a desktop
# Установить схему управления питанием на "Высокая производительность", если устройство является стационарным ПК
PowerManagementScheme -High
<#
Set the power plan on "High performance"
It isn't recommended to turn on the "High performance" power plan on laptops
# Set the power management scheme on "Balanced" (default value)
Установить схему управления питанием на "Высокая производительность"
Не рекомендуется включать схему управления питанием "Высокая производительность" для ноутбуков
#>
PowerPlan -High

# Set the power plan on "Balanced" (default value)
# Установить схему управления питанием на "Сбалансированная" (значение по умолчанию)
# PowerManagementScheme -Balanced
# PowerPlan -Balanced

# Use latest installed .NET runtime for all apps
# Использовать последнюю установленную среду выполнения .NET для всех приложений
@@ -887,8 +892,6 @@ DeviceRestartAfterUpdate -Enable
Register app, calculate hash, and set as default for specific extension without the "How do you want to open this?" pop-up
Зарегистрировать приложение, вычислить хэш и установить как приложение по умолчанию для конкретного расширения без всплывающего окна "Каким образом вы хотите открыть этот файл?"
Examples:
Примеры:
Set-Association -ProgramPath "C:\SumatraPDF.exe" -Extension .pdf -Icon "shell32.dll,100"
Set-Association -ProgramPath "%ProgramFiles%\Notepad++\notepad++.exe" -Extension .txt -Icon "%ProgramFiles%\Notepad++\notepad++.exe,0"
#>
@@ -942,18 +945,16 @@ RunPowerShellShortcut -Elevated
# RunPowerShellShortcut -NonElevated

<#
Pin to Start the following links: Control Panel, Devices and Printers, PowerShell
Pin to Start the following shortcuts: Control Panel, Devices and Printers, PowerShell
Valid shortcuts values: ControlPanel, DevicesPrinters and PowerShell
Закрепить на начальном экране следующие ярлыки: Панель управдения, Устройства и принтеры, PowerShell
Закрепить на начальном экране следующие ярлыки: Панель управления, Устройства и принтеры, PowerShell
Валидные значения ярлыков: ControlPanel, DevicesPrinters, PowerShell
#>
PinToStart -Tiles ControlPanel, DevicesPrinters, PowerShell

<#
Unpin all tiles first and pin necessary ones
Открепить все ярлыки сначала и закрепить необходимые
#>
# Unpin all tiles first and pin necessary ones
# Открепить все ярлыки сначала и закрепить необходимые
# PinToStart -UnpinAll -Tiles ControlPanel, DevicesPrinters, PowerShell

# Unpin all the Start tiles
@@ -48,7 +48,7 @@
2;cmb;TrayIcons -Show;TrayIcons -Hide;
2;cmb;MeetNow -Hide;MeetNow -Show;
2;cmb;NewsInterests -Hide;NewsInterests -Show;
1;chk;UnpinTaskbarEdgeStore;
3;chk;UnpinTaskbarShortcuts -Shortcuts;Edge;Store;Mail;
3;cmb;ControlPanelView -Category;ControlPanelView -LargeIcons;ControlPanelView -SmallIcons;
2;cmb;WindowsColorScheme -Dark;WindowsColorScheme -Light;
2;cmb;AppMode -Dark;AppMode -Light;
@@ -83,7 +83,7 @@
2;cmb;WindowsFeatures -Disable;WindowsFeatures -Enable;
2;cmb;WindowsCapabilities -Uninstall;WindowsCapabilities -Install;
2;cmb;UpdateMicrosoftProducts -Enable;UpdateMicrosoftProducts -Disable;
2;cmb;PowerManagementScheme -High;PowerManagementScheme -Balanced;
2;cmb;PowerPlan -High;PowerPlan -Balanced;
2;cmb;LatestInstalled.NET -Enable;LatestInstalled.NET -Disable;
2;cmb;PCTurnOffDevice -Disable;PCTurnOffDevice -Enable;
2;cmb;SetInputMethod -English;SetInputMethod -Default;
@@ -45,7 +45,7 @@ QuickAccessRecentFiles -Hide;
WindowsInkWorkspace -Hide;
TrayIcons -Show;
MeetNow -Hide;
UnpinTaskbarEdgeStore;
UnpinTaskbarShortcuts -Shortcuts Edge, Store, Mail;
WindowsColorScheme -Dark;
AppMode -Dark;
NewAppInstalledNotification -Hide;
@@ -80,7 +80,7 @@ WindowsManageDefaultPrinter -Disable;
WindowsFeatures -Disable;
WindowsCapabilities -Uninstall;
UpdateMicrosoftProducts -Enable;
PowerManagementScheme -High;
PowerPlan -High;
LatestInstalled.NET -Enable;
PCTurnOffDevice -Disable;
SetInputMethod -English;
@@ -1,6 +1,6 @@
#region Protection

Checkings -Warning;Checkings is required. "-Warning" argument displays warning message about whether you've customized the preset file;
Checkings -Warning;Checkings is required. The "-Warning" argument displays warning message about whether you've customized the preset file;
Checkings;Checkings is required. No arguement therefore no warning message about whether you've customized the preset file;
Logging;Enable script logging. The log will be being recorded into the script folder.To stop logging just close the console or type "Stop-Transcript";
CreateRestorePoint;Create a restore point
@@ -89,7 +89,10 @@ MeetNow -Hide;Hide the Meet Now icon in the notification area;
MeetNow -Show;Show the Meet Now icon in the notification area (default value);
NewsInterests -Hide;Hide "News and Interests" on the taskbar;
NewsInterests -Show;Show "News and Interests" on the taskbar (default value);
UnpinTaskbarEdgeStore;Unpin "Microsoft Edge" and "Microsoft Store" from the taskbar;
UnpinTaskbarShortcuts -Shortcuts;Unpin the "Microsoft Edge", "Microsoft Store", or "Mail" shortcuts from the taskbar;
UnpinTaskbarShortcuts -Shortcuts Edge;Unpin the "Microsoft Edge" shortcut from the taskbar;
UnpinTaskbarShortcuts -Shortcuts Store;Unpin the "Microsoft Store" shortcut from the taskbar;
UnpinTaskbarShortcuts -Shortcuts Mail;Unpin the "Mail" shortcut from the taskbar;
ControlPanelView -Category;View the Control Panel icons by: category (default value);
ControlPanelView -LargeIcons;View the Control Panel icons by: large icons;
ControlPanelView -SmallIcons;View the Control Panel icons by: small icons;
@@ -116,7 +119,7 @@ AppsLanguageSwitch -Enable;Do not let use a different input method for each app

#region OneDrive

OneDrive -Uninstall;Uninstall OneDrive;
OneDrive -Uninstall;Uninstall OneDrive. The OneDrive user folder won't be removed;
OneDrive -Install;Install OneDrive

#region System
@@ -153,8 +156,8 @@ WindowsCapabilities -Uninstall;Uninstall optional features using the pop-up dial
WindowsCapabilities -Install;Install optional features using the pop-up dialog box;
UpdateMicrosoftProducts -Enable;Receive updates for other Microsoft products when you update Windows;
UpdateMicrosoftProducts -Disable;Do not receive updates for other Microsoft products when you update Windows (default value);
PowerManagementScheme -High;Set the power management scheme on "High performance". It is not recommended to turn on this scheme on laptops;
PowerManagementScheme -Balanced;Set the power management scheme on "Balanced" (default value);
PowerPlan -High;Set the power plan on "High performance". It isn't recommended to turn on the "High performance" power plan on laptops;
PowerPlan -Balanced;Set the power plan on "Balanced" (default value);
LatestInstalled.NET -Enable;Use latest installed .NET runtime for all apps;
LatestInstalled.NET -Disable;Do not use latest installed .NET runtime for all apps (default value);
PCTurnOffDevice -Disable;Do not allow the computer to turn off the network adapters to save power;
@@ -207,7 +210,7 @@ AppSuggestions -Hide;Hide app suggestions in the Start menu;
AppSuggestions -Show;Show app suggestions in the Start menu (default value);
RunPowerShellShortcut -Elevated;Run the Windows PowerShell shortcut from the Start menu as Administrator;
RunPowerShellShortcut -NonElevated;Run the Windows PowerShell shortcut from the Start menu as user (default value);
PinToStart -Tiles;Pin to Start the following links: Control Panel, Devices and Printers, PowerShell;
PinToStart -Tiles;Pin to Start the following shortcuts: Control Panel, Devices and Printers, PowerShell;
PinToStart -Tiles ControlPanel;Pin the Control Panel shortcut to Start;
PinToStart -Tiles DevicesPrinters;Pin the "Devices & Printers" shortcut to Start;
PinToStart -Tiles PowerShell;Pin the Windows PowerShell shortcut to Start;
@@ -1,7 +1,7 @@
#region Protection

Checkings -Warning;Обязательные проверки. Аргумент "-Warning" отображает предупреждающее сообщение о необходимости настройки пресет-файла;
Checkings;Обязательные проверки. Предупреждающее сообщение о необходимости настройки пресет-файла отключено;
Checkings -Warning;Обязательные проверки. Аргумент «-Warning» отображает предупреждающее сообщение о том, был ли настроен пресет-файл;
Checkings;Обязательные проверки. Отсутсвует предупреждающее сообщение о том, были ли настроен пресет-файл;
Logging;Включить логирование работы скрипта. Лог будет записываться в папку скрипта. Чтобы остановить логгирование, закройте консоль или наберите "Stop-Transcript";
CreateRestorePoint;Создать точку восстановления

@@ -85,11 +85,14 @@ WindowsInkWorkspace -Hide;Не показывать кнопку Windows Ink Wor
WindowsInkWorkspace -Show;Показать кнопку Windows Ink Workspace на панели задач (значение по умолчанию);
TrayIcons -Show;Всегда отображать все значки в области уведомлений;
TrayIcons -Hide;Не отображать все значки в области уведомлений (значение по умолчанию));
MeetNow -Hide;Скрыть иконку "Провести собрание" в области уведомлений;
MeetNow -Show;Отображать иконку "Провести собрание" области уведомлений (значение по умолчанию);
MeetNow -Hide;Скрыть иконку "Провести собрание" в трее;
MeetNow -Show;Отображать иконку "Провести собрание" в трее (значение по умолчанию);
NewsInterests -Hide;Скрыть "Новости и интересы" на панели задач;
NewsInterests -Show;Отображать "Новости и интересы" на панели задач (значение по умолчанию);
UnpinTaskbarEdgeStore;Открепить Microsoft Edge и Microsoft Store от панели задач;
UnpinTaskbarShortcuts -Shortcuts;Открепить ярлыки "Microsoft Edge", "Microsoft Store" или "Почта" от панели задач;
UnpinTaskbarShortcuts -Shortcuts Edge;Открепить ярлык "Microsoft Edge" от панели задач;
UnpinTaskbarShortcuts -Shortcuts Store;Открепить ярлык "Microsoft Store" от панели задач;
UnpinTaskbarShortcuts -Shortcuts Mail;Открепить ярлык "Почта" от панели задач;
ControlPanelView -LargeIcons;Просмотр иконок Панели управления как: крупные значки;
ControlPanelView -SmallIcons;Просмотр иконок Панели управления как: маленькие значки;
ControlPanelView -Category;Просмотр иконок Панели управления как: категория (значение по умолчанию);
@@ -116,7 +119,7 @@ AppsLanguageSwitch -Enable;Не позволять выбирать метод

#region OneDrive

OneDrive -Uninstall;Удалить OneDrive;
OneDrive -Uninstall;Удалить OneDrive. Папка пользователя OneDrive не будет удалена;
OneDrive -Install;Установить OneDrive

#region System
@@ -147,14 +150,14 @@ WaitNetworkStartup -Enable;Всегда ждать сеть при запуск
WaitNetworkStartup -Disable;Никогда не ждать сеть при запуске и входе в систему для рабочих групп (значение по умолчанию);
WindowsManageDefaultPrinter -Disable;Не разрешать Windows решать, какой принтер должен использоваться по умолчанию;
WindowsManageDefaultPrinter -Enable;Разрешать Windows решать, какой принтер должен использоваться по умолчанию (значение по умолчанию);
WindowsFeatures -Disable;Отключить компоненты Windows, используя всплывающее диалоговое окно. Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте отключайте "MediaPlayback";
WindowsFeatures -Disable;Отключить компоненты Windows, используя всплывающее диалоговое окно. Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не отключайте "MediaPlayback";
WindowsFeatures -Enable;Включить компоненты Windows, используя всплывающее диалоговое окно;
WindowsCapabilities -Uninstall;Удалить дополнительные компоненты, используя всплывающее диалоговое окно. Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах электропитания, не удаляйте компонент "MediaPlayback";
WindowsCapabilities -Uninstall;Удалить дополнительные компоненты, используя всплывающее диалоговое окно. Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не удаляйте компонент "MediaPlayback";
WindowsCapabilities -Install;Установить дополнительные компоненты, используя всплывающее диалоговое окно;
UpdateMicrosoftProducts -Enable;При обновлении Windows получать обновления для других продуктов Майкрософт;
UpdateMicrosoftProducts -Disable;При обновлении Windows не получать обновления для других продуктов Майкрософт (значение по умолчанию);
PowerManagementScheme -High;Установить схему управления питанием на "Высокая производительность". Не рекомендуется включать данную схему электропитания на ноутбуках;
PowerManagementScheme -Balanced;Установить схему управления питанием на "Сбалансированная" (значение по умолчанию);
PowerPlan -High;Установить схему управления питанием на "Высокая производительность". Не рекомендуется включать схему управления питанием "Высокая производительность" для ноутбуков;
PowerPlan -Balanced;Установить схему управления питанием на "Сбалансированная" (значение по умолчанию);
LatestInstalled.NET -Enable;Использовать последнюю установленную среду выполнения .NET для всех приложений;
LatestInstalled.NET -Disable;Не использовать последнюю установленную версию .NET для всех приложений (значение по умолчанию);
PCTurnOffDevice -Disable;Запретить отключение всех сетевых адаптеров для экономии энергии;
@@ -207,7 +210,7 @@ AppSuggestions -Hide;Скрывать рекомендации в меню "Пу
AppSuggestions -Show;Показывать рекомендации в меню "Пуск" (значение по умолчанию);
RunPowerShellShortcut -Elevated;Запускать ярлык Windows PowerShell в меню "Пуск" от имени Администратора;
RunPowerShellShortcut -NonElevated;Запускать ярлык Windows PowerShell в меню "Пуск" от имени пользователя (значение по умолчанию);
PinToStart -Tiles;Закрепить на начальном экране следующие ярлыки: Панель управдения, Устройства и принтеры, PowerShell;
PinToStart -Tiles;Закрепить на начальном экране следующие ярлыки: Панель управления, Устройства и принтеры, PowerShell;
PinToStart -Tiles ControlPanel;Закрепить на начальном экране ярлык "Панель управления";
PinToStart -Tiles DevicesPrinters;Закрепить на начальном экране ярлык "Устройства и принтеры";
PinToStart -Tiles PowerShell;Закрепить на начальном экране ярлык "PowerShell";
@@ -16,7 +16,7 @@ Sophia script to share and open it up. There is a Opposite menu option to select
There are ToolTips balloon message popups for detailed info for each item. There are different languages in menu.

After choosing your options, you can directly run the PowerShell script from the program after creating your script.
To do so, open up 'Sophia.ps1' preset, as this also gets the path for files to run directly, then fill in your choices,
To do so, import preset 'Sophia.ps1', as this also gets the path for files to run directly, then fill in your choices,
click the ‘Refresh Console’ button and then click ‘Run Powershell’ button. The “Run PowerShell” button
creates a PowerShell script called ‘Sophia_edited.ps1’ in the same directory as 'Sophia.ps1' and runs it.

@@ -45,7 +45,7 @@ stored in 'Localizations' folder.

INSTRUCTIONS
------------
UNZIP all the files and open the 'Sophia.ps1' preset file to import and to get the path for files to run.
UNZIP all the files and import the 'Sophia.ps1' preset file to import and to get the path for files to run.
If you do not open 'Sophia.ps1' then you can not run directly the PowerShell script you create (Run PowerShell
button is disabled) and must run your script manually via PowerShell command line in console.

@@ -59,13 +59,14 @@ SOPHIA FILES
The 'Localizations' folder contains folders that are localized language files for prompts during the PowerShell
execution each with a PowerShell Data File 'Sophia.psd1'.

►cn-CN
►de-DE
►en-US
►es-ES
►fr-FR
►hu-HU
►it-IT
►pt-BR
►ru-RU
►tr-TR
►uk-UA
►uk-UA
►zh-CN
Binary file not shown.
@@ -0,0 +1 @@
2.0.2