From cf1de99d536fd32fc567ee311425556d0aadae8d Mon Sep 17 00:00:00 2001 From: Dmitry Nefedov Date: Sun, 31 Mar 2024 14:35:11 +0300 Subject: [PATCH] Code refactoring --- Wrapper/Config/config_Windows_10.json | 19 -- Wrapper/Config/config_Windows_10_LTSC.json | 3 - Wrapper/Config/config_Windows_11.json | 3 - .../de-DE/tooltip_Windows_10.json | 4 - .../de-DE/tooltip_Windows_11.json | 4 - .../en-US/tooltip_Windows_10.json | 4 - .../en-US/tooltip_Windows_11.json | 4 - .../ru-RU/tooltip_Windows_10.json | 4 - .../ru-RU/tooltip_Windows_11.json | 4 - Wrapper/SophiaScriptWrapper.exe | Bin 2803200 -> 2798080 bytes .../Functions.ps1 | 5 +- .../Module/Sophia.psm1 | 219 +++++------------- src/Sophia_Script_for_Windows_10/Sophia.ps1 | 20 +- .../Functions.ps1 | 3 +- .../Module/Sophia.psm1 | 158 +++++-------- .../Sophia.ps1 | 12 +- .../Functions.ps1 | 3 +- .../Module/Sophia.psm1 | 157 +++++-------- .../Sophia.ps1 | 12 +- .../Functions.ps1 | 3 +- .../Module/Sophia.psm1 | 219 +++++------------- .../Sophia.ps1 | 20 +- .../Functions.ps1 | 3 +- .../Module/Sophia.psm1 | 167 +++++-------- src/Sophia_Script_for_Windows_11/Sophia.ps1 | 12 +- .../Functions.ps1 | 3 +- .../Module/Sophia.psm1 | 164 +++++-------- .../Sophia.ps1 | 12 +- 28 files changed, 380 insertions(+), 861 deletions(-) diff --git a/Wrapper/Config/config_Windows_10.json b/Wrapper/Config/config_Windows_10.json index 246aecd8..d82013da 100644 --- a/Wrapper/Config/config_Windows_10.json +++ b/Wrapper/Config/config_Windows_10.json @@ -1634,9 +1634,6 @@ "Zero": { "Tag": "NET6x64" }, - "One": { - "Tag": "NET7x64" - }, "Two": { "Tag": "NET8x64" } @@ -2279,22 +2276,6 @@ "Preset": "", "WindowsDefault": "One" }, - { - "Region": "Context menu", - "Control": "cmb", - "Required": "false", - "Function": "ImagesEditContext", - "Arg": { - "Zero": { - "Tag": "Hide" - }, - "One": { - "Tag": "Show" - } - }, - "Preset": "Zero", - "WindowsDefault": "One" - }, { "Region": "Context menu", "Control": "cmb", diff --git a/Wrapper/Config/config_Windows_10_LTSC.json b/Wrapper/Config/config_Windows_10_LTSC.json index 42a3ad28..4219e4c1 100644 --- a/Wrapper/Config/config_Windows_10_LTSC.json +++ b/Wrapper/Config/config_Windows_10_LTSC.json @@ -1561,9 +1561,6 @@ "Zero": { "Tag": "NET6x64" }, - "One": { - "Tag": "NET7x64" - }, "Two": { "Tag": "NET8x64" } diff --git a/Wrapper/Config/config_Windows_11.json b/Wrapper/Config/config_Windows_11.json index 8c2e281c..714559bd 100644 --- a/Wrapper/Config/config_Windows_11.json +++ b/Wrapper/Config/config_Windows_11.json @@ -1560,9 +1560,6 @@ "Zero": { "Tag": "NET6x64" }, - "One": { - "Tag": "NET7x64" - }, "Two": { "Tag": "NET8x64" } diff --git a/Wrapper/Localizations/de-DE/tooltip_Windows_10.json b/Wrapper/Localizations/de-DE/tooltip_Windows_10.json index 8b362ea2..a02e8631 100644 --- a/Wrapper/Localizations/de-DE/tooltip_Windows_10.json +++ b/Wrapper/Localizations/de-DE/tooltip_Windows_10.json @@ -1441,10 +1441,6 @@ "Tag": "NET6x64", "ToolTip": ".NET Desktop Runtime 6 x64." }, - "One": { - "Tag": "NET7x64", - "ToolTip": ".NET Desktop Runtime 7 x64." - }, "Two": { "Tag": "NET8x64", "ToolTip": ".NET Desktop Runtime 8 x64." diff --git a/Wrapper/Localizations/de-DE/tooltip_Windows_11.json b/Wrapper/Localizations/de-DE/tooltip_Windows_11.json index 4f511e1f..fa7e47b1 100644 --- a/Wrapper/Localizations/de-DE/tooltip_Windows_11.json +++ b/Wrapper/Localizations/de-DE/tooltip_Windows_11.json @@ -1379,10 +1379,6 @@ "Tag": "NET6x64", "ToolTip": ".NET Desktop Runtime 6 x64." }, - "One": { - "Tag": "NET7x64", - "ToolTip": ".NET Desktop Runtime 7 x64." - }, "Two": { "Tag": "NET8x64", "ToolTip": ".NET Desktop Runtime 8 x64." diff --git a/Wrapper/Localizations/en-US/tooltip_Windows_10.json b/Wrapper/Localizations/en-US/tooltip_Windows_10.json index a44e3ecb..9d6ce67c 100644 --- a/Wrapper/Localizations/en-US/tooltip_Windows_10.json +++ b/Wrapper/Localizations/en-US/tooltip_Windows_10.json @@ -1441,10 +1441,6 @@ "Tag": "NET6x64", "ToolTip": ".NET Desktop Runtime 6 x64." }, - "One": { - "Tag": "NET7x64", - "ToolTip": ".NET Desktop Runtime 7 x64." - }, "Two": { "Tag": "NET8x64", "ToolTip": ".NET Desktop Runtime 8 x64." diff --git a/Wrapper/Localizations/en-US/tooltip_Windows_11.json b/Wrapper/Localizations/en-US/tooltip_Windows_11.json index 781b814d..8a66d484 100644 --- a/Wrapper/Localizations/en-US/tooltip_Windows_11.json +++ b/Wrapper/Localizations/en-US/tooltip_Windows_11.json @@ -1379,10 +1379,6 @@ "Tag": "NET6x64", "ToolTip": ".NET Desktop Runtime 6 x64." }, - "One": { - "Tag": "NET7x64", - "ToolTip": ".NET Desktop Runtime 7 x64." - }, "Two": { "Tag": "NET8x64", "ToolTip": ".NET Desktop Runtime 8 x64." diff --git a/Wrapper/Localizations/ru-RU/tooltip_Windows_10.json b/Wrapper/Localizations/ru-RU/tooltip_Windows_10.json index c7a75083..4f9ba7ae 100644 --- a/Wrapper/Localizations/ru-RU/tooltip_Windows_10.json +++ b/Wrapper/Localizations/ru-RU/tooltip_Windows_10.json @@ -1441,10 +1441,6 @@ "Tag": "NET6x64", "ToolTip": ".NET Desktop Runtime 6 x64." }, - "One": { - "Tag": "NET7x64", - "ToolTip": ".NET Desktop Runtime 7 x64." - }, "Two": { "Tag": "NET8x64", "ToolTip": ".NET Desktop Runtime 8 x64." diff --git a/Wrapper/Localizations/ru-RU/tooltip_Windows_11.json b/Wrapper/Localizations/ru-RU/tooltip_Windows_11.json index de30124c..2abe1552 100644 --- a/Wrapper/Localizations/ru-RU/tooltip_Windows_11.json +++ b/Wrapper/Localizations/ru-RU/tooltip_Windows_11.json @@ -1379,10 +1379,6 @@ "Tag": "NET6x64", "ToolTip": ".NET Desktop Runtime 6 x64." }, - "One": { - "Tag": "NET7x64", - "ToolTip": ".NET Desktop Runtime 7 x64." - }, "Two": { "Tag": "NET8x64", "ToolTip": ".NET Desktop Runtime 8 x64." diff --git a/Wrapper/SophiaScriptWrapper.exe b/Wrapper/SophiaScriptWrapper.exe index 670277544b08f9b7980ff1eb4f3e57853a04a7ec..2cf80c63e97f400239695d3f9815e7c83ac16496 100644 GIT binary patch delta 349016 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 mlJudXPSK0S74tzU)0S4O<4RfNN>)STw;vT #region InitialActions @@ -64,6 +64,7 @@ function InitialActions # Extract strings from %SystemRoot%\System32\shell32.dll using its' number # https://github.com/SamuelArnold/StarKill3r/blob/master/Star%20Killer/Star%20Killer/bin/Debug/Scripts/SANS-SEC505-master/scripts/Day1-PowerShell/Expand-IndirectString.ps1 + # [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100") $Signature = @{ Namespace = "WinAPI" Name = "GetStrings" @@ -841,33 +842,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd); Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue } - # Register a temp schedule task to check whether there's a Windows bug presented - $Action = New-ScheduledTaskAction -Execute powershell.exe - $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest - $Parameters = @{ - TaskName = "SophiaTempScheduledTask" - Principal = $Principal - Action = $Action - Settings = $Settings - } - try - { - Register-ScheduledTask @Parameters -Force -ErrorAction Stop - } - catch [Microsoft.Management.Infrastructure.CimException] - { - Write-Verbose -Message ($Localization.WindowsComponentBroken -f [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100")) -Verbose - - Start-Process -FilePath "https://t.me/sophia_chat" - Start-Process -FilePath "https://discord.gg/sSryhaEv79" - - exit - } - - # Remove temp schedule task - Unregister-ScheduledTask -TaskName SophiaTempScheduledTask -Confirm:$false -ErrorAction Ignore - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word # https://github.com/PowerShell/PowerShell/issues/21070 Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore @@ -5648,10 +5622,12 @@ Unregister-ScheduledTask -TaskName SymbolicLink -Confirm:`$false "@ # Create a temporary scheduled task to create a symbolic link to the %SystemDrive%\Temp folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $SymbolicLinkTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "SymbolicLink" Principal = $Principal @@ -5770,10 +5746,12 @@ Unregister-ScheduledTask -TaskName TemporaryTask -Confirm:`$false "@ # Create a temporary scheduled task to clean up the temporary folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $TempFolderCleanupTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "TemporaryTask" Principal = $Principal @@ -10213,15 +10191,18 @@ function InstallVCRedist return } - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B - winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements - winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B + winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements + winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -10268,10 +10249,10 @@ function InstallVCRedist <# .SYNOPSIS - Install the latest .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 .EXAMPLE - InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 + InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 .LINK https://dotnet.microsoft.com/en-us/download/dotnet @@ -10288,7 +10269,7 @@ function InstallDotNetRuntimes Mandatory = $true, ParameterSetName = "Runtimes" )] - [ValidateSet("NET6x64", "NET7x64", "NET8x64")] + [ValidateSet("NET6x64", "NET8x64")] [string[]] $Runtimes ) @@ -10321,15 +10302,18 @@ function InstallDotNetRuntimes { NET6x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 - # .NET Desktop Runtime 6 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 + # .NET Desktop Runtime 6 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -10363,60 +10347,19 @@ function InstallDotNetRuntimes Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore } } - NET7x64 - { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") - { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/7 - # .NET Desktop Runtime 7 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.7 --architecture x64 --exact --force --accept-source-agreements - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - else - { - # .NET Desktop Runtime 7 - # https://github.com/dotnet/core/blob/main/release-notes/releases-index.json - $Parameters = @{ - Uri = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/7.0/releases.json" - Verbose = $true - UseBasicParsing = $true - } - $LatestRelease = (Invoke-RestMethod @Parameters)."latest-release" - $DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}" - - # .NET Desktop Runtime 7 x64 - $Parameters = @{ - Uri = "https://dotnetcli.azureedge.net/dotnet/Runtime/$LatestRelease/dotnet-runtime-$LatestRelease-win-x64.exe" - OutFile = "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" - UseBasicParsing = $true - Verbose = $true - } - Invoke-WebRequest @Parameters - - Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - $Paths = @( - "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe", - "$env:TEMP\Microsoft_.NET_Runtime*.log" - ) - Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - } NET8x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # .NET Desktop Runtime 8 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # .NET Desktop Runtime 8 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -11550,7 +11493,7 @@ function UninstallUWPApps [PSCustomObject]@{ Name = $AppxPackage.Name PackageFullName = $AppxPackage.PackageFullName - # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display one the first one a window + # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display the first one DisplayName = $PackageId.DisplayName | Select-Object -First 1 } } @@ -12825,10 +12768,12 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); `$Process.Start() | Out-Null "@ - # Create the "Windows Cleanup" task + # Create "Windows Cleanup" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $CleanupTask" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "Windows Cleanup" TaskPath = "Sophia" @@ -12976,9 +12921,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" -Value $ToastNotification -Encoding Default -Force # Create the "Windows Cleanup Notification" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 30 -At 9pm $Parameters = @{ TaskName = "Windows Cleanup Notification" @@ -13286,9 +13233,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" -Value $SoftwareDistributionTask -Encoding Default -Force # Create the "SoftwareDistribution" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9pm $Parameters = @{ TaskName = "SoftwareDistribution" @@ -13603,9 +13552,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" -Value $TempTask -Encoding Default -Force # Create the "Temp" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 60 -At 9pm $Parameters = @{ TaskName = "Temp" @@ -14723,66 +14674,6 @@ function EditWithPaint3DContext } } -<# - .SYNOPSIS - The "Edit" item in the images context menu - - .PARAMETER Hide - Hide the "Edit" item from the images context menu - - .PARAMETER Show - Show the "Edit" item in the images context menu - - .EXAMPLE - ImagesEditContext -Hide - - .EXAMPLE - ImagesEditContext -Show - - .NOTES - Current user -#> -function ImagesEditContext -{ - param - ( - [Parameter( - Mandatory = $true, - ParameterSetName = "Hide" - )] - [switch] - $Hide, - - [Parameter( - Mandatory = $true, - ParameterSetName = "Show" - )] - [switch] - $Show - ) - - if (-not ((Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*").State -eq "Installed")) - { - return - } - - switch ($PSCmdlet.ParameterSetName) - { - "Hide" - { - if (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit)) - { - New-Item -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Force - } - New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force - } - "Show" - { - Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore - } - } -} - <# .SYNOPSIS The "Print" item in the .bat and .cmd context menu diff --git a/src/Sophia_Script_for_Windows_10/Sophia.ps1 b/src/Sophia_Script_for_Windows_10/Sophia.ps1 index 48a9e0b7..67857f27 100644 --- a/src/Sophia_Script_for_Windows_10/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_10/Sophia.ps1 @@ -5,8 +5,7 @@ Version: v5.18.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -55,6 +54,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #Requires -RunAsAdministrator @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag, Inestic & lowl1f3, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-LocalizedData -BindingVariable Global:Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia @@ -1007,12 +1007,12 @@ UninstallPCHealthCheck InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7, 8 x64 - Установить последнюю версию .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 + Установить последнюю версию .NET Desktop Runtime 6, 8 x64 https://dotnet.microsoft.com/en-us/download/dotnet #> -InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 +InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 # Enable proxying only blocked sites from the unified registry of Roskomnadzor. The function is applicable for Russia only # Включить проксирование только заблокированных сайтов из единого реестра Роскомнадзора. Функция применима только для России @@ -1389,14 +1389,6 @@ EditWithPaint3DContext -Hide # Отобразить пункт "Изменить с помощью Paint 3D" в контекстном меню медиа-файлов (значение по умолчанию) # EditWithPaint3DContext -Show -# Hide the "Edit" item from the images context menu -# Скрыть пункт "Изменить" из контекстного меню изображений -ImagesEditContext -Hide - -# Show the "Edit" item in images context menu (default value) -# Отобразить пункт "Изменить" в контекстном меню изображений (значение по умолчанию) -# ImagesEditContext -Show - # Hide the "Print" item from the .bat and .cmd context menu # Скрыть пункт "Печать" из контекстного меню .bat и .cmd файлов PrintCMDContext -Hide diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 index fa3e4765..88688b3f 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 @@ -5,8 +5,7 @@ Version: v5.8.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 index 6d4fc2e9..6fbc967d 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 @@ -5,8 +5,7 @@ Version: v5.8.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -36,6 +35,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #region InitialActions @@ -64,6 +64,7 @@ function InitialActions # Extract strings from %SystemRoot%\System32\shell32.dll using its' number # https://github.com/SamuelArnold/StarKill3r/blob/master/Star%20Killer/Star%20Killer/bin/Debug/Scripts/SANS-SEC505-master/scripts/Day1-PowerShell/Expand-IndirectString.ps1 + # [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100") $Signature = @{ Namespace = "WinAPI" Name = "GetStrings" @@ -812,33 +813,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd); Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue } - # Register a temp schedule task to check whether there's a Windows bug presented - $Action = New-ScheduledTaskAction -Execute powershell.exe - $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest - $Parameters = @{ - TaskName = "SophiaTempScheduledTask" - Principal = $Principal - Action = $Action - Settings = $Settings - } - try - { - Register-ScheduledTask @Parameters -Force -ErrorAction Stop - } - catch [Microsoft.Management.Infrastructure.CimException] - { - Write-Verbose -Message ($Localization.WindowsComponentBroken -f [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100")) -Verbose - - Start-Process -FilePath "https://t.me/sophia_chat" - Start-Process -FilePath "https://discord.gg/sSryhaEv79" - - exit - } - - # Remove temp schedule task - Unregister-ScheduledTask -TaskName SophiaTempScheduledTask -Confirm:$false -ErrorAction Ignore - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word # https://github.com/PowerShell/PowerShell/issues/21070 Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore @@ -4373,10 +4347,12 @@ Unregister-ScheduledTask -TaskName SymbolicLink -Confirm:`$false "@ # Create a temporary scheduled task to create a symbolic link to the %SystemDrive%\Temp folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $SymbolicLinkTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "SymbolicLink" Principal = $Principal @@ -4495,10 +4471,12 @@ Unregister-ScheduledTask -TaskName TemporaryTask -Confirm:`$false "@ # Create a temporary scheduled task to clean up the temporary folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $TempFolderCleanupTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "TemporaryTask" Principal = $Principal @@ -8526,15 +8504,18 @@ function InstallVCRedist return } - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B - winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements - winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B + winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements + winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -8581,10 +8562,10 @@ function InstallVCRedist <# .SYNOPSIS - Install the latest .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 .EXAMPLE - InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 + InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 .LINK https://dotnet.microsoft.com/en-us/download/dotnet @@ -8601,7 +8582,7 @@ function InstallDotNetRuntimes Mandatory = $true, ParameterSetName = "Runtimes" )] - [ValidateSet("NET6x64", "NET7x64", "NET8x64")] + [ValidateSet("NET6x64", "NET8x64")] [string[]] $Runtimes ) @@ -8634,15 +8615,18 @@ function InstallDotNetRuntimes { NET6x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 - # .NET Desktop Runtime 6 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 + # .NET Desktop Runtime 6 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -8676,61 +8660,19 @@ function InstallDotNetRuntimes Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore } } - NET7x64 - { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") - { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/7 - # .NET Desktop Runtime 7 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.7 --architecture x64 --exact --force --accept-source-agreements - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - else - { - # .NET Desktop Runtime 7 - # https://github.com/dotnet/core/blob/main/release-notes/releases-index.json - $Parameters = @{ - Uri = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/7.0/releases.json" - Verbose = $true - UseBasicParsing = $true - } - $LatestRelease = (Invoke-RestMethod @Parameters)."latest-release" - $DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}" - - # .NET Desktop Runtime 7 x64 - $Parameters = @{ - Uri = "https://dotnetcli.azureedge.net/dotnet/Runtime/$LatestRelease/dotnet-runtime-$LatestRelease-win-x64.exe" - OutFile = "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" - UseBasicParsing = $true - Verbose = $true - } - Invoke-WebRequest @Parameters - - Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - $Paths = @( - "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe", - "$env:TEMP\Microsoft_.NET_Runtime*.log" - ) - Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - - } NET8x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # .NET Desktop Runtime 8 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # .NET Desktop Runtime 8 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -9438,10 +9380,12 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); `$Process.Start() | Out-Null "@ - # Create the "Windows Cleanup" task + # Create "Windows Cleanup" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $CleanupTask" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "Windows Cleanup" TaskPath = "Sophia" @@ -9589,9 +9533,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" -Value $ToastNotification -Encoding Default -Force # Create the "Windows Cleanup Notification" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 30 -At 9pm $Parameters = @{ TaskName = "Windows Cleanup Notification" @@ -9899,9 +9845,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" -Value $SoftwareDistributionTask -Encoding Default -Force # Create the "SoftwareDistribution" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9pm $Parameters = @{ TaskName = "SoftwareDistribution" @@ -10216,9 +10164,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" -Value $TempTask -Encoding Default -Force # Create the "Temp" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 60 -At 9pm $Parameters = @{ TaskName = "Temp" diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 index a0f1ea8d..86cff616 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 @@ -5,8 +5,7 @@ Version: v5.8.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -55,6 +54,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #Requires -RunAsAdministrator @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.8.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.8.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag, Inestic & lowl1f3, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-LocalizedData -BindingVariable Global:Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia @@ -788,12 +788,12 @@ ActiveHours -Automatically InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7, 8 x64 - Установить последнюю версию .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 + Установить последнюю версию .NET Desktop Runtime 6, 8 x64 https://dotnet.microsoft.com/en-us/download/dotnet #> -InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 +InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 # Enable proxying only blocked sites from the unified registry of Roskomnadzor. The function is applicable for Russia only # Включить проксирование только заблокированных сайтов из единого реестра Роскомнадзора. Функция применима только для России diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 index 2e27fc65..ece5dbc6 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 @@ -5,8 +5,7 @@ Version: v5.18.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 index 566902ac..03132673 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 @@ -5,8 +5,7 @@ Version: v5.18.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -36,6 +35,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #region InitialActions @@ -64,6 +64,7 @@ function InitialActions # Extract strings from %SystemRoot%\System32\shell32.dll using its' number # https://github.com/SamuelArnold/StarKill3r/blob/master/Star%20Killer/Star%20Killer/bin/Debug/Scripts/SANS-SEC505-master/scripts/Day1-PowerShell/Expand-IndirectString.ps1 + # [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100") $Signature = @{ Namespace = "WinAPI" Name = "GetStrings" @@ -812,33 +813,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd); Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue } - # Register a temp schedule task to check whether there's a Windows bug presented - $Action = New-ScheduledTaskAction -Execute powershell.exe - $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest - $Parameters = @{ - TaskName = "SophiaTempScheduledTask" - Principal = $Principal - Action = $Action - Settings = $Settings - } - try - { - Register-ScheduledTask @Parameters -Force -ErrorAction Stop - } - catch [Microsoft.Management.Infrastructure.CimException] - { - Write-Verbose -Message ($Localization.WindowsComponentBroken -f [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100")) -Verbose - - Start-Process -FilePath "https://t.me/sophia_chat" - Start-Process -FilePath "https://discord.gg/sSryhaEv79" - - exit - } - - # Remove temp schedule task - Unregister-ScheduledTask -TaskName SophiaTempScheduledTask -Confirm:$false -ErrorAction Ignore - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word # https://github.com/PowerShell/PowerShell/issues/21070 Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore @@ -4745,10 +4719,12 @@ Unregister-ScheduledTask -TaskName SymbolicLink -Confirm:`$false "@ # Create a temporary scheduled task to create a symbolic link to the %SystemDrive%\Temp folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $SymbolicLinkTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "SymbolicLink" Principal = $Principal @@ -4867,10 +4843,12 @@ Unregister-ScheduledTask -TaskName TemporaryTask -Confirm:`$false "@ # Create a temporary scheduled task to clean up the temporary folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $TempFolderCleanupTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "TemporaryTask" Principal = $Principal @@ -9153,15 +9131,18 @@ function InstallVCRedist return } - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B - winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements - winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B + winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements + winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -9208,10 +9189,10 @@ function InstallVCRedist <# .SYNOPSIS - Install the latest .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 .EXAMPLE - InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 + InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 .LINK https://dotnet.microsoft.com/en-us/download/dotnet @@ -9228,7 +9209,7 @@ function InstallDotNetRuntimes Mandatory = $true, ParameterSetName = "Runtimes" )] - [ValidateSet("NET6x64", "NET7x64", "NET8x64")] + [ValidateSet("NET6x64", "NET8x64")] [string[]] $Runtimes ) @@ -9261,15 +9242,18 @@ function InstallDotNetRuntimes { NET6x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 - # .NET Desktop Runtime 6 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 + # .NET Desktop Runtime 6 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -9303,60 +9287,19 @@ function InstallDotNetRuntimes Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore } } - NET7x64 - { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") - { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/7 - # .NET Desktop Runtime 7 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.7 --architecture x64 --exact --force --accept-source-agreements - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - else - { - # .NET Desktop Runtime 7 - # https://github.com/dotnet/core/blob/main/release-notes/releases-index.json - $Parameters = @{ - Uri = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/7.0/releases.json" - Verbose = $true - UseBasicParsing = $true - } - $LatestRelease = (Invoke-RestMethod @Parameters)."latest-release" - $DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}" - - # .NET Desktop Runtime 7 x64 - $Parameters = @{ - Uri = "https://dotnetcli.azureedge.net/dotnet/Runtime/$LatestRelease/dotnet-runtime-$LatestRelease-win-x64.exe" - OutFile = "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" - UseBasicParsing = $true - Verbose = $true - } - Invoke-WebRequest @Parameters - - Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - $Paths = @( - "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe", - "$env:TEMP\Microsoft_.NET_Runtime*.log" - ) - Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - } NET8x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # .NET Desktop Runtime 8 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # .NET Desktop Runtime 8 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -10568,10 +10511,12 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); `$Process.Start() | Out-Null "@ - # Create the "Windows Cleanup" task + # Create "Windows Cleanup" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $CleanupTask" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "Windows Cleanup" TaskPath = "Sophia" @@ -10719,9 +10664,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" -Value $ToastNotification -Encoding Default -Force # Create the "Windows Cleanup Notification" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 30 -At 9pm $Parameters = @{ TaskName = "Windows Cleanup Notification" @@ -11029,9 +10976,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" -Value $SoftwareDistributionTask -Encoding Default -Force # Create the "SoftwareDistribution" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9pm $Parameters = @{ TaskName = "SoftwareDistribution" @@ -11346,9 +11295,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" -Value $TempTask -Encoding Default -Force # Create the "Temp" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 60 -At 9pm $Parameters = @{ TaskName = "Temp" diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 index 4084d3fd..e666536d 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 @@ -5,8 +5,7 @@ Version: v5.18.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -55,6 +54,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #Requires -RunAsAdministrator @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.18.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.18.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag, Inestic & lowl1f3, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-LocalizedData -BindingVariable Global:Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia @@ -886,12 +886,12 @@ ActiveHours -Automatically InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7, 8 x64 - Установить последнюю версию .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 + Установить последнюю версию .NET Desktop Runtime 6, 8 x64 https://dotnet.microsoft.com/en-us/download/dotnet #> -InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 +InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 # Enable proxying only blocked sites from the unified registry of Roskomnadzor. The function is applicable for Russia only # Включить проксирование только заблокированных сайтов из единого реестра Роскомнадзора. Функция применима только для России diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 index d091a907..7aa8f1f2 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 @@ -5,8 +5,7 @@ Version: v5.18.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 index 3ae451d3..c1773c6d 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 @@ -5,8 +5,7 @@ Version: v5.18.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -36,6 +35,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #region InitialActions @@ -60,6 +60,7 @@ function InitialActions # Extract strings from %SystemRoot%\System32\shell32.dll using its' number # https://github.com/SamuelArnold/StarKill3r/blob/master/Star%20Killer/Star%20Killer/bin/Debug/Scripts/SANS-SEC505-master/scripts/Day1-PowerShell/Expand-IndirectString.ps1 + # [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100") $Signature = @{ Namespace = "WinAPI" Name = "GetStrings" @@ -827,33 +828,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd); Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue } - # Register a temp schedule task to check whether there's a Windows bug presented - $Action = New-ScheduledTaskAction -Execute powershell.exe - $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest - $Parameters = @{ - TaskName = "SophiaTempScheduledTask" - Principal = $Principal - Action = $Action - Settings = $Settings - } - try - { - Register-ScheduledTask @Parameters -Force -ErrorAction Stop - } - catch [Microsoft.Management.Infrastructure.CimException] - { - Write-Verbose -Message ($Localization.WindowsComponentBroken -f [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100")) -Verbose - - Start-Process -FilePath "https://t.me/sophia_chat" - Start-Process -FilePath "https://discord.gg/sSryhaEv79" - - exit - } - - # Remove temp schedule task - Unregister-ScheduledTask -TaskName SophiaTempScheduledTask -Confirm:$false -ErrorAction Ignore - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word # https://github.com/PowerShell/PowerShell/issues/21070 Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore @@ -5637,10 +5611,12 @@ Unregister-ScheduledTask -TaskName SymbolicLink -Confirm:`$false "@ # Create a temporary scheduled task to create a symbolic link to the %SystemDrive%\Temp folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $SymbolicLinkTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "SymbolicLink" Principal = $Principal @@ -5759,10 +5735,12 @@ Unregister-ScheduledTask -TaskName TemporaryTask -Confirm:`$false "@ # Create a temporary scheduled task to clean up the temporary folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $TempFolderCleanupTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "TemporaryTask" Principal = $Principal @@ -10202,15 +10180,18 @@ function InstallVCRedist return } - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B - winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements - winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B + winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements + winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -10257,10 +10238,10 @@ function InstallVCRedist <# .SYNOPSIS - Install the latest .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 .EXAMPLE - InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 + InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 .LINK https://dotnet.microsoft.com/en-us/download/dotnet @@ -10277,7 +10258,7 @@ function InstallDotNetRuntimes Mandatory = $true, ParameterSetName = "Runtimes" )] - [ValidateSet("NET6x64", "NET7x64", "NET8x64")] + [ValidateSet("NET6x64", "NET8x64")] [string[]] $Runtimes ) @@ -10310,15 +10291,18 @@ function InstallDotNetRuntimes { NET6x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 - # .NET Desktop Runtime 6 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 + # .NET Desktop Runtime 6 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -10352,60 +10336,19 @@ function InstallDotNetRuntimes Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore } } - NET7x64 - { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") - { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/7 - # .NET Desktop Runtime 7 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.7 --architecture x64 --exact --force --accept-source-agreements - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - else - { - # .NET Desktop Runtime 7 - # https://github.com/dotnet/core/blob/main/release-notes/releases-index.json - $Parameters = @{ - Uri = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/7.0/releases.json" - Verbose = $true - UseBasicParsing = $true - } - $LatestRelease = (Invoke-RestMethod @Parameters)."latest-release" - $DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}" - - # .NET Desktop Runtime 7 x64 - $Parameters = @{ - Uri = "https://dotnetcli.azureedge.net/dotnet/Runtime/$LatestRelease/dotnet-runtime-$LatestRelease-win-x64.exe" - OutFile = "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" - UseBasicParsing = $true - Verbose = $true - } - Invoke-WebRequest @Parameters - - Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - $Paths = @( - "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe", - "$env:TEMP\Microsoft_.NET_Runtime*.log" - ) - Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - } NET8x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # .NET Desktop Runtime 8 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # .NET Desktop Runtime 8 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -11549,7 +11492,7 @@ function UninstallUWPApps [PSCustomObject]@{ Name = $AppxPackage.Name PackageFullName = $AppxPackage.PackageFullName - # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display one the first one a window + # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display the first one DisplayName = $PackageId.DisplayName | Select-Object -First 1 } } @@ -12834,10 +12777,12 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); `$Process.Start() | Out-Null "@ - # Create the "Windows Cleanup" task + # Create "Windows Cleanup" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $CleanupTask" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "Windows Cleanup" TaskPath = "Sophia" @@ -12985,9 +12930,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" -Value $ToastNotification -Encoding Default -Force # Create the "Windows Cleanup Notification" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 30 -At 9pm $Parameters = @{ TaskName = "Windows Cleanup Notification" @@ -13295,9 +13242,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" -Value $SoftwareDistributionTask -Encoding Default -Force # Create the "SoftwareDistribution" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9pm $Parameters = @{ TaskName = "SoftwareDistribution" @@ -13612,9 +13561,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" -Value $TempTask -Encoding Default -Force # Create the "Temp" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 60 -At 9pm $Parameters = @{ TaskName = "Temp" @@ -14732,66 +14683,6 @@ function EditWithPaint3DContext } } -<# - .SYNOPSIS - The "Edit" item in the images context menu - - .PARAMETER Hide - Hide the "Edit" item from the images context menu - - .PARAMETER Show - Show the "Edit" item in the images context menu - - .EXAMPLE - ImagesEditContext -Hide - - .EXAMPLE - ImagesEditContext -Show - - .NOTES - Current user -#> -function ImagesEditContext -{ - param - ( - [Parameter( - Mandatory = $true, - ParameterSetName = "Hide" - )] - [switch] - $Hide, - - [Parameter( - Mandatory = $true, - ParameterSetName = "Show" - )] - [switch] - $Show - ) - - if (-not ((Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*").State -eq "Installed")) - { - return - } - - switch ($PSCmdlet.ParameterSetName) - { - "Hide" - { - if (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit)) - { - New-Item -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Force - } - New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force - } - "Show" - { - Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore - } - } -} - <# .SYNOPSIS The "Print" item in the .bat and .cmd context menu diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 index 23957928..be7fb42a 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 @@ -5,8 +5,7 @@ Version: v5.18.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -55,6 +54,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #Requires -RunAsAdministrator @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.2 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.2 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag, Inestic & lowl1f3, 2014$([System.Char]0x2013)2024" # PowerShell 7 doesn't load en-us localization automatically if there is no localization folder in user's language which is determined by $PSUICulture # https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/import-localizeddata?view=powershell-7.3 @@ -1016,12 +1016,12 @@ UninstallPCHealthCheck InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7, 8 x64 - Установить последнюю версию .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 + Установить последнюю версию .NET Desktop Runtime 6, 8 x64 https://dotnet.microsoft.com/en-us/download/dotnet #> -InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 +InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 # Enable proxying only blocked sites from the unified registry of Roskomnadzor. The function is applicable for Russia only # Включить проксирование только заблокированных сайтов из единого реестра Роскомнадзора. Функция применима только для России @@ -1398,14 +1398,6 @@ EditWithPaint3DContext -Hide # Отобразить пункт "Изменить с помощью Paint 3D" в контекстном меню медиа-файлов (значение по умолчанию) # EditWithPaint3DContext -Show -# Hide the "Edit" item from the images context menu -# Скрыть пункт "Изменить" из контекстного меню изображений -ImagesEditContext -Hide - -# Show the "Edit" item in images context menu (default value) -# Отобразить пункт "Изменить" в контекстном меню изображений (значение по умолчанию) -# ImagesEditContext -Show - # Hide the "Print" item from the .bat and .cmd context menu # Скрыть пункт "Печать" из контекстного меню .bat и .cmd файлов PrintCMDContext -Hide diff --git a/src/Sophia_Script_for_Windows_11/Functions.ps1 b/src/Sophia_Script_for_Windows_11/Functions.ps1 index 0e24f5a2..a3b8bc16 100644 --- a/src/Sophia_Script_for_Windows_11/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_11/Functions.ps1 @@ -5,8 +5,7 @@ Version: v6.6.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved diff --git a/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 index 38b9d167..64e34ccb 100644 --- a/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 @@ -5,8 +5,7 @@ Version: v6.6.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -35,6 +34,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #region InitialActions @@ -63,6 +63,7 @@ function InitialActions # Extract strings from %SystemRoot%\System32\shell32.dll using its' number # https://github.com/SamuelArnold/StarKill3r/blob/master/Star%20Killer/Star%20Killer/bin/Debug/Scripts/SANS-SEC505-master/scripts/Day1-PowerShell/Expand-IndirectString.ps1 + # [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100") $Signature = @{ Namespace = "WinAPI" Name = "GetStrings" @@ -610,7 +611,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd); DnsOnly = $true ErrorAction = "Stop" } - if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255") ### + if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255") { return } @@ -814,33 +815,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd); Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue } - # Register a temp schedule task to check whether there's a Windows bug presented - $Action = New-ScheduledTaskAction -Execute powershell.exe - $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest - $Parameters = @{ - TaskName = "SophiaTempScheduledTask" - Principal = $Principal - Action = $Action - Settings = $Settings - } - try - { - Register-ScheduledTask @Parameters -Force -ErrorAction Stop - } - catch [Microsoft.Management.Infrastructure.CimException] - { - Write-Verbose -Message ($Localization.WindowsComponentBroken -f [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100")) -Verbose - - Start-Process -FilePath "https://t.me/sophia_chat" - Start-Process -FilePath "https://discord.gg/sSryhaEv79" - - exit - } - - # Remove temp schedule task - Unregister-ScheduledTask -TaskName SophiaTempScheduledTask -Confirm:$false -ErrorAction Ignore - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word # https://github.com/PowerShell/PowerShell/issues/21070 Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore @@ -5246,10 +5220,12 @@ Unregister-ScheduledTask -TaskName SymbolicLink -Confirm:`$false "@ # Create a temporary scheduled task to create a symbolic link to the %SystemDrive%\Temp folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $SymbolicLinkTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "SymbolicLink" Principal = $Principal @@ -5368,10 +5344,12 @@ Unregister-ScheduledTask -TaskName TemporaryTask -Confirm:`$false "@ # Create a temporary scheduled task to clean up the temporary folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $TempFolderCleanupTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "TemporaryTask" Principal = $Principal @@ -9837,15 +9815,18 @@ function InstallVCRedist return } - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B - winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements - winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B + winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements + winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -9892,10 +9873,10 @@ function InstallVCRedist <# .SYNOPSIS - Install the latest .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 .EXAMPLE - InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 + InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 .LINK https://dotnet.microsoft.com/en-us/download/dotnet @@ -9912,7 +9893,7 @@ function InstallDotNetRuntimes Mandatory = $true, ParameterSetName = "Runtimes" )] - [ValidateSet("NET6x64", "NET7x64", "NET8x64")] + [ValidateSet("NET6x64", "NET8x64")] [string[]] $Runtimes ) @@ -9945,15 +9926,18 @@ function InstallDotNetRuntimes { NET6x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 - # .NET Desktop Runtime 6 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 + # .NET Desktop Runtime 6 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -9987,61 +9971,19 @@ function InstallDotNetRuntimes Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore } } - NET7x64 - { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") - { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/7 - # .NET Desktop Runtime 7 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.7 --architecture x64 --exact --force --accept-source-agreements - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - else - { - # .NET Desktop Runtime 7 - # https://github.com/dotnet/core/blob/main/release-notes/releases-index.json - $Parameters = @{ - Uri = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/7.0/releases.json" - Verbose = $true - UseBasicParsing = $true - } - $LatestRelease = (Invoke-RestMethod @Parameters)."latest-release" - $DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}" - - # .NET Desktop Runtime 7 x64 - $Parameters = @{ - Uri = "https://dotnetcli.azureedge.net/dotnet/Runtime/$LatestRelease/dotnet-runtime-$LatestRelease-win-x64.exe" - OutFile = "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" - UseBasicParsing = $true - Verbose = $true - } - Invoke-WebRequest @Parameters - - Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - $Paths = @( - "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe", - "$env:TEMP\Microsoft_.NET_Runtime*.log" - ) - Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - - } NET8x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # .NET Desktop Runtime 8 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # .NET Desktop Runtime 8 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -11025,7 +10967,10 @@ function UninstallUWPApps "Microsoft.OutlookForWindows", # Chat (Microsoft Teams) - "MicrosoftTeams" + "MicrosoftTeams", + + # Microsoft Copilot + "Microsoft.Windows.Ai.CoPilot.Provider" ) foreach ($Package in $Packages) { @@ -11047,7 +10992,7 @@ function UninstallUWPApps [PSCustomObject]@{ Name = $AppxPackage.Name PackageFullName = $AppxPackage.PackageFullName - # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display one the first one a window + # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display the first one DisplayName = $PackageId.DisplayName | Select-Object -First 1 } } @@ -12155,10 +12100,12 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); `$Process.Start() | Out-Null "@ - # Create the "Windows Cleanup" task + # Create "Windows Cleanup" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $CleanupTask" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "Windows Cleanup" TaskPath = "Sophia" @@ -12306,9 +12253,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" -Value $ToastNotification -Encoding Default -Force # Create the "Windows Cleanup Notification" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 30 -At 9pm $Parameters = @{ TaskName = "Windows Cleanup Notification" @@ -12616,9 +12565,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" -Value $SoftwareDistributionTask -Encoding Default -Force # Create the "SoftwareDistribution" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9pm $Parameters = @{ TaskName = "SoftwareDistribution" @@ -12933,9 +12884,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" -Value $TempTask -Encoding Default -Force # Create the "Temp" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 60 -At 9pm $Parameters = @{ TaskName = "Temp" diff --git a/src/Sophia_Script_for_Windows_11/Sophia.ps1 b/src/Sophia_Script_for_Windows_11/Sophia.ps1 index 54fcaec8..dc6a14c0 100644 --- a/src/Sophia_Script_for_Windows_11/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_11/Sophia.ps1 @@ -5,8 +5,7 @@ Version: v6.6.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -54,6 +53,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #Requires -RunAsAdministrator @@ -69,7 +69,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag, Inestic & lowl1f3, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-LocalizedData -BindingVariable Global:Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia @@ -979,12 +979,12 @@ DefaultTerminalApp -WindowsTerminal InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7, 8 x64 - Установить последнюю версию .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 + Установить последнюю версию .NET Desktop Runtime 6, 8 x64 https://dotnet.microsoft.com/en-us/download/dotnet #> -InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 +InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 # Enable proxying only blocked sites from the unified registry of Roskomnadzor. The function is applicable for Russia only # Включить проксирование только заблокированных сайтов из единого реестра Роскомнадзора. Функция применима только для России diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 index 60b62a1c..7ecf94c6 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 @@ -5,8 +5,7 @@ Version: v6.6.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 index ee072f70..e8009298 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 @@ -5,8 +5,7 @@ Version: v6.6.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -35,6 +34,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #region InitialActions @@ -59,6 +59,7 @@ function InitialActions # Extract strings from %SystemRoot%\System32\shell32.dll using its' number # https://github.com/SamuelArnold/StarKill3r/blob/master/Star%20Killer/Star%20Killer/bin/Debug/Scripts/SANS-SEC505-master/scripts/Day1-PowerShell/Expand-IndirectString.ps1 + # [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100") $Signature = @{ Namespace = "WinAPI" Name = "GetStrings" @@ -803,33 +804,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd); Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue } - # Register a temp schedule task to check whether there's a Windows bug presented - $Action = New-ScheduledTaskAction -Execute powershell.exe - $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest - $Parameters = @{ - TaskName = "SophiaTempScheduledTask" - Principal = $Principal - Action = $Action - Settings = $Settings - } - try - { - Register-ScheduledTask @Parameters -Force -ErrorAction Stop - } - catch [Microsoft.Management.Infrastructure.CimException] - { - Write-Verbose -Message ($Localization.WindowsComponentBroken -f [WinAPI.GetStrings]::GetIndirectString("@%SystemRoot%\system32\schedsvc.dll,-100")) -Verbose - - Start-Process -FilePath "https://t.me/sophia_chat" - Start-Process -FilePath "https://discord.gg/sSryhaEv79" - - exit - } - - # Remove temp schedule task - Unregister-ScheduledTask -TaskName SophiaTempScheduledTask -Confirm:$false -ErrorAction Ignore - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word # https://github.com/PowerShell/PowerShell/issues/21070 Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore @@ -5235,10 +5209,12 @@ Unregister-ScheduledTask -TaskName SymbolicLink -Confirm:`$false "@ # Create a temporary scheduled task to create a symbolic link to the %SystemDrive%\Temp folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $SymbolicLinkTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "SymbolicLink" Principal = $Principal @@ -5357,10 +5333,12 @@ Unregister-ScheduledTask -TaskName TemporaryTask -Confirm:`$false "@ # Create a temporary scheduled task to clean up the temporary folder + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $TempFolderCleanupTask" $Trigger = New-ScheduledTaskTrigger -AtLogon -User $env:USERNAME $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "TemporaryTask" Principal = $Principal @@ -9826,15 +9804,18 @@ function InstallVCRedist return } - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B - winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements - winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/VCRedist/2015%2B + winget install --id=Microsoft.VCRedist.2015+.x86 --exact --force --accept-source-agreements + winget install --id=Microsoft.VCRedist.2015+.x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -9881,10 +9862,10 @@ function InstallVCRedist <# .SYNOPSIS - Install the latest .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 .EXAMPLE - InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 + InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 .LINK https://dotnet.microsoft.com/en-us/download/dotnet @@ -9901,7 +9882,7 @@ function InstallDotNetRuntimes Mandatory = $true, ParameterSetName = "Runtimes" )] - [ValidateSet("NET6x64", "NET7x64", "NET8x64")] + [ValidateSet("NET6x64", "NET8x64")] [string[]] $Runtimes ) @@ -9934,15 +9915,18 @@ function InstallDotNetRuntimes { NET6x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 - # .NET Desktop Runtime 6 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/6 + # .NET Desktop Runtime 6 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.6 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -9976,60 +9960,19 @@ function InstallDotNetRuntimes Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore } } - NET7x64 - { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") - { - # https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/DotNet/DesktopRuntime/7 - # .NET Desktop Runtime 7 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.7 --architecture x64 --exact --force --accept-source-agreements - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - else - { - # .NET Desktop Runtime 7 - # https://github.com/dotnet/core/blob/main/release-notes/releases-index.json - $Parameters = @{ - Uri = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/7.0/releases.json" - Verbose = $true - UseBasicParsing = $true - } - $LatestRelease = (Invoke-RestMethod @Parameters)."latest-release" - $DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}" - - # .NET Desktop Runtime 7 x64 - $Parameters = @{ - Uri = "https://dotnetcli.azureedge.net/dotnet/Runtime/$LatestRelease/dotnet-runtime-$LatestRelease-win-x64.exe" - OutFile = "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" - UseBasicParsing = $true - Verbose = $true - } - Invoke-WebRequest @Parameters - - Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait - - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - $Paths = @( - "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe", - "$env:TEMP\Microsoft_.NET_Runtime*.log" - ) - Get-ChildItem -Path $Paths -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore - } - } NET8x64 { - if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore).Version -ge [System.Version]"1.17") + if (Get-AppxPackage -Name Microsoft.DesktopAppInstaller -ErrorAction Ignore) { - # .NET Desktop Runtime 8 x64 - winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements + if ([System.Version](Get-AppxPackage -Name Microsoft.DesktopAppInstaller).Version -ge [System.Version]"1.17") + { + # .NET Desktop Runtime 8 x64 + winget install --id=Microsoft.DotNet.DesktopRuntime.8 --architecture x64 --exact --force --accept-source-agreements - # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word - # https://github.com/PowerShell/PowerShell/issues/21070 - Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + # PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word + # https://github.com/PowerShell/PowerShell/issues/21070 + Get-ChildItem -Path "$env:TEMP\WinGet" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore + } } else { @@ -11023,7 +10966,10 @@ function UninstallUWPApps "Microsoft.OutlookForWindows", # Chat (Microsoft Teams) - "MicrosoftTeams" + "MicrosoftTeams", + + # Microsoft Copilot + "Microsoft.Windows.Ai.CoPilot.Provider" ) foreach ($Package in $Packages) { @@ -11045,7 +10991,7 @@ function UninstallUWPApps [PSCustomObject]@{ Name = $AppxPackage.Name PackageFullName = $AppxPackage.PackageFullName - # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display one the first one a window + # Sometimes there's more than one package presented in Windows with the same package name like {Microsoft Teams, Microsoft Teams} and we need to display the first one DisplayName = $PackageId.DisplayName | Select-Object -First 1 } } @@ -12163,10 +12109,12 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); `$Process.Start() | Out-Null "@ - # Create the "Windows Cleanup" task + # Create "Windows Cleanup" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-WindowStyle Hidden -Command $CleanupTask" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Parameters = @{ TaskName = "Windows Cleanup" TaskPath = "Sophia" @@ -12314,9 +12262,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" -Value $ToastNotification -Encoding Default -Force # Create the "Windows Cleanup Notification" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\Windows_Cleanup_Notification.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 30 -At 9pm $Parameters = @{ TaskName = "Windows Cleanup Notification" @@ -12624,9 +12574,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" -Value $SoftwareDistributionTask -Encoding Default -Force # Create the "SoftwareDistribution" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\SoftwareDistributionTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9pm $Parameters = @{ TaskName = "SoftwareDistribution" @@ -12941,9 +12893,11 @@ CreateObject("Wscript.Shell").Run "powershell.exe -ExecutionPolicy Bypass -NoPro Set-Content -Path "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" -Value $TempTask -Encoding Default -Force # Create the "Temp" task + # We cannot create a schedule task if %COMPUTERNAME% is equal to %USERNAME%, so we have to use a "$env:COMPUTERNAME\$env:USERNAME" method + # https://github.com/PowerShell/PowerShell/issues/21377 $Action = New-ScheduledTaskAction -Execute wscript.exe -Argument "$env:SystemRoot\System32\Tasks\Sophia\TempTask.vbs" $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable - $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest + $Principal = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" -RunLevel Highest $Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 60 -At 9pm $Parameters = @{ TaskName = "Temp" diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 index 7f8a6dc7..5e727312 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 @@ -5,8 +5,7 @@ Version: v6.6.2 Date: 06.03.2024 - Copyright (c) 2014—2024 farag - Copyright (c) 2019—2024 farag & Inestic + Copyright (c) 2014—2024 farag, Inestic & lowl1f3 Thanks to all https://forum.ru-board.com members involved @@ -54,6 +53,7 @@ .LINK Authors https://github.com/farag2 https://github.com/Inestic + https://github.com/lowl1f3 #> #Requires -RunAsAdministrator @@ -69,7 +69,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.2 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.2 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag, Inestic & lowl1f3, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore @@ -990,12 +990,12 @@ DefaultTerminalApp -WindowsTerminal InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7, 8 x64 - Установить последнюю версию .NET Desktop Runtime 6, 7, 8 x64 + Install the latest .NET Desktop Runtime 6, 8 x64 + Установить последнюю версию .NET Desktop Runtime 6, 8 x64 https://dotnet.microsoft.com/en-us/download/dotnet #> -InstallDotNetRuntimes -Runtimes NET6x64, NET7x64, NET8x64 +InstallDotNetRuntimes -Runtimes NET6x64, NET8x64 # Enable proxying only blocked sites from the unified registry of Roskomnadzor. The function is applicable for Russia only # Включить проксирование только заблокированных сайтов из единого реестра Роскомнадзора. Функция применима только для России