Browse Source

Updated readme

Updated Readme
master
Dmitry Nefedov 1 year ago
parent
commit
ea3c2c5016
  1. 13
      README.md
  2. 13
      README_de-de.md
  3. 11
      README_uk-ua.md
  4. 79
      src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1

13
README.md

@ -113,16 +113,17 @@
| Version | Marketing name | Build | Arch | Editions | | Version | Marketing name | Build | Arch | Editions |
|:-------------------------------------|--------------------:|:-----------:|:----:|:-------------------:| |:-------------------------------------|--------------------:|:-----------:|:----:|:-------------------:|
| Windows 11 Insider Preview 23H2 | 2023 Update | 22509+ | | Home/Pro/Enterprise | | Windows 11 Insider Preview 24H2 | 2024 Update | 22509+ | | Home/Pro/Enterprise |
| Windows 11 22H2 | 2022 Update | 22621.1928+ | | Home/Pro/Enterprise | | Windows 11 23H2 | 2023 Update | 22631.2715+ | | Home/Pro/Enterprise |
| Windows 10 22H2 | 2022 Update | 19045.3155+ | x64 | Home/Pro/Enterprise | | Windows 11 22H2 | 2022 Update | 22621.2428+ | | Home/Pro/Enterprise |
| Windows 10 21H2 Enterprise LTSC 2021 | October 2021 Update | 19044.3155+ | x64 | Enterprise | | Windows 10 22H2 | 2022 Update | 19045.3570+ | x64 | Home/Pro/Enterprise |
| Windows 10 1809 Enterprise LTSC 2019 | October 2018 Update | 17763.4499+ | x64 | Enterprise | | Windows 10 21H2 Enterprise LTSC 2021 | October 2021 Update | 19044.3570+ | x64 | Enterprise |
| Windows 10 1809 Enterprise LTSC 2019 | October 2018 Update | 17763.4974+ | x64 | Enterprise |
### Warning ### Warning
* It's allowed to be logged in as one admin user only during application startup. * It's allowed to be logged in as one admin user only during application startup.
* 🔥🔥🔥`Sophia Script for Windows` may not work on a homebrew Windows. Especially, if the homebrew image was created by OS makers being all thumbs who break Microsoft Defender and disable OS telemetry by purposely uprooting system components * 🔥🔥🔥 `Sophia Script for Windows` may not work on a homebrew Windows. Especially, if the homebrew image was created by OS makers being all thumbs who break Microsoft Defender and disable OS telemetry by purposely uprooting system components
## Key features ## Key features

13
README_de-de.md

@ -113,16 +113,17 @@
| Version | Marketing name | Build | Arch | Editions | | Version | Marketing name | Build | Arch | Editions |
|:-------------------------------------|--------------------:|:-----------:|:----:|:-------------------:| |:-------------------------------------|--------------------:|:-----------:|:----:|:-------------------:|
| Windows 11 Insider Preview 23H2 | 2023 Update | 22509+ | | Home/Pro/Enterprise | | Windows 11 Insider Preview 24H2 | 2024 Update | 22509+ | | Home/Pro/Enterprise |
| Windows 11 22H2 | 2022 Update | 22621.1928+ | | Home/Pro/Enterprise | | Windows 11 23H2 | 2023 Update | 22631.2715+ | | Home/Pro/Enterprise |
| Windows 10 22H2 | 2022 Update | 19045.3155+ | x64 | Home/Pro/Enterprise | | Windows 11 22H2 | 2022 Update | 22621.2428+ | | Home/Pro/Enterprise |
| Windows 10 21H2 Enterprise LTSC 2021 | October 2021 Update | 19044.3155+ | x64 | Enterprise | | Windows 10 22H2 | 2022 Update | 19045.3570+ | x64 | Home/Pro/Enterprise |
| Windows 10 1809 Enterprise LTSC 2019 | October 2018 Update | 17763.4499+ | x64 | Enterprise | | Windows 10 21H2 Enterprise LTSC 2021 | October 2021 Update | 19044.3570+ | x64 | Enterprise |
| Windows 10 1809 Enterprise LTSC 2019 | October 2018 Update | 17763.4974+ | x64 | Enterprise |
### Warnung ### Warnung
* Es darf nur ein Admin-Benutzer während des Starts der Anwendung angemeldet sein. * Es darf nur ein Admin-Benutzer während des Starts der Anwendung angemeldet sein.
* 🔥🔥🔥`Sophia Script for Windows` funktioniert möglicherweise nicht auf einem selbstgebauten Windows. Insbesondere, wenn das Homebrew-Image von Betriebssystemherstellern erstellt wurde, die Microsoft Defender zerstören und die Telemetrie des Betriebssystems deaktivieren, indem sie absichtlich Systemkomponenten "uprooten". * 🔥🔥🔥 `Sophia Script for Windows` funktioniert möglicherweise nicht auf einem selbstgebauten Windows. Insbesondere, wenn das Homebrew-Image von Betriebssystemherstellern erstellt wurde, die Microsoft Defender zerstören und die Telemetrie des Betriebssystems deaktivieren, indem sie absichtlich Systemkomponenten "uprooten".
## Haupt-Features ## Haupt-Features

11
README_uk-ua.md

@ -113,11 +113,12 @@
| Версія | Маркетингова назва | Збіркa | Архітектура | Видання | | Версія | Маркетингова назва | Збіркa | Архітектура | Видання |
|:-------------------------------------|--------------------:|:-----------:|:-----------:|:-------------------:| |:-------------------------------------|--------------------:|:-----------:|:-----------:|:-------------------:|
| Windows 11 Insider Preview 23H2 | 2023 Update | 22509+ | | Home/Pro/Enterprise | | Windows 11 Insider Preview 24H2 | 2024 Update | 22509+ | | Home/Pro/Enterprise |
| Windows 11 22H2 | 2022 Update | 22621.1928+ | | Home/Pro/Enterprise | | Windows 11 23H2 | 2023 Update | 22631.2715+ | | Home/Pro/Enterprise |
| Windows 10 22H2 | 2022 Update | 19045.3155+ | x64 | Home/Pro/Enterprise | | Windows 11 22H2 | 2022 Update | 22621.2428+ | | Home/Pro/Enterprise |
| Windows 10 21H2 Enterprise LTSC 2021 | October 2021 Update | 19044.3155+ | x64 | Enterprise | | Windows 10 22H2 | 2022 Update | 19045.3570+ | x64 | Home/Pro/Enterprise |
| Windows 10 1809 Enterprise LTSC 2019 | October 2018 Update | 17763.4499+ | x64 | Enterprise | | Windows 10 21H2 Enterprise LTSC 2021 | October 2021 Update | 19044.3570+ | x64 | Enterprise |
| Windows 10 1809 Enterprise LTSC 2019 | October 2018 Update | 17763.4974+ | x64 | Enterprise |
### Увага ### Увага

79
src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1

@ -472,6 +472,17 @@ public static string GetString(uint strId)
exit exit
} }
# Check if Microsoft Store being an important system component was removed
if (-not (Get-AppxPackage -Name Microsoft.WindowsStore))
{
Write-Warning -Message ($Localization.WindowsComponentBroken -f "Microsoft Store")
Start-Process -FilePath "https://t.me/sophia_chat"
Start-Process -FilePath "https://discord.gg/sSryhaEv79"
exit
}
# Check if the current module version is the latest one # Check if the current module version is the latest one
try try
{ {
@ -542,6 +553,17 @@ public static string GetString(uint strId)
} }
} }
# Checking whether Windows Security Settings page was hidden from UI
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer", "SettingsPageVisibility", $null) -match "hide:windowsdefender")
{
$Script:DefenderSettingsPageDisplayed = $false
}
else
{
$Script:DefenderSettingsPageDisplayed = $true
}
# Checking whether WMI is corrupted # Checking whether WMI is corrupted
try try
{ {
@ -570,6 +592,17 @@ public static string GetString(uint strId)
exit exit
} }
# Checking whether Windows Security Settings page was hidden from UI
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer", "SettingsPageVisibility", $null) -match "hide:windowsdefender")
{
Write-Warning -Message ($Localization.WindowsComponentBroken -f "Microsoft Defender")
Start-Process -FilePath "https://t.me/sophia_chat"
Start-Process -FilePath "https://discord.gg/sSryhaEv79"
exit
}
# Checking services # Checking services
try try
{ {
@ -591,12 +624,8 @@ public static string GetString(uint strId)
$DefenderState = ('0x{0:x}' -f $productState).Substring(3, 2) $DefenderState = ('0x{0:x}' -f $productState).Substring(3, 2)
if ($DefenderState -notmatch "00|01") if ($DefenderState -notmatch "00|01")
{ {
$Script:DefenderproductState = $true # Defender is a currently used AV. Continue...
} $Script:DefenderProductState = $true
else
{
$Script:DefenderproductState = $false
}
# Specify whether Antispyware protection is enabled # Specify whether Antispyware protection is enabled
if ((Get-CimInstance -ClassName MSFT_MpComputerStatus -Namespace root/Microsoft/Windows/Defender).AntispywareEnabled) if ((Get-CimInstance -ClassName MSFT_MpComputerStatus -Namespace root/Microsoft/Windows/Defender).AntispywareEnabled)
@ -611,8 +640,6 @@ public static string GetString(uint strId)
# https://docs.microsoft.com/en-us/graph/api/resources/intune-devices-windowsdefenderproductstatus?view=graph-rest-beta # https://docs.microsoft.com/en-us/graph/api/resources/intune-devices-windowsdefenderproductstatus?view=graph-rest-beta
# Due to "Set-StrictMode -Version Latest" we have to call Get-Member first to check whether ProductStatus property exists # Due to "Set-StrictMode -Version Latest" we have to call Get-Member first to check whether ProductStatus property exists
if (Get-CimInstance -ClassName MSFT_MpComputerStatus -Namespace root/Microsoft/Windows/Defender | Get-Member | Where-Object -FilterScript {$_.Name -eq "ProductStatus"}) if (Get-CimInstance -ClassName MSFT_MpComputerStatus -Namespace root/Microsoft/Windows/Defender | Get-Member | Where-Object -FilterScript {$_.Name -eq "ProductStatus"})
{
if ($Script:DefenderproductState)
{ {
if ((Get-CimInstance -ClassName MSFT_MpComputerStatus -Namespace root/Microsoft/Windows/Defender).ProductStatus -eq 1) if ((Get-CimInstance -ClassName MSFT_MpComputerStatus -Namespace root/Microsoft/Windows/Defender).ProductStatus -eq 1)
{ {
@ -624,11 +651,6 @@ public static string GetString(uint strId)
} }
} }
else else
{
$Script:DefenderProductState = $false
}
}
else
{ {
Write-Warning -Message $Localization.UpdateDefender Write-Warning -Message $Localization.UpdateDefender
@ -664,37 +686,41 @@ public static string GetString(uint strId)
# Due to "Set-StrictMode -Version Latest" we have to use GetValue() # Due to "Set-StrictMode -Version Latest" we have to use GetValue()
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender", "DisableAntiSpyware", $null) -eq 1) if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender", "DisableAntiSpyware", $null) -eq 1)
{ {
$Script:DisableAntiSpyware = $true $Script:AntiSpywareEnabled = $false
} }
else else
{ {
$Script:DisableAntiSpyware = $false $Script:AntiSpywareEnabled = $true
} }
# Check whether real-time protection prompts for known malware detection # Check whether real-time protection prompts for known malware detection
# Due to "Set-StrictMode -Version Latest" we have to use GetValue() # Due to "Set-StrictMode -Version Latest" we have to use GetValue()
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection", "DisableRealtimeMonitoring", $null) -eq 1) if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection", "DisableRealtimeMonitoring", $null) -eq 1)
{ {
$Script:DisableRealtimeMonitoring = $true $Script:RealtimeMonitoringEnabled = $false
} }
else else
{ {
$Script:DisableRealtimeMonitoring = $false $Script:RealtimeMonitoringEnabled = $true
} }
# Check whether behavior monitoring was disabled # Check whether behavior monitoring was disabled
# Due to "Set-StrictMode -Version Latest" we have to use GetValue() # Due to "Set-StrictMode -Version Latest" we have to use GetValue()
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection", "DisableBehaviorMonitoring", $null) -eq 1) if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection", "DisableBehaviorMonitoring", $null) -eq 1)
{ {
$Script:DisableBehaviorMonitoring = $true $Script:BehaviorMonitoringEnabled = $false
}
else
{
$Script:BehaviorMonitoringEnabled = $true
}
} }
else else
{ {
$Script:DisableBehaviorMonitoring = $false $Script:DefenderProductState = $false
} }
if ($Script:DefenderproductState -and $Script:DefenderServices -and $Script:DefenderAntispywareEnabled -and $Script:DefenderAMEngineVersion -and if ($Script:DefenderServices -and $Script:DefenderproductState -and $Script:DefenderAntispywareEnabled -and $Script:DefenderAMEngineVersion -and $Script:AntiSpywareEnabled -and $Script:RealtimeMonitoringEnabled -and $Script:BehaviorMonitoringEnabled)
(-not $Script:DisableAntiSpyware) -and (-not $Script:DisableRealtimeMonitoring) -and (-not $Script:DisableBehaviorMonitoring))
{ {
# Defender is enabled # Defender is enabled
$Script:DefenderEnabled = $true $Script:DefenderEnabled = $true
@ -863,17 +889,6 @@ public static string GetString(uint strId)
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
} }
# Check if Microsoft Store as being an important system component was removed
if (-not (Get-AppxPackage -Name Microsoft.WindowsStore))
{
Write-Warning -Message ($Localization.WindowsComponentBroken -f "Microsoft Store")
Start-Process -FilePath "https://t.me/sophia_chat"
Start-Process -FilePath "https://discord.gg/sSryhaEv79"
exit
}
# PowerShell 5.1 (7.3 too) interprets 8.3 file name literally, if an environment variable contains a non-latin word # PowerShell 5.1 (7.3 too) interprets 8.3 file name literally, if an environment variable contains a non-latin word
Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore Get-ChildItem -Path "$env:TEMP\Computer.txt", "$env:TEMP\User.txt" -Force -ErrorAction Ignore | Remove-Item -Recurse -Force -ErrorAction Ignore

Loading…
Cancel
Save