Загрузка данных


import ctypes, os, subprocess, sys
from datetime import datetime

KEYS = [
    r"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies",
    r"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies",
    r"HKCU\Software\Policies",
    r"HKLM\SOFTWARE\Policies",
]

def run(cmd):
    print("> " + " ".join(cmd))
    r = subprocess.run(cmd, capture_output=True, text=True)
    if r.stdout.strip(): print(r.stdout.strip())
    if r.stderr.strip(): print(r.stderr.strip())

def is_admin():
    try: return bool(ctypes.windll.shell32.IsUserAnAdmin())
    except Exception: return False

if not is_admin():
    ctypes.windll.shell32.ShellExecuteW(
        None, "runas", sys.executable, " ".join(f'"{a}"' for a in sys.argv), None, 1)
    sys.exit(0)

backup_dir = os.path.join(os.path.expanduser("~"), "Desktop",
                          "policies_backup_" + datetime.now().strftime("%Y%m%d_%H%M%S"))

print("Резервное копирование и удаление политик...\n")
os.makedirs(backup_dir, exist_ok=True)

for key in KEYS:
    fname = key.replace("\\", "_") + ".reg"
    run(["reg", "export", key, os.path.join(backup_dir, fname), "/y"])

for key in KEYS:
    run(["reg", "delete", key, "/f"])

print("\nПроверка домена:")
run(["powershell", "-NoProfile", "-Command",
     "(Get-CimInstance Win32_ComputerSystem).Domain"])

print("\nПерезапуск проводника...")
run(["taskkill", "/f", "/im", "explorer.exe"])
run(["cmd", "/c", "start", "explorer.exe"])
print("\nГотово. Если после перезагрузки всё вернулось — см. шаг 4.")