Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Функция за добавяне на timestamp
- function Add-Timestamp {
- $timestamp = Get-Date -Format "HH:mm:ss dd-MM-yyyy"
- return $timestamp
- }
- # Получаване на пътя до папката "Documents"
- $DocumentsPath = [Environment]::GetFolderPath('MyDocuments')
- # Път към новата папка "Logs"
- $LogsPath = Join-Path $DocumentsPath "Logs"
- # Проверка дали папката "Logs" съществува, ако не съществува, я създаваме
- if (-not (Test-Path -Path $LogsPath)) {
- New-Item -Path $LogsPath -ItemType Directory
- }
- # Път към JSON лог файла в новата папка
- $LogFile = Join-Path $LogsPath "DefenderScanLog.json"
- # Изтриване на съдържанието на лог файла (ако съществува)
- if (Test-Path -Path $LogFile) {
- Clear-Content -Path $LogFile
- }
- # Използване на променлива за избор на типа на сканиране: 'Quick' или 'Full'
- $ScanType = "Quick" # Може да промениш на 'Full', за да стартираш пълно сканиране
- # Получаване на името на компютъра
- $ComputerName = (Get-ComputerInfo).CsName
- # Масив за съхранение на стъпките от сканирането
- $scanLog = @()
- # Добавяне на информация за компютъра като отделен обект
- $logEntry = @{
- ComputerName = $ComputerName
- }
- $scanLog += $logEntry
- # Добавяне на началния запис - стартиране на сканирането
- $logEntry = @{
- Timestamp = Add-Timestamp
- Step = "Scan Started"
- Message = "Starting Windows Defender $ScanType scan."
- }
- $scanLog += $logEntry
- # Избиране на типа сканиране въз основа на променливата
- if ($ScanType -eq "Quick") {
- # Стартиране на бързо сканиране
- Start-MpScan -ScanType QuickScan
- } elseif ($ScanType -eq "Full") {
- # Стартиране на пълно сканиране
- Start-MpScan -ScanType FullScan
- } else {
- Write-Host "Невалиден тип на сканиране: $ScanType"
- exit
- }
- # Изчакване за резултати (примерно 10 секунди, можеш да настроиш времето)
- Start-Sleep -Seconds 3
- # Проверка за резултати от сканирането
- $ScanResults = Get-MpThreat
- # Добавяне на резултати от сканирането
- if ($ScanResults) {
- $logEntry = @{
- Timestamp = Add-Timestamp
- Step = "Scan Completed"
- Message = "$ScanType scan completed with threats detected."
- ThreatsDetected = $ScanResults
- }
- } else {
- $logEntry = @{
- Timestamp = Add-Timestamp
- Step = "Scan Completed"
- Message = "$ScanType scan completed with no threats detected."
- ThreatsDetected = "No threats detected."
- }
- }
- $scanLog += $logEntry
- # Добавяне на края на сканирането
- $logEntry = @{
- Timestamp = Add-Timestamp
- Step = "Scan Ended"
- Message = "$ScanType scan completed."
- }
- $scanLog += $logEntry
- # Записване на целия лог в JSON формат
- $scanLog | ConvertTo-Json -Depth 3 | Set-Content -Path $LogFile -Encoding utf8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement