Browse Source

Merge pull request #431 from alan-null/issue/430

#430 | DefenderServices check (edge-cases)
pull/437/head
Dmitry Nefedov 2 years ago
committed by GitHub
parent
commit
547b14d010
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      src/Sophia_Script_for_Windows_10/Module/Sophia.psm1
  2. 29
      src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1
  3. 29
      src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1
  4. 29
      src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1
  5. 29
      src/Sophia_Script_for_Windows_11/Module/Sophia.psm1
  6. 29
      src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1

29
src/Sophia_Script_for_Windows_10/Module/Sophia.psm1

@ -289,24 +289,17 @@ function Checks
} }
# Checking services # Checking services
@("Windefend", "SecurityHealthService", "wscsvc") | ForEach-Object -Process { try
if ($null -eq (Get-Service -Name $_ -ErrorAction Ignore)) {
{ $Services = Get-Service -Name Windefend, SecurityHealthService, wscsvc -ErrorAction Stop
$Localization.WindowsBroken
exit
}
else
{
if ((Get-Service -Name $_).Status -eq "running")
{
$Script:DefenderServices = $true
}
else
{
$Script:DefenderServices = $false
}
}
} }
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
$Localization.WindowsBroken
exit
}
[array]$notRunning = $Services | Where-Object -FilterScript {$_.Status -ne "running"}
$Script:DefenderServices = $notRunning.Count -eq 0
# Specifies whether Antispyware protection is enabled # Specifies whether Antispyware protection is enabled
if ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name EditionID) -ne "EnterpriseG") if ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name EditionID) -ne "EnterpriseG")
@ -8444,7 +8437,7 @@ namespace RegistryUtils
uint maxValueLen; uint maxValueLen;
uint securityDescriptor; uint securityDescriptor;
StringBuilder sb; StringBuilder sb;
if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen, if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen,
out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0) out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0)
{ {

29
src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1

@ -271,24 +271,17 @@ function Checks
} }
# Checking services # Checking services
@("Windefend", "SecurityHealthService", "wscsvc") | ForEach-Object -Process { try
if ($null -eq (Get-Service -Name $_ -ErrorAction Ignore)) {
{ $Services = Get-Service -Name Windefend, SecurityHealthService, wscsvc -ErrorAction Stop
$Localization.WindowsBroken
exit
}
else
{
if ((Get-Service -Name $_).Status -eq "running")
{
$Script:DefenderServices = $true
}
else
{
$Script:DefenderServices = $false
}
}
} }
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
$Localization.WindowsBroken
exit
}
[array]$notRunning = $Services | Where-Object -FilterScript {$_.Status -ne "running"}
$Script:DefenderServices = $notRunning.Count -eq 0
# Specifies whether Antispyware protection is enabled # Specifies 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)
@ -6877,7 +6870,7 @@ namespace RegistryUtils
uint maxValueLen; uint maxValueLen;
uint securityDescriptor; uint securityDescriptor;
StringBuilder sb; StringBuilder sb;
if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen, if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen,
out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0) out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0)
{ {

29
src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1

@ -271,24 +271,17 @@ function Checks
} }
# Checking services # Checking services
@("Windefend", "SecurityHealthService", "wscsvc") | ForEach-Object -Process { try
if ($null -eq (Get-Service -Name $_ -ErrorAction Ignore)) {
{ $Services = Get-Service -Name Windefend, SecurityHealthService, wscsvc -ErrorAction Stop
$Localization.WindowsBroken
exit
}
else
{
if ((Get-Service -Name $_).Status -eq "running")
{
$Script:DefenderServices = $true
}
else
{
$Script:DefenderServices = $false
}
}
} }
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
$Localization.WindowsBroken
exit
}
[array]$notRunning = $Services | Where-Object -FilterScript {$_.Status -ne "running"}
$Script:DefenderServices = $notRunning.Count -eq 0
# Specifies whether Antispyware protection is enabled # Specifies 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)
@ -7498,7 +7491,7 @@ namespace RegistryUtils
uint maxValueLen; uint maxValueLen;
uint securityDescriptor; uint securityDescriptor;
StringBuilder sb; StringBuilder sb;
if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen, if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen,
out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0) out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0)
{ {

29
src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1

@ -289,24 +289,17 @@ function Checks
} }
# Checking services # Checking services
@("Windefend", "SecurityHealthService", "wscsvc") | ForEach-Object -Process { try
if ($null -eq (Get-Service -Name $_ -ErrorAction Ignore)) {
{ $Services = Get-Service -Name Windefend, SecurityHealthService, wscsvc -ErrorAction Stop
$Localization.WindowsBroken
exit
}
else
{
if ((Get-Service -Name $_).Status -eq "running")
{
$Script:DefenderServices = $true
}
else
{
$Script:DefenderServices = $false
}
}
} }
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
$Localization.WindowsBroken
exit
}
[array]$notRunning = $Services | Where-Object -FilterScript {$_.Status -ne "running"}
$Script:DefenderServices = $notRunning.Count -eq 0
# Specifies whether Antispyware protection is enabled # Specifies whether Antispyware protection is enabled
if ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name EditionID) -ne "EnterpriseG") if ((Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name EditionID) -ne "EnterpriseG")
@ -8452,7 +8445,7 @@ namespace RegistryUtils
uint maxValueLen; uint maxValueLen;
uint securityDescriptor; uint securityDescriptor;
StringBuilder sb; StringBuilder sb;
if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen, if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen,
out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0) out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0)
{ {

29
src/Sophia_Script_for_Windows_11/Module/Sophia.psm1

@ -298,24 +298,17 @@ function Checks
} }
# Checking services # Checking services
@("Windefend", "SecurityHealthService", "wscsvc") | ForEach-Object -Process { try
if ($null -eq (Get-Service -Name $_ -ErrorAction Ignore)) {
{ $Services = Get-Service -Name Windefend, SecurityHealthService, wscsvc -ErrorAction Stop
$Localization.WindowsBroken
exit
}
else
{
if ((Get-Service -Name $_).Status -eq "running")
{
$Script:DefenderServices = $true
}
else
{
$Script:DefenderServices = $false
}
}
} }
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
$Localization.WindowsBroken
exit
}
[array]$notRunning = $Services | Where-Object -FilterScript {$_.Status -ne "running"}
$Script:DefenderServices = $notRunning.Count -eq 0
# Specifies whether Antispyware protection is enabled # Specifies 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)
@ -7915,7 +7908,7 @@ namespace RegistryUtils
uint maxValueLen; uint maxValueLen;
uint securityDescriptor; uint securityDescriptor;
StringBuilder sb; StringBuilder sb;
if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen, if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen,
out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0) out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0)
{ {

29
src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1

@ -298,24 +298,17 @@ function Checks
} }
# Checking services # Checking services
@("Windefend", "SecurityHealthService", "wscsvc") | ForEach-Object -Process { try
if ($null -eq (Get-Service -Name $_ -ErrorAction Ignore)) {
{ $Services = Get-Service -Name Windefend, SecurityHealthService, wscsvc -ErrorAction Stop
$Localization.WindowsBroken
exit
}
else
{
if ((Get-Service -Name $_).Status -eq "running")
{
$Script:DefenderServices = $true
}
else
{
$Script:DefenderServices = $false
}
}
} }
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
$Localization.WindowsBroken
exit
}
[array]$notRunning = $Services | Where-Object -FilterScript {$_.Status -ne "running"}
$Script:DefenderServices = $notRunning.Count -eq 0
# Specifies whether Antispyware protection is enabled # Specifies 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)
@ -7923,7 +7916,7 @@ namespace RegistryUtils
uint maxValueLen; uint maxValueLen;
uint securityDescriptor; uint securityDescriptor;
StringBuilder sb; StringBuilder sb;
if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen, if (RegQueryInfoKey(hKey, out sb, ref lpcbClass, lpReserved, out lpcbSubKeys, out lpcbMaxKeyLen, out lpcbMaxClassLen,
out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0) out lpcValues, out maxValueName, out maxValueLen, out securityDescriptor, ref lastModified) != 0)
{ {

Loading…
Cancel
Save