امنیت سیستم با PowerShell: خاموشی خودکار در صورت حذف فولدر خاص!

:white_check_mark: نوشتن اسکریپت PowerShell برای خاموش کردن سیستم
:white_check_mark: تنظیم Task Scheduler برای اجرای خودکار و مداوم
:white_check_mark: روش‌های جلوگیری از دور زدن این ترفند!

:stop_sign: نذار کسی بدون اجازه از سیستمت استفاده کنه! این روش رو ببین و یه سد امنیتی واقعی بساز!

:pushpin: ایده پشت این روش چیست؟

فرض کنید نمی‌خواهید کسی بدون اجازه از کامپیوتر شما استفاده کند. با این ترفند، اگر فولدر مشخصی روی دسکتاپ شما حذف شود، سیستم به‌طور خودکار خاموش یا ری‌استارت می‌شود! این روش می‌تواند به عنوان یک قفل نرم‌افزاری عمل کند که فقط با وجود فولدر موردنظر، سیستم پایدار باقی می‌ماند.

:rocket: مرحله اول: نوشتن اسکریپت PowerShell

کد زیر را در یک فایل PowerShell ذخیره کنید:

# مسیر دسکتاپ کاربر فعلی
$DesktopPath = [Environment]::GetFolderPath("Desktop")
$FolderName = "imorbiusbot"
$TargetFolder = Join-Path -Path $DesktopPath -ChildPath $FolderName

# چک کردن فولدر
if (-Not (Test-Path -Path $TargetFolder)) {
    # منتظر ماندن به مدت 30 ثانیه
    Start-Sleep -Seconds 30

    # دوباره چک کردن
    if (-Not (Test-Path -Path $TargetFolder)) {
        # خاموش کردن سیستم
        Stop-Computer -Force
        
        # یا ری‌استارت کردن
        Restart-Computer -Force
    }
}

:small_blue_diamond: این اسکریپت هر بار که اجرا شود، بررسی می‌کند که آیا فولدر imorbiusbot روی دسکتاپ وجود دارد یا نه.
:small_blue_diamond: اگر فولدر حذف شده باشد، سیستم بعد از ۳۰ ثانیه خاموش یا ری‌استارت می‌شود.

:gear: مرحله دوم: تنظیم Task Scheduler برای اجرای خودکار

برای اینکه این اسکریپت به‌صورت خودکار اجرا شود، باید آن را در Task Scheduler تنظیم کنید:

:one: Win + R را بزنید و taskschd.msc را تایپ کنید تا Task Scheduler باز شود.
:two: روی Create Basic Task کلیک کنید.
:three: در قسمت Name، نامی مانند FolderCheck وارد کنید.
:four: در مرحله Trigger، گزینه At log on را انتخاب کنید تا اسکریپت هنگام روشن شدن سیستم اجرا شود.
:five: در مرحله Action، گزینه Start a program را انتخاب کرده و مسیر PowerShell را وارد کنید:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

:six: در قسمت Arguments، مسیر اسکریپت خود را اضافه کنید، مثلا:

-ExecutionPolicy Bypass -File "C:\Users\YourUsername\Desktop\CheckFolder.ps1"

تنظیمات را ذخیره کنید و Task را Enable کنید.

:white_check_mark: حالا این اسکریپت با هر بار روشن شدن سیستم اجرا می‌شود و از دستکاری غیرمجاز جلوگیری می‌کند!

:closed_lock_with_key: مرحله سوم: روش‌های جلوگیری از دور زدن این ترفند!

:no_entry_sign: جلوگیری از توقف PowerShell: بعضی افراد ممکن است سعی کنند با بستن پاورشل، اسکریپت را متوقف کنند. برای جلوگیری از این کار:

  • می‌توانید اسکریپت را در Task Scheduler به‌صورت Hidden اجرا کنید.
  • یا می‌توانید آن را به‌عنوان یک Service در ویندوز تنظیم کنید.

:no_entry_sign: محافظت از اسکریپت: اگر کسی فایل اسکریپت را پیدا کند و حذف کند، ترفند بی‌اثر می‌شود! برای جلوگیری از این کار:

  • اسکریپت را در مسیرهای حساس مثل C:\Windows\System32 ذخیره کنید.
  • سطح دسترسی فایل را تغییر دهید تا فقط شما اجازه حذف آن را داشته باشید.

:no_entry_sign: ایجاد یک Watchdog برای اطمینان از اجرای دائمی:
می‌توانید یک اسکریپت دوم بنویسید که بررسی کند اسکریپت اصلی در حال اجراست و اگر بسته شد، دوباره آن را اجرا کند!

:dart: نتیجه نهایی

:white_check_mark: با این روش، می‌توانید کامپیوتر خود را به‌گونه‌ای تنظیم کنید که فقط در شرایط خاصی روشن بماند.
:white_check_mark: این ترفند برای ایجاد یک لایه امنیتی اضافی بسیار مفید است.
:white_check_mark: با ترکیب این روش با دیگر ابزارهای امنیتی، می‌توانید جلوی دسترسی‌های غیرمجاز را بگیرید.

:stop_sign: این روش را تست کن و امنیت سیستمت را بالا ببر!