Firewall nach Skript nicht mehr ausführbar

Php400

Newbie
Registriert
Mai 2023
Beiträge
4
Hallo ihr Lieben,
ich habe vermutlich soeben einen Blödsinn angerichtet...

Ich bin gerade dabei meinen neuen Office-Computer einzurichten. Dafür habe ich dann eine .bat Datei ausgeführt, und erst zu spät gesehen, dass es die falsche war.....

Was mir nun eben aufgefallen ist, dass sich die Windows Firewall nicht mehr öffnen lässt.
Auch der Dienst (Services.msc) Windows Firewall ist deaktiviert und komplett alles ausgegraut.

Also mal die .bat Datei geöffnet und nach Firewall gesucht. Und folgende Befehle befanden sich in der falsch ausgeführten .bat bezüglich der FW:

Disable Windows Defender Firewall service (breaks Microsoft Store and netsh advfirewall CLI)
echo --- Disable Windows Defender Firewall service (breaks Microsoft Store and netsh advfirewall CLI)
PowerShell -ExecutionPolicy Unrestricted -Command "$serviceQuery = 'MpsSvc'; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceQuery -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service query "^""$serviceQuery"^"" did not yield any results, no need to disable it."^""; Exit 0; }; $serviceName = $service.Name; Write-Host "^""Disabling service: "^""$serviceName"^""."^""; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^"""^""$serviceName"^"" is running, trying to stop it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped "^""$serviceName"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop "^""$serviceName"^"", it will be stopped after reboot: $"^""; }; } else {; Write-Host "^"""^""$serviceName"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if service info is not found in registry #>; $registryKey = "^""HKLM:\SYSTEM\CurrentControlSet\Services\$serviceName"^""; if(!(Test-Path $registryKey)) {; Write-Host "^"""^""$registryKey"^"" is not found in registry, cannot enable it."^""; Exit 0; }; <# -- 4. Skip if already disabled #>; if( $(Get-ItemProperty -Path "^""$registryKey"^"").Start -eq 4) {; Write-Host "^"""^""$serviceName"^"" is already disabled from start, no further action is needed."^""; Exit 0; }; <# -- 5. Disable service #>; try {; Set-ItemProperty $registryKey -Name Start -Value 4 -Force -ErrorAction Stop; Write-Host "^""Disabled "^""$serviceName"^"" successfully."^""; } catch {; Write-Error "^""Could not disable "^""$serviceName"^"": $"^""; }"
if exist "%WinDir%\system32\mpssvc.dll" (
takeown /f "%WinDir%\system32\mpssvc.dll"
icacls "%WinDir%\system32\mpssvc.dll" /grant administrators:F
move "%WinDir%\system32\mpssvc.dll" "%WinDir%\system32\mpssvc.dll.OLD" && (
echo Moved "%WinDir%\system32\mpssvc.dll" to "%WinDir%\system32\mpssvc.dll.OLD"
) || (
echo Could not move %WinDir%\system32\mpssvc.dll 1>&2
)
) else (
echo No action required: %WinDir%\system32\mpssvc.dll is not found.

und

Disable Windows Defender Firewall Authorization Driver service (breaks netsh advfirewall CLI)
echo --- Disable Windows Defender Firewall Authorization Driver service (breaks netsh advfirewall CLI)
PowerShell -ExecutionPolicy Unrestricted -Command "$serviceQuery = 'mpsdrv'; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceQuery -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service query "^""$serviceQuery"^"" did not yield any results, no need to disable it."^""; Exit 0; }; $serviceName = $service.Name; Write-Host "^""Disabling service: "^""$serviceName"^""."^""; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^"""^""$serviceName"^"" is running, trying to stop it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped "^""$serviceName"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop "^""$serviceName"^"", it will be stopped after reboot: $"^""; }; } else {; Write-Host "^"""^""$serviceName"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if service info is not found in registry #>; $registryKey = "^""HKLM:\SYSTEM\CurrentControlSet\Services\$serviceName"^""; if(!(Test-Path $registryKey)) {; Write-Host "^"""^""$registryKey"^"" is not found in registry, cannot enable it."^""; Exit 0; }; <# -- 4. Skip if already disabled #>; if( $(Get-ItemProperty -Path "^""$registryKey"^"").Start -eq 4) {; Write-Host "^"""^""$serviceName"^"" is already disabled from start, no further action is needed."^""; Exit 0; }; <# -- 5. Disable service #>; try {; Set-ItemProperty $registryKey -Name Start -Value 4 -Force -ErrorAction Stop; Write-Host "^""Disabled "^""$serviceName"^"" successfully."^""; } catch {; Write-Error "^""Could not disable "^""$serviceName"^"": $"^""; }"
if exist "%SystemRoot%\System32\drivers\mpsdrv.sys" (
takeown /f "%SystemRoot%\System32\drivers\mpsdrv.sys"
icacls "%SystemRoot%\System32\drivers\mpsdrv.sys" /grant administrators:F
move "%SystemRoot%\System32\drivers\mpsdrv.sys" "%SystemRoot%\System32\drivers\mpsdrv.sys.OLD" && (
echo Moved "%SystemRoot%\System32\drivers\mpsdrv.sys" to "%SystemRoot%\System32\drivers\mpsdrv.sys.OLD"
) || (
echo Could not move %SystemRoot%\System32\drivers\mpsdrv.sys 1>&2
)
) else (
echo No action required: %SystemRoot%\System32\drivers\mpsdrv.sys is not found.

Kann mir vielleicht jemand sagen, wie ich dies Rückgängig machen kann?
Ich hoffe es ist nichts schlimmes und lässt sich wieder beheben.....

Ich Danke euch!
 
Ich würde sagen, lernen aus schmerzen und neu anfangen.
unbekannte Scripte sollte man nicht ausführen, ohne die Funktion im Grundsatz verstanden zu haben.

Ach ja, in den
Code:
Code-Tags
statt Zitat dürften die Scripte besser lesbar sein...
 
Dann am besten noch mal von vorne anfangen und die Finger von Scripts lassen die man nicht versteht.
 
Das Ding hat Dir komplett die Firewall deaktiviert inkl. umbennen der entsprechenden Sys Dateien.
Ich würde vorschlagen neu zu installieren.
Alternativ kannst Du jeden Schritt einzeln von unten nach oben wieder "rückwärts" ausführen.
Ich nehme doch an, dass die von Dir ist, oder führst Du öfter mal "unbekannte" bat Dateien als Administrator aus?
 
als admin folgendes .reg file adden:

Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mpssvc]

"Start"=dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mpsdrv]

"Start"=dword:00000003

als admin folgende .bat ausführen:

Code:
copy %WinDir%\system32\mpssvc.dll.OLD %WinDir%\system32\mpssvc.dll

copy %SystemRoot%\System32\drivers\mpsdrv.sys.OLD %SystemRoot%\System32\drivers\mpsdrv.sys

sc config "WinDefend" start=auto


danach reboot
 
  • Gefällt mir
Reaktionen: sikarr
Zurück
Oben