Browse Source

25.08.2021 v5.2.13

pull/240/head
Dmitry Nefedov 3 years ago
committed by GitHub
parent
commit
5b2eb7551c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      Sophia/LTSC/Functions.ps1
  2. 2
      Sophia/LTSC/Localizations/de-DE/Sophia.psd1
  3. 2
      Sophia/LTSC/Localizations/en-US/Sophia.psd1
  4. 2
      Sophia/LTSC/Localizations/es-ES/Sophia.psd1
  5. 2
      Sophia/LTSC/Localizations/fr-FR/Sophia.psd1
  6. 2
      Sophia/LTSC/Localizations/it-IT/Sophia.psd1
  7. 2
      Sophia/LTSC/Localizations/pt-BR/Sophia.psd1
  8. 2
      Sophia/LTSC/Localizations/ru-RU/Sophia.psd1
  9. 2
      Sophia/LTSC/Localizations/uk-UA/Sophia.psd1
  10. 208
      Sophia/LTSC/Module/Sophia.psm1
  11. 47
      Sophia/LTSC/Sophia.ps1

10
Sophia/LTSC/Functions.ps1

@ -2,8 +2,8 @@
.SYNOPSIS .SYNOPSIS
The TAB completion for functions and their arguments The TAB completion for functions and their arguments
Version: v5.2.12 Version: v5.2.13
Date: 06.08.2021 Date: 25.08.2021
Copyright (c) 20142021 farag Copyright (c) 20142021 farag
Copyright (c) 20192021 farag & Inestic Copyright (c) 20192021 farag & Inestic
@ -54,7 +54,7 @@ function Sophia
Clear-Host Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC v5.2.12 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014–2021" $Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC v5.2.13 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014–2021"
Remove-Module -Name Sophia -Force -ErrorAction Ignore Remove-Module -Name Sophia -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force
@ -101,9 +101,9 @@ $Parameters = @{
} }
Register-ArgumentCompleter @Parameters Register-ArgumentCompleter @Parameters
Write-Information -MessageData "`n" -InformationAction Continue Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "Sophia -Functions <tab>" -Verbose Write-Verbose -Message "Sophia -Functions <tab>" -Verbose
Write-Verbose -Message "Sophia -Functions temp<tab>" -Verbose Write-Verbose -Message "Sophia -Functions temp<tab>" -Verbose
Write-Verbose -Message "Sophia -Functions `"DiagTrackService -Disable`", `"DiagnosticDataLevel -Minimal`", UninstallUWPApps" -Verbose Write-Verbose -Message "Sophia -Functions `"DiagTrackService -Disable`", `"DiagnosticDataLevel -Minimal`", UninstallUWPApps" -Verbose
Write-Information -MessageData "`n" -InformationAction Continue Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "`"Set-Association -ProgramPath ```"%ProgramFiles%\Notepad++\notepad++.exe```" -Extension .txt -Icon ```"%ProgramFiles%\Notepad++\notepad++.exe,0```"`"" -Verbose Write-Verbose -Message "`"Set-Association -ProgramPath ```"%ProgramFiles%\Notepad++\notepad++.exe```" -Extension .txt -Icon ```"%ProgramFiles%\Notepad++\notepad++.exe,0```"`"" -Verbose

2
Sophia/LTSC/Localizations/de-DE/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = Das Skript unterstützt nur Windows
UnsupportedOSBuild = Das Skript unterstützt Windows 10 1809 Enterprise LTSC UnsupportedOSBuild = Das Skript unterstützt Windows 10 1809 Enterprise LTSC
UnsupportedLanguageMode = Die PowerShell-Sitzung wird in einem eingeschränkten Sprachmodus ausgeführt UnsupportedLanguageMode = Die PowerShell-Sitzung wird in einem eingeschränkten Sprachmodus ausgeführt
LoggedInUserNotAdmin = Der angemeldete Benutzer hat keine Administratorrechte LoggedInUserNotAdmin = Der angemeldete Benutzer hat keine Administratorrechte
UnsupportedPowerShell = Sie versuchen, ein Skript über PowerShell {0} auszuführen. Führen Sie das Skript in der entsprechenden PowerShell-Version aus UnsupportedPowerShell = Sie versuchen, ein Skript über PowerShell {0}.{1} auszuführen. Führen Sie das Skript in der entsprechenden PowerShell-Version aus
UnsupportedISE = Das Skript unterstützt nicht die Ausführung über Windows PowerShell ISE UnsupportedISE = Das Skript unterstützt nicht die Ausführung über Windows PowerShell ISE
Win10TweakerWarning = Wahrscheinlich wurde Ihr Betriebssystem über die Win 10 Tweaker-Hintertür infiziert Win10TweakerWarning = Wahrscheinlich wurde Ihr Betriebssystem über die Win 10 Tweaker-Hintertür infiziert
UnsupportedRelease = Neue Version gefunden UnsupportedRelease = Neue Version gefunden

2
Sophia/LTSC/Localizations/en-US/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = The script supports Windows 10 x64 o
UnsupportedOSBuild = The script supports Windows 10 1809 Enterprise LTSC UnsupportedOSBuild = The script supports Windows 10 1809 Enterprise LTSC
UnsupportedLanguageMode = The PowerShell session in running in a limited language mode UnsupportedLanguageMode = The PowerShell session in running in a limited language mode
LoggedInUserNotAdmin = The logged-on user doesn't have admin rights LoggedInUserNotAdmin = The logged-on user doesn't have admin rights
UnsupportedPowerShell = You're trying to run script via PowerShell {0}. Run the script in the appropriate PowerShell version UnsupportedPowerShell = You're trying to run script via PowerShell {0}.{1}.{1}. Run the script in the appropriate PowerShell version
UnsupportedISE = The script doesn't support running via Windows PowerShell ISE UnsupportedISE = The script doesn't support running via Windows PowerShell ISE
Win10TweakerWarning = Probably your OS was infected via the Win 10 Tweaker backdoor Win10TweakerWarning = Probably your OS was infected via the Win 10 Tweaker backdoor
UnsupportedRelease = A new version found UnsupportedRelease = A new version found

2
Sophia/LTSC/Localizations/es-ES/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = El script sólo es compatible con Wi
UnsupportedOSBuild = El script es compatible con versión Windows 10 1809 Enterprise LTSC UnsupportedOSBuild = El script es compatible con versión Windows 10 1809 Enterprise LTSC
UnsupportedLanguageMode = Sesión de PowerShell ejecutada en modo de lenguaje limitado UnsupportedLanguageMode = Sesión de PowerShell ejecutada en modo de lenguaje limitado
LoggedInUserNotAdmin = El usuario que inició sesión no tiene derechos de administrador LoggedInUserNotAdmin = El usuario que inició sesión no tiene derechos de administrador
UnsupportedPowerShell = Estás intentando ejecutar el script a través de PowerShell {0}. Ejecute el script en la versión apropiada de PowerShell UnsupportedPowerShell = Estás intentando ejecutar el script a través de PowerShell {0}.{1}. Ejecute el script en la versión apropiada de PowerShell
UnsupportedISE = El script no es compatible con la ejecución a través de Windows PowerShell ISE UnsupportedISE = El script no es compatible con la ejecución a través de Windows PowerShell ISE
Win10TweakerWarning = Probablemente su sistema operativo fue infectado a través del backdoor Win 10 Tweaker Win10TweakerWarning = Probablemente su sistema operativo fue infectado a través del backdoor Win 10 Tweaker
UnsupportedRelease = Una nueva versión encontrada UnsupportedRelease = Una nueva versión encontrada

2
Sophia/LTSC/Localizations/fr-FR/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = Le script supporte uniquement Window
UnsupportedOSBuild = Le script supporte le version Windows 10 1809 Enterprise LTSC UnsupportedOSBuild = Le script supporte le version Windows 10 1809 Enterprise LTSC
UnsupportedLanguageMode = La session PowerShell s'exécute dans un mode de langue limité UnsupportedLanguageMode = La session PowerShell s'exécute dans un mode de langue limité
LoggedInUserNotAdmin = L'utilisateur connecté n'a pas de droits d'administrateur LoggedInUserNotAdmin = L'utilisateur connecté n'a pas de droits d'administrateur
UnsupportedPowerShell = Vous essayez d'exécuter le script via PowerShell {0}. Exécutez le script dans la version appropriée de PowerShell UnsupportedPowerShell = Vous essayez d'exécuter le script via PowerShell {0}.{1}. Exécutez le script dans la version appropriée de PowerShell
UnsupportedISE = Le script ne supporte pas l'exécution via Windows PowerShell ISE UnsupportedISE = Le script ne supporte pas l'exécution via Windows PowerShell ISE
Win10TweakerWarning = Votre système d'exploitation a probablement été infecté par la porte dérobée Win 10 Tweaker Win10TweakerWarning = Votre système d'exploitation a probablement été infecté par la porte dérobée Win 10 Tweaker
UnsupportedRelease = Nouvelle version trouvée UnsupportedRelease = Nouvelle version trouvée

2
Sophia/LTSC/Localizations/it-IT/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = Lo script supporta solo Windows 10 x
UnsupportedOSBuild = Lo script supporta Windows 10 versione 1809 Enterprise LTSC UnsupportedOSBuild = Lo script supporta Windows 10 versione 1809 Enterprise LTSC
UnsupportedLanguageMode = La sessione PowerShell è in esecuzione in una modalità di lingua limitata UnsupportedLanguageMode = La sessione PowerShell è in esecuzione in una modalità di lingua limitata
LoggedInUserNotAdmin = L'utente connesso non ha i diritti di amministratore LoggedInUserNotAdmin = L'utente connesso non ha i diritti di amministratore
UnsupportedPowerShell = Stai cercando di eseguire lo script tramite PowerShell {0}. Esegui lo script nella versione di PowerShell appropriata UnsupportedPowerShell = Stai cercando di eseguire lo script tramite PowerShell {0}.{1}. Esegui lo script nella versione di PowerShell appropriata
UnsupportedISE = Lo script non supporta l'esecuzione tramite Windows PowerShell ISE UnsupportedISE = Lo script non supporta l'esecuzione tramite Windows PowerShell ISE
Win10TweakerWarning = Probabilmente il tuo sistema operativo è stato infettato tramite la backdoor Win 10 Tweaker Win10TweakerWarning = Probabilmente il tuo sistema operativo è stato infettato tramite la backdoor Win 10 Tweaker
UnsupportedRelease = Nuova versione trovata UnsupportedRelease = Nuova versione trovata

2
Sophia/LTSC/Localizations/pt-BR/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = O script suporta somente Windows 10
UnsupportedOSBuild = O script suporta versões Windows 10 1809 Enterprise LTSC UnsupportedOSBuild = O script suporta versões Windows 10 1809 Enterprise LTSC
UnsupportedLanguageMode = A sessão PowerShell em funcionamento em um modo de linguagem limitada UnsupportedLanguageMode = A sessão PowerShell em funcionamento em um modo de linguagem limitada
LoggedInUserNotAdmin = O usuário logado não tem direitos de administrador LoggedInUserNotAdmin = O usuário logado não tem direitos de administrador
UnsupportedPowerShell = Você está tentando executar o script via PowerShell {0}. Execute o script na versão apropriada do PowerShell UnsupportedPowerShell = Você está tentando executar o script via PowerShell {0}.{1}. Execute o script na versão apropriada do PowerShell
UnsupportedISE = O guião não suporta a execução através do Windows PowerShell ISE UnsupportedISE = O guião não suporta a execução através do Windows PowerShell ISE
Win10TweakerWarning = Probabilmente il tuo sistema operativo è stato infettato tramite la backdoor Win 10 Tweaker Win10TweakerWarning = Probabilmente il tuo sistema operativo è stato infettato tramite la backdoor Win 10 Tweaker
UnsupportedRelease = Nova versão encontrada UnsupportedRelease = Nova versão encontrada

2
Sophia/LTSC/Localizations/ru-RU/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = Скрипт поддерживае
UnsupportedOSBuild = Скрипт поддерживает только Windows 10 1809 Enterprise LTSC UnsupportedOSBuild = Скрипт поддерживает только Windows 10 1809 Enterprise LTSC
UnsupportedLanguageMode = Сессия PowerShell работает в ограниченном режиме UnsupportedLanguageMode = Сессия PowerShell работает в ограниченном режиме
LoggedInUserNotAdmin = Текущий вошедший пользователь не обладает правами администратора LoggedInUserNotAdmin = Текущий вошедший пользователь не обладает правами администратора
UnsupportedPowerShell = Вы пытаетесь запустить скрипт в PowerShell {0}. Запустите скрипт в соответствующей версии PowerShell UnsupportedPowerShell = Вы пытаетесь запустить скрипт в PowerShell {0}.{1}. Запустите скрипт в соответствующей версии PowerShell
UnsupportedISE = Скрипт не поддерживает работу через Windows PowerShell ISE UnsupportedISE = Скрипт не поддерживает работу через Windows PowerShell ISE
Win10TweakerWarning = Ваша ОС, возможно, через бэкдор в Win 10 Tweaker заражена трояном Win10TweakerWarning = Ваша ОС, возможно, через бэкдор в Win 10 Tweaker заражена трояном
UnsupportedRelease = Обнаружена новая версия UnsupportedRelease = Обнаружена новая версия

2
Sophia/LTSC/Localizations/uk-UA/Sophia.psd1

@ -3,7 +3,7 @@ UnsupportedOSBitness = Скрипт підтримує ті
UnsupportedOSBuild = Скрипт підтримує тільки Windows 10 1809 версії Enterprise LTSC UnsupportedOSBuild = Скрипт підтримує тільки Windows 10 1809 версії Enterprise LTSC
UnsupportedLanguageMode = Сесія PowerShell працює в обмеженому режимі UnsupportedLanguageMode = Сесія PowerShell працює в обмеженому режимі
LoggedInUserNotAdmin = Поточний увійшов користувач не володіє правами адміністратора LoggedInUserNotAdmin = Поточний увійшов користувач не володіє правами адміністратора
UnsupportedPowerShell = Ви намагаєтеся запустити скрипт в PowerShell {0}. Запустіть скрипт у відповідній версії PowerShell UnsupportedPowerShell = Ви намагаєтеся запустити скрипт в PowerShell {0}.{1}. Запустіть скрипт у відповідній версії PowerShell
UnsupportedISE = Скрипт не підтримує роботу через Windows PowerShell ISE UnsupportedISE = Скрипт не підтримує роботу через Windows PowerShell ISE
Win10TweakerWarning = Ваша ОС, можливо, через бекдор в Win 10 Tweaker заражена трояном Win10TweakerWarning = Ваша ОС, можливо, через бекдор в Win 10 Tweaker заражена трояном
UnsupportedRelease = Виявлено нову версію UnsupportedRelease = Виявлено нову версію

208
Sophia/LTSC/Module/Sophia.psm1

@ -2,8 +2,8 @@
.SYNOPSIS .SYNOPSIS
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
Version: v5.2.12 Version: v5.2.13
Date: 06.08.2021 Date: 25.08.2021
Copyright (c) 20142021 farag Copyright (c) 20142021 farag
Copyright (c) 20192021 farag & Inestic Copyright (c) 20192021 farag & Inestic
@ -35,7 +35,7 @@
https://github.com/farag2 https://github.com/farag2
https://github.com/Inestic https://github.com/Inestic
.NOTES .LINK
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15 https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/company/skillfactory/blog/553800/ https://habr.com/company/skillfactory/blog/553800/
https://forums.mydigitallife.net/threads/powershell-windows-10-sophia-script.81675/ https://forums.mydigitallife.net/threads/powershell-windows-10-sophia-script.81675/
@ -107,7 +107,7 @@ function Checkings
# Check whether the script was run via PowerShell 5.1 # Check whether the script was run via PowerShell 5.1
if ($PSVersionTable.PSVersion.Major -ne 5) if ($PSVersionTable.PSVersion.Major -ne 5)
{ {
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major) Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
exit exit
} }
@ -132,19 +132,11 @@ function Checkings
# Check if the current module version is the latest one # Check if the current module version is the latest one
try try
{ {
$DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$Parameters = @{
Uri = "https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/Sophia/LTSC/Manifest/Sophia.psd1"
OutFile = "$DownloadsFolder\Manifest.psd1"
Verbose = [switch]::Present
}
Invoke-WebRequest @Parameters
$LatestRelease = (Import-PowerShellDataFile -Path $DownloadsFolder\Manifest.psd1).ModuleVersion # https://github.com/farag2/Sophia-Script-for-Windows/blob/master/sophia_script_versions.json
$LatestRelease = (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/sophia_script_versions.json" | ConvertFrom-Json).Sophia_Script_Windows_10_LTSC
$CurrentRelease = (Get-Module -Name Sophia).Version.ToString() $CurrentRelease = (Get-Module -Name Sophia).Version.ToString()
Remove-Item -Path $DownloadsFolder\Manifest.psd1 -Force
switch ([System.Version]$LatestRelease -gt [System.Version]$CurrentRelease) switch ([System.Version]$LatestRelease -gt [System.Version]$CurrentRelease)
{ {
$true $true
@ -695,6 +687,7 @@ function ScheduledTasks
function DisableButton function DisableButton
{ {
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message $Localization.Patient -Verbose Write-Verbose -Message $Localization.Patient -Verbose
[void]$Window.Close() [void]$Window.Close()
@ -705,6 +698,7 @@ function ScheduledTasks
function EnableButton function EnableButton
{ {
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message $Localization.Patient -Verbose Write-Verbose -Message $Localization.Patient -Verbose
[void]$Window.Close() [void]$Window.Close()
@ -769,6 +763,7 @@ function ScheduledTasks
} }
} }
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message $Localization.Patient -Verbose Write-Verbose -Message $Localization.Patient -Verbose
# Getting list of all scheduled tasks according to the conditions # Getting list of all scheduled tasks according to the conditions
@ -3614,6 +3609,7 @@ function WindowsFeatures
function DisableButton function DisableButton
{ {
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message $Localization.Patient -Verbose Write-Verbose -Message $Localization.Patient -Verbose
[void]$Window.Close() [void]$Window.Close()
@ -3624,6 +3620,7 @@ function WindowsFeatures
function EnableButton function EnableButton
{ {
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message $Localization.Patient -Verbose Write-Verbose -Message $Localization.Patient -Verbose
[void]$Window.Close() [void]$Window.Close()
@ -4785,6 +4782,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
while ($k.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter)) while ($k.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
} }
# Get the localized user folders names
$Signature = @{ $Signature = @{
Namespace = "WinAPI" Namespace = "WinAPI"
Name = "GetStr" Name = "GetStr"
@ -4810,18 +4808,20 @@ public static string GetString(uint strId)
Add-Type @Signature -Using System.Text Add-Type @Signature -Using System.Text
} }
$DesktopLocalizedString = [WinAPI.GetStr]::GetString(21769) # The localized user folders names
$DesktopLocalizedString = [WinAPI.GetStr]::GetString(21769)
$DocumentsLocalizedString = [WinAPI.GetStr]::GetString(21770) $DocumentsLocalizedString = [WinAPI.GetStr]::GetString(21770)
$DownloadsLocalizedString = [WinAPI.GetStr]::GetString(21798) $DownloadsLocalizedString = [WinAPI.GetStr]::GetString(21798)
$MusicLocalizedString = [WinAPI.GetStr]::GetString(21790) $MusicLocalizedString = [WinAPI.GetStr]::GetString(21790)
$PicturesLocalizedString = [WinAPI.GetStr]::GetString(21779) $PicturesLocalizedString = [WinAPI.GetStr]::GetString(21779)
$VideosLocalizedString = [WinAPI.GetStr]::GetString(21791) $VideosLocalizedString = [WinAPI.GetStr]::GetString(21791)
switch ($PSCmdlet.ParameterSetName) switch ($PSCmdlet.ParameterSetName)
{ {
"Root" "Root"
{ {
Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose
Write-Information -MessageData "" -InformationAction Continue
# Store all drives letters to use them within ShowMenu function # Store all drives letters to use them within ShowMenu function
$DriveLetters = @((Get-Disk | Where-Object -FilterScript {$_.BusType -ne "USB"} | Get-Partition | Get-Volume | Where-Object -FilterScript {$null -ne $_.DriveLetter}).DriveLetter | Sort-Object) $DriveLetters = @((Get-Disk | Where-Object -FilterScript {$_.BusType -ne "USB"} | Get-Partition | Get-Volume | Where-Object -FilterScript {$null -ne $_.DriveLetter}).DriveLetter | Sort-Object)
@ -4838,8 +4838,16 @@ public static string GetString(uint strId)
# Desktop # Desktop
Write-Verbose -Message ($Localization.DriveSelect -f $DesktopLocalizedString) -Verbose Write-Verbose -Message ($Localization.DriveSelect -f $DesktopLocalizedString) -Verbose
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name Desktop
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DesktopLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderRequest -f $DesktopLocalizedString $Message = $Localization.UserFolderRequest -f $DesktopLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -4858,13 +4866,22 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Documents # Documents
Write-Verbose -Message ($Localization.DriveSelect -f $DocumentsLocalizedString) -Verbose Write-Verbose -Message ($Localization.DriveSelect -f $DocumentsLocalizedString) -Verbose
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name Personal
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DocumentsLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderRequest -f $DocumentsLocalizedString $Message = $Localization.UserFolderRequest -f $DocumentsLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -4883,13 +4900,22 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Downloads # Downloads
Write-Verbose -Message ($Localization.DriveSelect -f $DownloadsLocalizedString) -Verbose Write-Verbose -Message ($Localization.DriveSelect -f $DownloadsLocalizedString) -Verbose
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DownloadsLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderRequest -f $DownloadsLocalizedString $Message = $Localization.UserFolderRequest -f $DownloadsLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -4908,13 +4934,22 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Music # Music
Write-Verbose -Message ($Localization.DriveSelect -f $MusicLocalizedString) -Verbose Write-Verbose -Message ($Localization.DriveSelect -f $MusicLocalizedString) -Verbose
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Music"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $MusicLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderRequest -f $MusicLocalizedString $Message = $Localization.UserFolderRequest -f $MusicLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -4933,13 +4968,21 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Pictures # Pictures
Write-Verbose -Message ($Localization.DriveSelect -f $PicturesLocalizedString) -Verbose Write-Verbose -Message ($Localization.DriveSelect -f $PicturesLocalizedString) -Verbose
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Pictures"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $PicturesLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderRequest -f $PicturesLocalizedString $Message = $Localization.UserFolderRequest -f $PicturesLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -4958,13 +5001,22 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Videos # Videos
Write-Verbose -Message ($Localization.DriveSelect -f $VideosLocalizedString) -Verbose Write-Verbose -Message ($Localization.DriveSelect -f $VideosLocalizedString) -Verbose
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Video"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $VideosLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderRequest -f $VideosLocalizedString $Message = $Localization.UserFolderRequest -f $VideosLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -4983,14 +5035,22 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
} }
"Custom" "Custom"
{ {
# Desktop # Desktop
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name Desktop
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DesktopLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderSelect -f $DesktopLocalizedString $Message = $Localization.UserFolderSelect -f $DesktopLocalizedString
$Browse = $Localization.Browse $Browse = $Localization.Browse
@ -5021,12 +5081,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Documents # Documents
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name Personal
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DocumentsLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderSelect -f $DocumentsLocalizedString $Message = $Localization.UserFolderSelect -f $DocumentsLocalizedString
$Browse = $Localization.Browse $Browse = $Localization.Browse
@ -5057,12 +5125,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Downloads # Downloads
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DownloadsLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderSelect -f $DownloadsLocalizedString $Message = $Localization.UserFolderSelect -f $DownloadsLocalizedString
$Browse = $Localization.Browse $Browse = $Localization.Browse
@ -5093,12 +5169,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Music # Music
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Music"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $MusicLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderSelect -f $MusicLocalizedString $Message = $Localization.UserFolderSelect -f $MusicLocalizedString
$Browse = $Localization.Browse $Browse = $Localization.Browse
@ -5129,12 +5213,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Pictures # Pictures
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Pictures"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $PicturesLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderSelect -f $PicturesLocalizedString $Message = $Localization.UserFolderSelect -f $PicturesLocalizedString
$Browse = $Localization.Browse $Browse = $Localization.Browse
@ -5165,12 +5257,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Videos # Videos
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Video"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $VideosLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserFolderSelect -f $VideosLocalizedString $Message = $Localization.UserFolderSelect -f $VideosLocalizedString
$Browse = $Localization.Browse $Browse = $Localization.Browse
@ -5201,14 +5301,22 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
} }
"Default" "Default"
{ {
# Desktop # Desktop
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name Desktop
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DesktopLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserDefaultFolder -f $DesktopLocalizedString $Message = $Localization.UserDefaultFolder -f $DesktopLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -5226,12 +5334,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Documents # Documents
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name Personal
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DocumentsLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserDefaultFolder -f $DocumentsLocalizedString $Message = $Localization.UserDefaultFolder -f $DocumentsLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -5249,12 +5365,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Downloads # Downloads
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $DownloadsLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserDefaultFolder -f $DownloadsLocalizedString $Message = $Localization.UserDefaultFolder -f $DownloadsLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -5272,12 +5396,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Music # Music
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Music"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $MusicLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserDefaultFolder -f $MusicLocalizedString $Message = $Localization.UserDefaultFolder -f $MusicLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -5295,12 +5427,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Pictures # Pictures
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Pictures"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $PicturesLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserDefaultFolder -f $PicturesLocalizedString $Message = $Localization.UserDefaultFolder -f $PicturesLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -5318,12 +5458,20 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
# Videos # Videos
$CurrentUserFolderLocation = Get-ItemPropertyValue -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "My Video"
Write-Verbose -Message ($Localization.CurrentUserFolderLocation -f $VideosLocalizedString, $CurrentUserFolderLocation) -Verbose
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.FilesWontBeMoved Write-Warning -Message $Localization.FilesWontBeMoved
Write-Information -MessageData "" -InformationAction Continue
$Title = "" $Title = ""
$Message = $Localization.UserDefaultFolder -f $VideosLocalizedString $Message = $Localization.UserDefaultFolder -f $VideosLocalizedString
$Change = $Localization.Change $Change = $Localization.Change
@ -5341,6 +5489,7 @@ public static string GetString(uint strId)
"1" "1"
{ {
Write-Verbose -Message $Localization.Skipped -Verbose Write-Verbose -Message $Localization.Skipped -Verbose
Write-Information -MessageData "" -InformationAction Continue
} }
} }
} }
@ -6795,7 +6944,6 @@ function SetAppGraphicsPerformance
.NOTES .NOTES
A native interactive toast notification pops up every 30 days A native interactive toast notification pops up every 30 days
The task runs every 30 days
.NOTES .NOTES
Current user Current user
@ -7056,8 +7204,7 @@ while (`$true)
SoftwareDistributionTask -Delete SoftwareDistributionTask -Delete
.NOTES .NOTES
The task will wait until the Windows Updates service finishes running The task will wait until the Windows Updates service finishes running. The task runs every 90 days
The task runs every 90 days
.NOTES .NOTES
Current user Current user
@ -7162,7 +7309,7 @@ Get-ChildItem -Path `$env:SystemRoot\SoftwareDistribution\Download -Recurse -For
TempTask -Delete TempTask -Delete
.NOTES .NOTES
The task runs every 60 days Only files older than one day will be deleted. The task runs every 60 days
.NOTES .NOTES
Current user Current user
@ -7543,7 +7690,7 @@ function CommandLineProcessAudit
The "Process Creation" Event Viewer custom view The "Process Creation" Event Viewer custom view
.PARAMETER Enable .PARAMETER Enable
Create the "Process Creation" Event Viewer custom view Create the "Process Creation" Event Viewer сustom view to log the executed processes and their arguments
.PARAMETER Disable .PARAMETER Disable
Remove the "Process Creation" Event Viewer custom view Remove the "Process Creation" Event Viewer custom view
@ -7555,7 +7702,7 @@ function CommandLineProcessAudit
EventViewerCustomView -Disable EventViewerCustomView -Disable
.NOTES .NOTES
In order this feature to work events auditing (ProcessAudit -Enable) and command line in process creation events will be enabled In order this feature to work events auditing (ProcessAudit -Enable) and command line (CommandLineProcessAudit -Enable) in process creation events will be enabled
.NOTES .NOTES
Machine-wide Machine-wide
@ -8942,6 +9089,7 @@ public static void PostMessage()
Set-MpPreference -EnableControlledFolderAccess Enabled Set-MpPreference -EnableControlledFolderAccess Enabled
} }
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message $Localization.RestartWarning Write-Warning -Message $Localization.RestartWarning
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
@ -9008,10 +9156,16 @@ function Errors
{ {
if ($Global:Error) if ($Global:Error)
{ {
# Some errors may have the Windows nature and don't have a path to any of the module's files
$ErrorInFile = if ($_.InvocationInfo.PSCommandPath)
{
Split-Path -Path $_.InvocationInfo.PSCommandPath -Leaf
}
($Global:Error | ForEach-Object -Process { ($Global:Error | ForEach-Object -Process {
[PSCustomObject]@{ [PSCustomObject]@{
$Localization.ErrorsLine = $_.InvocationInfo.ScriptLineNumber $Localization.ErrorsLine = $_.InvocationInfo.ScriptLineNumber
$Localization.ErrorsFile = Split-Path -Path $PSCommandPath -Leaf $Localization.ErrorsFile = $ErrorInFile
$Localization.ErrorsMessage = $_.Exception.Message $Localization.ErrorsMessage = $_.Exception.Message
} }
} | Sort-Object -Property Line | Format-Table -AutoSize -Wrap | Out-String).Trim() } | Sort-Object -Property Line | Format-Table -AutoSize -Wrap | Out-String).Trim()

47
Sophia/LTSC/Sophia.ps1

@ -2,8 +2,8 @@
.SYNOPSIS .SYNOPSIS
Default preset file for "Sophia Script for Windows 10 LTSC" Default preset file for "Sophia Script for Windows 10 LTSC"
Version: v5.2.12 Version: v5.2.13
Date: 06.08.2021 Date: 25.08.2021
Copyright (c) 20142021 farag Copyright (c) 20142021 farag
Copyright (c) 20192021 farag & Inestic Copyright (c) 20192021 farag & Inestic
@ -71,7 +71,7 @@ param
Clear-Host Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC v5.2.12 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014–2021" $Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC v5.2.13 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014–2021"
Remove-Module -Name Sophia -Force -ErrorAction Ignore Remove-Module -Name Sophia -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force
@ -531,10 +531,10 @@ WindowsManageDefaultPrinter -Disable
<# <#
Disable the Windows features using the pop-up dialog box Disable the Windows features using the pop-up dialog box
Отключить компоненты Windows, используя всплывающее диалоговое окно
If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not disable the "Media Features" feature If you want to leave "Multimedia settings" element in the advanced settings of Power Options do not disable the "Media Features" feature
Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не отключайте "Компоненты для работы с медиа" Если вы хотите оставить параметр "Параметры мультимедиа" в дополнительных параметрах схемы управления питанием, не отключайте "Компоненты для работы с медиа"
Отключить компоненты Windows, используя всплывающее диалоговое окно
#> #>
WindowsFeatures -Disable WindowsFeatures -Disable
@ -767,25 +767,18 @@ RunPowerShellShortcut -Elevated
#endregion Start menu #endregion Start menu
#region Gaming #region Gaming
<# # Choose an app and set the "High performance" graphics performance for it. Only if you have a dedicated GPU
Choose an app and set the "High performance" graphics performance for it # Выбрать приложение и установить для него параметры производительности графики на "Высокая производительность". Только при наличии внешней видеокарты
Only with a dedicated GPU
Выбрать приложение и установить параметры производительности графики на "Высокая производительность" для него
Только при наличии внешней видеокарты
#>
SetAppGraphicsPerformance SetAppGraphicsPerformance
#endregion Gaming #endregion Gaming
#region Scheduled tasks #region Scheduled tasks
<# <#
Create the "Windows Cleanup" scheduled task for cleaning up Windows unused files and updates Create the "Windows Cleanup" scheduled task for cleaning up Windows unused files and updates
A native interactive toast notification pops up every 30 days A native interactive toast notification pops up every 30 days. The task runs every 30 days
The task runs every 30 days
Создать задачу "Windows Cleanup" по очистке неиспользуемых файлов и обновлений Windows в Планировщике заданий Создать задачу "Windows Cleanup" по очистке неиспользуемых файлов и обновлений Windows в Планировщике заданий
Нативный интерактивный тост всплывает каждые 30 дней Нативный интерактивный тост всплывает каждые 30 дней. Задача выполняется каждые 30 дней
Задача выполняется каждые 30 дней
#> #>
CleanupTask -Register CleanupTask -Register
@ -795,12 +788,10 @@ CleanupTask -Register
<# <#
Create the "SoftwareDistribution" scheduled task for cleaning up the %SystemRoot%\SoftwareDistribution\Download folder Create the "SoftwareDistribution" scheduled task for cleaning up the %SystemRoot%\SoftwareDistribution\Download folder
The task will wait until the Windows Updates service finishes running The task will wait until the Windows Updates service finishes running. The task runs every 90 days
The task runs every 90 days
Создать задачу "SoftwareDistribution" по очистке папки %SystemRoot%\SoftwareDistribution\Download в Планировщике заданий Создать задачу "SoftwareDistribution" по очистке папки %SystemRoot%\SoftwareDistribution\Download в Планировщике заданий
Задача будет ждать, пока служба обновлений Windows не закончит работу Задача будет ждать, пока служба обновлений Windows не закончит работу. Задача выполняется каждые 90 дней
Задача выполняется каждые 90 дней
#> #>
SoftwareDistributionTask -Register SoftwareDistributionTask -Register
@ -810,10 +801,10 @@ SoftwareDistributionTask -Register
<# <#
Create the "Temp" scheduled task for cleaning up the %TEMP% folder Create the "Temp" scheduled task for cleaning up the %TEMP% folder
The task runs every 60 days Only files older than one day will be deleted. The task runs every 60 days
Создать задачу "Temp" в Планировщике заданий по очистке папки %TEMP% Создать задачу "Temp" в Планировщике заданий по очистке папки %TEMP%
Задача выполняется каждые 60 дней Удаляться будут только файлы старше одного дня. Задача выполняется каждые 60 дней
#> #>
TempTask -Register TempTask -Register
@ -882,16 +873,16 @@ CommandLineProcessAudit -Enable
# CommandLineProcessAudit -Disable # CommandLineProcessAudit -Disable
<# <#
Create "Process Creation" Event Viewer сustom view Create the "Process Creation" Event Viewer сustom view to log the executed processes and their arguments
In order this feature to work events auditing (AuditProcess -Enable) and command line in process creation events will be enabled In order this feature to work events auditing (AuditProcess -Enable) and command line (CommandLineProcessAudit -Enable) in process creation events will be enabled
Создать настаиваемое представление "Создание процесса" в Просмотре событий Создать настраиваемое представление "Создание процесса" в Просмотре событий для журналирования запускаемых процессов и их аргументов
Для того, чтобы работал данный функционал, буден включен аудит событий (AuditProcess -Enable) и командной строки в событиях создания процесса Для того, чтобы работал данный функционал, буден включен аудит событий (AuditProcess -Enable) и командной строки (CommandLineProcessAudit -Enable) в событиях создания процесса
#> #>
EventViewerCustomView -Enable EventViewerCustomView -Enable
# Remove "Process Creation" Event Viewer Custom View (default value) # Remove "Process Creation" Event Viewer сustom view to log the executed processes and their arguments (default value)
# Удалить настаиваемое представление "Создание процесса" в Просмотре событий (значение по умолчанию) # Удалить настаиваемое представление "Создание процесса" в Просмотре событий для журналирования запускаемых процессов и их аргументов (значение по умолчанию)
# EventViewerCustomView -Disable # EventViewerCustomView -Disable
# Enable logging for all Windows PowerShell modules # Enable logging for all Windows PowerShell modules

Loading…
Cancel
Save