From 854dab31fb055ae142d1d20936e0aabc74de34b3 Mon Sep 17 00:00:00 2001 From: Dmitry Nefedov Date: Tue, 26 Jul 2022 22:20:28 +0300 Subject: [PATCH] =?UTF-8?q?6.1.3=20=E2=80=94=2026.07.2022?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Functions.ps1 | 6 +- .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 80 +++++++------- .../Sophia.ps1 | 6 +- .../Functions.ps1 | 6 +- .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 84 +++++++-------- .../Sophia.ps1 | 6 +- .../Functions.ps1 | 6 +- .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 100 ++++++++---------- .../Sophia.ps1 | 6 +- .../Functions.ps1 | 6 +- .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 86 +++++++-------- .../Sophia Script for Windows 10/Sophia.ps1 | 6 +- .../Functions.ps1 | 6 +- .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 73 +++++-------- .../Sophia.ps1 | 6 +- .../Functions.ps1 | 6 +- .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 59 ++++------- .../Sophia Script for Windows 11/Sophia.ps1 | 6 +- Wrapper/SophiaScriptWrapper.exe | Bin 2386944 -> 2386944 bytes 25 files changed, 246 insertions(+), 320 deletions(-) diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Functions.ps1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Functions.ps1 index 18150ead..72633c96 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Functions.ps1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v5.3.2 - Date: 16.07.2022 + Version: v5.3.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -54,7 +54,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.3.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.3.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Manifest/Sophia.psd1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Manifest/Sophia.psd1 index 3b5940a5..3548a0d4 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Manifest/Sophia.psd1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '5.3.2' + ModuleVersion = '5.3.3' GUID = 'a36a65ca-70f9-43df-856c-3048fc5e7f01' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2022 farag & Inestic. All rights reserved' diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Module/Sophia.psm1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Module/Sophia.psm1 index 0378dc4e..ec5ee2bf 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Module/Sophia.psm1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v5.3.2 - Date: 16.07.2022 + Version: v5.3.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -74,51 +74,40 @@ function Checkings { Write-Warning -Message $Localization.UnsupportedOSBuild - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - - Start-Sleep -Seconds 1 - - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" - - Start-Sleep -Seconds 1 - - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" exit } - } - - # Check whether the OS minor build version is 3046 minimum - # https://docs.microsoft.com/en-us/windows/release-health/release-information - # https://support.microsoft.com/en-us/topic/windows-10-and-windows-server-2019-update-history-725fc2e1-4443-6831-a5ca-51ff5cbcb059 - switch ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 3046) - { - $false + $true { - $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR - Write-Warning -Message ($Localization.UpdateWarning -f $Version) + if (-not ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 3046)) + { + # Check whether the OS minor build version is 3046 minimum + # https://docs.microsoft.com/en-us/windows/release-health/release-information + # https://support.microsoft.com/en-us/topic/windows-10-and-windows-server-2019-update-history-725fc2e1-4443-6831-a5ca-51ff5cbcb059 + $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR + Write-Warning -Message ($Localization.UpdateWarning -f $Version) - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") + Start-Process -FilePath "https://t.me/sophia_chat" - Start-Sleep -Seconds 1 + # Enable receiving updates for other Microsoft products when you update Windows + (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" + Start-Sleep -Seconds 1 - Start-Sleep -Seconds 1 + # Check for UWP apps updates + Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() + # Open the "Windows Update" page + Start-Process -FilePath "ms-settings:windowsupdate-action" - Start-Process -FilePath "https://t.me/sophia_chat" + Start-Sleep -Seconds 1 - exit + # Trigger Windows Update for detecting new updates + (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() + + exit + } } } @@ -292,6 +281,7 @@ function Checkings catch [Microsoft.Management.Infrastructure.CimException] { # Provider Load Failure exception + $Localization.DefenderBroken $Global:Error.Exception[-1] Start-Process -FilePath "https://t.me/sophia_chat" @@ -319,7 +309,7 @@ function Checkings } else { - if ((Get-Service -Name $_ -ErrorAction Ignore).Status -eq "running") + if ((Get-Service -Name $_).Status -eq "running") { $Script:DefenderServices = $true } @@ -9453,9 +9443,7 @@ function MultipleInvokeContext #> function UpdateLGPEPolicies { - if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript { - ($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*") -or ($_.Edition -eq "Education") - })) + if (-not (Test-Path -Path "$env:SystemRoot\System32\gpedit.msc")) { return } @@ -9482,9 +9470,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_LOCAL_MACHINE\", "HKLM:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { @@ -9530,9 +9521,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_CURRENT_USER\", "HKCU:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Sophia.ps1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Sophia.ps1 index 7418095c..459f90a9 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Sophia.ps1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2019/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 10 LTSC 2019" - Version: v5.3.2 - Date: 16.07.2022 + Version: v5.3.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -71,7 +71,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.3.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.3.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Functions.ps1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Functions.ps1 index abea68a4..5f5dc239 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Functions.ps1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -54,7 +54,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.13.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.13.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Manifest/Sophia.psd1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Manifest/Sophia.psd1 index a762e994..0cd5ac2d 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Manifest/Sophia.psd1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '5.13.2' + ModuleVersion = '5.13.3' GUID = '109cc881-c42b-45af-a74a-550781989d6a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2022 farag & Inestic. All rights reserved' diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Module/Sophia.psm1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Module/Sophia.psm1 index 0190c70e..72f048e6 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Module/Sophia.psm1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -74,51 +74,40 @@ function Checkings { Write-Warning -Message $Localization.UnsupportedOSBuild - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - - Start-Sleep -Seconds 1 - - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" - - Start-Sleep -Seconds 1 - - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" exit } - } - - # Check whether the OS minor build version is 1766 minimum - # https://docs.microsoft.com/en-us/windows/release-health/release-information - # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014699-os-builds-19042-1766-19043-1766-and-19044-1766-5c81d49d-0b6e-4808-9485-1f54e5d1bb15 - switch ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 1766) - { - $false + $true { - $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR - Write-Warning -Message ($Localization.UpdateWarning -f $Version) + # Check whether the OS minor build version is 1766 minimum + # https://docs.microsoft.com/en-us/windows/release-health/release-information + # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014699-os-builds-19042-1766-19043-1766-and-19044-1766-5c81d49d-0b6e-4808-9485-1f54e5d1bb15 + if (-not ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 1766)) + { + $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR + Write-Warning -Message ($Localization.UpdateWarning -f $Version) - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") + Start-Process -FilePath "https://t.me/sophia_chat" - Start-Sleep -Seconds 1 + # Enable receiving updates for other Microsoft products when you update Windows + (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" + Start-Sleep -Seconds 1 - Start-Sleep -Seconds 1 + # Check for UWP apps updates + Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() + # Open the "Windows Update" page + Start-Process -FilePath "ms-settings:windowsupdate-action" - Start-Process -FilePath "https://t.me/sophia_chat" + Start-Sleep -Seconds 1 - exit + # Trigger Windows Update for detecting new updates + (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() + + exit + } } } @@ -292,6 +281,7 @@ function Checkings catch [Microsoft.Management.Infrastructure.CimException] { # Provider Load Failure exception + $Localization.DefenderBroken $Global:Error.Exception[-1] Start-Process -FilePath "https://t.me/sophia_chat" @@ -319,7 +309,7 @@ function Checkings } else { - if ((Get-Service -Name $_ -ErrorAction Ignore).Status -eq "running") + if ((Get-Service -Name $_).Status -eq "running") { $Script:DefenderServices = $true } @@ -8980,14 +8970,14 @@ function NetworkProtection { "Enable" { - if ((Get-MpComputerStatus).AntivirusEnabled) + if ($Script:DefenderEnabled) { Set-MpPreference -EnableNetworkProtection Enabled } } "Disable" { - if ((Get-MpComputerStatus).AntivirusEnabled) + if ($Script:DefenderEnabled) { Set-MpPreference -EnableNetworkProtection Disabled } @@ -10610,9 +10600,7 @@ function MultipleInvokeContext #> function UpdateLGPEPolicies { - if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript { - ($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*") -or ($_.Edition -eq "Education") - })) + if (-not (Test-Path -Path "$env:SystemRoot\System32\gpedit.msc")) { return } @@ -10639,9 +10627,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_LOCAL_MACHINE\", "HKLM:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { @@ -10687,9 +10678,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_CURRENT_USER\", "HKCU:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { diff --git a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Sophia.ps1 b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Sophia.ps1 index 3742c20d..158ea745 100644 --- a/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Sophia.ps1 +++ b/Sophia Script/Sophia Script for Windows 10 LTSC 2021/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 10 LTSC 2021" - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -71,7 +71,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.13.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.13.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Functions.ps1 b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Functions.ps1 index 62d70da0..0e2a72f4 100644 --- a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Functions.ps1 +++ b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -54,7 +54,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.2 (PowerShell 7) | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.3 (PowerShell 7) | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Manifest/Sophia.psd1 b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Manifest/Sophia.psd1 index 60336a57..2115e316 100644 --- a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Manifest/Sophia.psd1 +++ b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '5.13.2' + ModuleVersion = '5.13.3' GUID = 'aa0b47a7-1770-4b5d-8c9f-cc6c505bcc7a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2022 farag & Inestic. All rights reserved' diff --git a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Module/Sophia.psm1 b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Module/Sophia.psm1 index ecf21db5..d5b10a1c 100644 --- a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Module/Sophia.psm1 +++ b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -74,57 +74,40 @@ function Checkings { Write-Warning -Message $Localization.UnsupportedOSBuild - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - - Start-Sleep -Seconds 1 - - # Check for UWP apps updates - Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" - - Start-Sleep -Seconds 1 - - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" exit } - } - - # Check whether the OS minor build version is 1766 minimum - # https://docs.microsoft.com/en-us/windows/release-health/release-information - # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014699-os-builds-19042-1766-19043-1766-and-19044-1766-5c81d49d-0b6e-4808-9485-1f54e5d1bb15 - switch ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 1766) - { - $false + $true { - $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR - Write-Warning -Message ($Localization.UpdateWarning -f $Version) + if (-not ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 1766)) + { + # Check whether the OS minor build version is 1766 minimum + # https://docs.microsoft.com/en-us/windows/release-health/release-information + # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014699-os-builds-19042-1766-19043-1766-and-19044-1766-5c81d49d-0b6e-4808-9485-1f54e5d1bb15 + $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR + Write-Warning -Message ($Localization.UpdateWarning -f $Version) - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") + Start-Process -FilePath "https://t.me/sophia_chat" - Start-Sleep -Seconds 1 + # Enable receiving updates for other Microsoft products when you update Windows + (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - # Check for UWP apps updates - Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod + Start-Sleep -Seconds 1 - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" + # Check for UWP apps updates + Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - Start-Sleep -Seconds 1 + # Open the "Windows Update" page + Start-Process -FilePath "ms-settings:windowsupdate-action" - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() + Start-Sleep -Seconds 1 - Start-Process -FilePath "https://t.me/sophia_chat" + # Trigger Windows Update for detecting new updates + (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - exit + exit + } } } @@ -300,6 +283,7 @@ function Checkings catch [Microsoft.Management.Infrastructure.CimException] { # Provider Load Failure exception + $Localization.DefenderBroken $Global:Error.Exception[-1] Start-Process -FilePath "https://t.me/sophia_chat" @@ -327,7 +311,7 @@ function Checkings } else { - if ((Get-Service -Name $_ -ErrorAction Ignore).Status -eq "running") + if ((Get-Service -Name $_).Status -eq "running") { $Script:DefenderServices = $true } @@ -494,16 +478,12 @@ function CreateRestorePoint $SystemDriveUniqueID = (Get-Volume | Where-Object -FilterScript {$_.DriveLetter -eq "$($env:SystemDrive[0])"}).UniqueID $SystemProtection = ((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SPP\Clients" -ErrorAction Ignore)."{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513}") | Where-Object -FilterScript {$_ -match [regex]::Escape($SystemDriveUniqueID)} - $ComputerRestorePoint = $false - - switch ($null -eq $SystemProtection) - { - $true - { - $ComputerRestorePoint = $true + $Script:ComputerRestorePoint = $false + $SystemProtection ?? (& { + $Script:ComputerRestorePoint = $true Enable-ComputerRestore -Drive $env:SystemDrive } - } + ) # Never skip creating a restore point New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name SystemRestorePointCreationFrequency -PropertyType DWord -Value 0 -Force @@ -514,7 +494,7 @@ function CreateRestorePoint New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name SystemRestorePointCreationFrequency -PropertyType DWord -Value 1440 -Force # Turn off System Protection for the system drive if it was turned off before without deleting the existing restore points - if ($ComputerRestorePoint) + if ($Script:ComputerRestorePoint) { Disable-ComputerRestore -Drive $env:SystemDrive } @@ -10506,7 +10486,7 @@ function CheckUWPAppsUpdates XboxGameBar -Enable .NOTES - To prevent popping up the "You'll need a new app to open this `ms-gamingoverlay`" warning, you need to disable the `Xbox Game Bar` app, even if you uninstalled it before. + To prevent popping up the "You'll need a new app to open this ms-gamingoverlay" warning, you need to disable the `Xbox Game Bar` app, even if you uninstalled it before. .NOTES Current user @@ -13041,9 +13021,7 @@ function UseStoreOpenWith #> function UpdateLGPEPolicies { - if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript { - ($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*") -or ($_.Edition -eq "Education") - })) + if (-not (Test-Path -Path "$env:SystemRoot\System32\gpedit.msc")) { return } @@ -13070,9 +13048,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_LOCAL_MACHINE\", "HKLM:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { @@ -13118,9 +13099,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_CURRENT_USER\", "HKCU:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { diff --git a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Sophia.ps1 b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Sophia.ps1 index ed019082..0c77eb3f 100644 --- a/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Sophia.ps1 +++ b/Sophia Script/Sophia Script for Windows 10 PowerShell 7/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 10 (PowerShell 7)" - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -71,7 +71,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.2 (PowerShell 7) | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.3 (PowerShell 7) | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 10/Functions.ps1 b/Sophia Script/Sophia Script for Windows 10/Functions.ps1 index 66af35b1..005b02bc 100644 --- a/Sophia Script/Sophia Script for Windows 10/Functions.ps1 +++ b/Sophia Script/Sophia Script for Windows 10/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -54,7 +54,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 10/Manifest/Sophia.psd1 b/Sophia Script/Sophia Script for Windows 10/Manifest/Sophia.psd1 index 8ce537ca..d941c9c4 100644 --- a/Sophia Script/Sophia Script for Windows 10/Manifest/Sophia.psd1 +++ b/Sophia Script/Sophia Script for Windows 10/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '5.13.2' + ModuleVersion = '5.13.3' GUID = '109cc881-c42b-45af-a74a-550781989d6a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2022 farag & Inestic. All rights reserved' diff --git a/Sophia Script/Sophia Script for Windows 10/Module/Sophia.psm1 b/Sophia Script/Sophia Script for Windows 10/Module/Sophia.psm1 index 9cd5c9a6..5a5b0731 100644 --- a/Sophia Script/Sophia Script for Windows 10/Module/Sophia.psm1 +++ b/Sophia Script/Sophia Script for Windows 10/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -74,57 +74,40 @@ function Checkings { Write-Warning -Message $Localization.UnsupportedOSBuild - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - - Start-Sleep -Seconds 1 - - # Check for UWP apps updates - Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" - - Start-Sleep -Seconds 1 - - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" exit } - } - - # Check whether the OS minor build version is 1766 minimum - # https://docs.microsoft.com/en-us/windows/release-health/release-information - # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014699-os-builds-19042-1766-19043-1766-and-19044-1766-5c81d49d-0b6e-4808-9485-1f54e5d1bb15 - switch ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 1766) - { - $false + $true { - $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR - Write-Warning -Message ($Localization.UpdateWarning -f $Version) + # Check whether the OS minor build version is 1766 minimum + # https://docs.microsoft.com/en-us/windows/release-health/release-information + # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014699-os-builds-19042-1766-19043-1766-and-19044-1766-5c81d49d-0b6e-4808-9485-1f54e5d1bb15 + if (-not ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 1766)) + { + $Version = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR + Write-Warning -Message ($Localization.UpdateWarning -f $Version) - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") + Start-Process -FilePath "https://t.me/sophia_chat" - Start-Sleep -Seconds 1 + # Enable receiving updates for other Microsoft products when you update Windows + (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - # Check for UWP apps updates - Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod + Start-Sleep -Seconds 1 - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" + # Check for UWP apps updates + Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - Start-Sleep -Seconds 1 + # Open the "Windows Update" page + Start-Process -FilePath "ms-settings:windowsupdate-action" - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() + Start-Sleep -Seconds 1 - Start-Process -FilePath "https://t.me/sophia_chat" + # Trigger Windows Update for detecting new updates + (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - exit + exit + } } } @@ -298,6 +281,7 @@ function Checkings catch [Microsoft.Management.Infrastructure.CimException] { # Provider Load Failure exception + $Localization.DefenderBroken $Global:Error.Exception[-1] Start-Process -FilePath "https://t.me/sophia_chat" @@ -325,7 +309,7 @@ function Checkings } else { - if ((Get-Service -Name $_ -ErrorAction Ignore).Status -eq "running") + if ((Get-Service -Name $_).Status -eq "running") { $Script:DefenderServices = $true } @@ -10465,7 +10449,7 @@ function CheckUWPAppsUpdates XboxGameBar -Enable .NOTES - To prevent popping up the "You'll need a new app to open this `ms-gamingoverlay`" warning, you need to disable the `Xbox Game Bar` app, even if you uninstalled it before. + To prevent popping up the "You'll need a new app to open this ms-gamingoverlay" warning, you need to disable the `Xbox Game Bar` app, even if you uninstalled it before. .NOTES Current user @@ -12998,9 +12982,7 @@ function UseStoreOpenWith #> function UpdateLGPEPolicies { - if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript { - ($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*") -or ($_.Edition -eq "Education") - })) + if (-not (Test-Path -Path "$env:SystemRoot\System32\gpedit.msc")) { return } @@ -13027,9 +13009,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_LOCAL_MACHINE\", "HKLM:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { @@ -13075,9 +13060,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_CURRENT_USER\", "HKCU:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { diff --git a/Sophia Script/Sophia Script for Windows 10/Sophia.ps1 b/Sophia Script/Sophia Script for Windows 10/Sophia.ps1 index 59fb3fa3..dd9fa976 100644 --- a/Sophia Script/Sophia Script for Windows 10/Sophia.ps1 +++ b/Sophia Script/Sophia Script for Windows 10/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 10" - Version: v5.13.2 - Date: 16.07.2022 + Version: v5.13.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -71,7 +71,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.13.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Functions.ps1 b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Functions.ps1 index 5404acd5..67372e80 100644 --- a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Functions.ps1 +++ b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v6.1.2 - Date: 16.07.2022 + Version: v6.1.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -54,7 +54,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Manifest/Sophia.psd1 b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Manifest/Sophia.psd1 index 7f60aba0..f9d28a7c 100644 --- a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Manifest/Sophia.psd1 +++ b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '6.1.2' + ModuleVersion = '6.1.3' GUID = '109cc881-c42b-45af-a74a-550781989d6a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2022 farag & Inestic. All rights reserved' diff --git a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Module/Sophia.psm1 b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Module/Sophia.psm1 index b7f0d9cf..e3ad4c88 100644 --- a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Module/Sophia.psm1 +++ b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v6.1.2 - Date: 16.07.2022 + Version: v6.1.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -63,40 +63,22 @@ function Checkings { Write-Warning -Message $Localization.UnsupportedOSBuild - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - - Start-Sleep -Seconds 1 - - # Check for UWP apps updates - Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" - - Start-Sleep -Seconds 1 - - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" exit } - } - - # Check whether the OS minor build version is 739 minimum - # https://docs.microsoft.com/en-us/windows/release-health/windows11-release-information - # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014697-os-build-22000-739-cd3aaa0b-a8da-44a0-a778-dfb6f1d9ea11 - switch ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 739) - { - $false + $true { - if ((Get-CimInstance -ClassName Win32_OperatingSystem).BuildNumber -eq 22000) + # Check whether the OS minor build version is 739 minimum + # https://docs.microsoft.com/en-us/windows/release-health/windows11-release-information + # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014697-os-build-22000-739-cd3aaa0b-a8da-44a0-a778-dfb6f1d9ea11 + if (-not ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 739)) { $Version = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" Write-Warning -Message ($Localization.UpdateWarning -f $Version.CurrentBuild, $Version.UBR) + Start-Process -FilePath "https://t.me/sophia_chat" + # Enable receiving updates for other Microsoft products when you update Windows (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") @@ -113,8 +95,6 @@ function Checkings # Trigger Windows Update for detecting new updates (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" - exit } } @@ -293,6 +273,7 @@ function Checkings catch [Microsoft.Management.Infrastructure.CimException] { # Provider Load Failure exception + $Localization.DefenderBroken $Global:Error.Exception[-1] Start-Process -FilePath "https://t.me/sophia_chat" @@ -320,7 +301,7 @@ function Checkings } else { - if ((Get-Service -Name $_ -ErrorAction Ignore).Status -eq "running") + if ((Get-Service -Name $_).Status -eq "running") { $Script:DefenderServices = $true } @@ -487,16 +468,12 @@ function CreateRestorePoint $SystemDriveUniqueID = (Get-Volume | Where-Object -FilterScript {$_.DriveLetter -eq "$($env:SystemDrive[0])"}).UniqueID $SystemProtection = ((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SPP\Clients" -ErrorAction Ignore)."{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513}") | Where-Object -FilterScript {$_ -match [regex]::Escape($SystemDriveUniqueID)} - $ComputerRestorePoint = $false - - switch ($null -eq $SystemProtection) - { - $true - { - $ComputerRestorePoint = $true + $Script:ComputerRestorePoint = $false + $SystemProtection ?? (& { + $Script:ComputerRestorePoint = $true Enable-ComputerRestore -Drive $env:SystemDrive } - } + ) # Never skip creating a restore point New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name SystemRestorePointCreationFrequency -PropertyType DWord -Value 0 -Force @@ -507,7 +484,7 @@ function CreateRestorePoint New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name SystemRestorePointCreationFrequency -PropertyType DWord -Value 1440 -Force # Turn off System Protection for the system drive if it was turned off before without deleting the existing restore points - if ($ComputerRestorePoint) + if ($Script:ComputerRestorePoint) { Disable-ComputerRestore -Drive $env:SystemDrive } @@ -12463,9 +12440,7 @@ function Windows10ContextMenu #> function UpdateLGPEPolicies { - if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript { - ($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*") -or ($_.Edition -eq "Education") - })) + if (-not (Test-Path -Path "$env:SystemRoot\System32\gpedit.msc")) { return } @@ -12492,9 +12467,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_LOCAL_MACHINE\", "HKLM:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { @@ -12540,9 +12518,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_CURRENT_USER\", "HKCU:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { diff --git a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Sophia.ps1 b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Sophia.ps1 index 4ce9d42b..d0ddff2f 100644 --- a/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Sophia.ps1 +++ b/Sophia Script/Sophia Script for Windows 11 PowerShell 7/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 11 (PowerShell 7)" - Version: v6.1.2 - Date: 16.07.2022 + Version: v6.1.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.2 (PowerShell 7) | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.3 (PowerShell 7) | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 11/Functions.ps1 b/Sophia Script/Sophia Script for Windows 11/Functions.ps1 index aff8300c..34d9d5b0 100644 --- a/Sophia Script/Sophia Script for Windows 11/Functions.ps1 +++ b/Sophia Script/Sophia Script for Windows 11/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v6.1.2 - Date: 16.07.2022 + Version: v6.1.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -54,7 +54,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Sophia Script/Sophia Script for Windows 11/Manifest/Sophia.psd1 b/Sophia Script/Sophia Script for Windows 11/Manifest/Sophia.psd1 index 4eea6040..2a6f96bb 100644 --- a/Sophia Script/Sophia Script for Windows 11/Manifest/Sophia.psd1 +++ b/Sophia Script/Sophia Script for Windows 11/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '6.1.2' + ModuleVersion = '6.1.3' GUID = '109cc881-c42b-45af-a74a-550781989d6a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2022 farag & Inestic. All rights reserved' diff --git a/Sophia Script/Sophia Script for Windows 11/Module/Sophia.psm1 b/Sophia Script/Sophia Script for Windows 11/Module/Sophia.psm1 index 0d38175a..0e5ec560 100644 --- a/Sophia Script/Sophia Script for Windows 11/Module/Sophia.psm1 +++ b/Sophia Script/Sophia Script for Windows 11/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v6.1.2 - Date: 16.07.2022 + Version: v6.1.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -63,40 +63,22 @@ function Checkings { Write-Warning -Message $Localization.UnsupportedOSBuild - # Enable receiving updates for other Microsoft products when you update Windows - (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") - - Start-Sleep -Seconds 1 - - # Check for UWP apps updates - Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod - - # Open the "Windows Update" page - Start-Process -FilePath "ms-settings:windowsupdate-action" - - Start-Sleep -Seconds 1 - - # Trigger Windows Update for detecting new updates - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" exit } - } - - # Check whether the OS minor build version is 739 minimum - # https://docs.microsoft.com/en-us/windows/release-health/windows11-release-information - # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014697-os-build-22000-739-cd3aaa0b-a8da-44a0-a778-dfb6f1d9ea11 - switch ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 739) - { - $false + $true { - if ((Get-CimInstance -ClassName Win32_OperatingSystem).BuildNumber -eq 22000) + # Check whether the OS minor build version is 739 minimum + # https://docs.microsoft.com/en-us/windows/release-health/windows11-release-information + # https://support.microsoft.com/en-us/topic/june-14-2022-kb5014697-os-build-22000-739-cd3aaa0b-a8da-44a0-a778-dfb6f1d9ea11 + if (-not ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name UBR) -ge 739)) { $Version = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" Write-Warning -Message ($Localization.UpdateWarning -f $Version.CurrentBuild, $Version.UBR) + Start-Process -FilePath "https://t.me/sophia_chat" + # Enable receiving updates for other Microsoft products when you update Windows (New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "") @@ -113,8 +95,6 @@ function Checkings # Trigger Windows Update for detecting new updates (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - Start-Process -FilePath "https://t.me/sophia_chat" - exit } } @@ -291,6 +271,7 @@ function Checkings catch [Microsoft.Management.Infrastructure.CimException] { # Provider Load Failure exception + $Localization.DefenderBroken $Global:Error.Exception[-1] Start-Process -FilePath "https://t.me/sophia_chat" @@ -318,7 +299,7 @@ function Checkings } else { - if ((Get-Service -Name $_ -ErrorAction Ignore).Status -eq "running") + if ((Get-Service -Name $_).Status -eq "running") { $Script:DefenderServices = $true } @@ -12422,9 +12403,7 @@ function Windows10ContextMenu #> function UpdateLGPEPolicies { - if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript { - ($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*") -or ($_.Edition -eq "Education") - })) + if (-not (Test-Path -Path "$env:SystemRoot\System32\gpedit.msc")) { return } @@ -12451,9 +12430,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_LOCAL_MACHINE\", "HKLM:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { @@ -12499,9 +12481,12 @@ function UpdateLGPEPolicies [xml]$config = Get-Content -Path $admx.FullName -Encoding UTF8 $SplitPath = Split-Path -Path $Path.Name.Replace("HKEY_CURRENT_USER\", "HKCU:") -NoQualifier - if ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + if (($config.policyDefinitions.policies.policy | Where-Object -FilterScript { ($_.key -eq $SplitPath) -and ($_.valueName -eq $Item) -or (($_.key -eq $SplitPath) -and ($_.Name -eq $Item)) - }) + }) -or + ($config.policyDefinitions.policies.policy | Where-Object -FilterScript { + ($_.key -eq $SplitPath) + } | Where-Object -FilterScript {$_.elements.enum.valueName -eq $Item})) { try { diff --git a/Sophia Script/Sophia Script for Windows 11/Sophia.ps1 b/Sophia Script/Sophia Script for Windows 11/Sophia.ps1 index bce8e191..4af0d2c2 100644 --- a/Sophia Script/Sophia Script for Windows 11/Sophia.ps1 +++ b/Sophia Script/Sophia Script for Windows 11/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 11" - Version: v6.1.2 - Date: 16.07.2022 + Version: v6.1.3 + Date: 26.07.2022 Copyright (c) 2014—2022 farag Copyright (c) 2019—2022 farag & Inestic @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.2 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.1.3 | Made with $([char]::ConvertFromUtf32(0x1F497)) of Windows | $([char]0x00A9) farag & Inestic, 2014$([char]0x2013)2022" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/Wrapper/SophiaScriptWrapper.exe b/Wrapper/SophiaScriptWrapper.exe index 3682d25eddf8718c3cf0b2a00986569c012648dd..8793106ace78c9a97a216f550628e659ee3e2fa7 100644 GIT binary patch delta 9596 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