Serwer zadań
Kontroluj zdalnie urządzenia oraz wykonuj polecenia za pomocą wbudowanych komend CMD oraz PowerShell.
Rozbudowany serwer zadań posiada predefiniowaną listę komend CMD i PowerShell podzieloną na kategorie: System, Assemblies, Poprawki, Pliki stronicowania, Pliki i foldery, Procesy, Usługi, Sprzęt, Komputer, Firewall, Przywracanie, Rejestr, Network.
Wbudowana funkcjonalność pozwala też na modyfikowanie istniejących komend oraz definiowanie całkowicie nowych.
Polecenia PowerShell
Assemblies
Założenia
Skrypt umożliwia wyświetlanie ścieżki GAC.
(New-Object -TypeName Regex -ArgumentList '(?<=file:///)(.*)(?=\/GAC)', 'IgnoreCase').Match(([PSObject].Assembly.Evidence | Where-Object -FilterScript { $_.Value -ne $null }).Value).Value -replace '/', '\'
Wynik:
Poprawnie wykonany skrypt zwraca poniższe informacje do logów systemu eAuditor.
Firewall
Założenia
Skrypt umożliwia wyświetlanie informacji na temat profili firewall.
Domeny:
Get-NetFirewallProfile -Name Domain
Prywatnych:
Get-NetFirewallProfile -Name Private
Publicznych:
Get-NetFirewallProfile -Name Public
Wynik:
Poprawnie wykonany skrypt zwraca poniższe informacje do logów systemu eAuditor.
Założenia
Skrypt umożliwia wyświetlanie zasad określonego profilu firewall – domeny, prywatnego lub publicznego.
Prywatny
Get-NetFirewallProfile -Name Domain | Get-NetFirewallRule | Format-Table
Domeny
Get-NetFirewallProfile -Name Private | Get-NetFirewallRule | Format-Table
Publiczny
Get-NetFirewallProfile -Name Public | Get-NetFirewallRule | Format-Table
Wynik:
Poprawnie wykonany skrypt zwraca poniższe informacje do logów systemu eAuditor.
Komputer
Założenia
Skrypt umożliwia przełączenie komputera w stan hibernacji.
%windir%\System32\rundll32.exe powrprof.dll, SetSuspendState Hibernate
Założenia
Skrypt umożliwia przełączenie komputera w stan wstrzymania.
%windir%\System32\rundll32.exe powrprof.dll, SetSuspendState Standby
Założenia
Skrypt umożliwia ponowne uruchomienia komputera za pomocą polecenia.
Rozwiązanie 1
Restart-Computer
Rozwiązanie 2
%windir%\System32\shutdown.exe -r
Założenia
Skrypt umożliwia wylogowanie aktualnie zalogowanego użytkownika za pomocą polecenia.
(Get-WmiObject -Class win32_operatingsystem -ComputerName $computer).Win32Shutdown(0)
Założenia
Skrypt umożliwia wyłączenie komputera za pomocą polecenia.
Rozwiązanie 1
Stop-Computer
Rozwiązanie 2
%windir%\System32\shutdown.exe -s(Get-WmiObject -Class win32_operatingsystem -ComputerName $computer).Win32Shutdown(0)
Założenia
Skrypt umożliwia wyświetlenie listy napędów.
Sposób 1
[System.IO.DriveInfo]::Getdrives()
Sposób 2
Get-PSDrive
Sposób 3
Get-WmiObject -Class Win32_LogicalDisk
Network
Plik stronicowania (Pagefile)
Założenia
Skrypt umożliwia wyświetlenie zalecanego rozmiaru dla pliku stronicowania (w MB).
Get-Content -Path 'C:\Windows\system32\drivers\etc\hosts'
Wynik:
Poprawnie wykonany skrypt zwraca poniższe informacje do logów systemu eAuditor.
Pliki i Foldery
Założenia
Skrypt umożliwia kopiowanie plików z jednej lokalizacji do drugiej.
Copy-Item -Path 'C:\source\file.txt' -Destination 'C:\destination'
Założenia
Skrypt umożliwia odczytanie konkretnej linii pliku.
Odczytaj linie 3
Get-Content -Path C:\scripts\log.txt | Select-Object -Index 2
Odczytaj linie 0
Get-Content -Path C:\scripts\log.txt | Select-Object -Index 0
Założenia
Skrypt umożliwia odczytanie pliku w konsoli.
Get-Content -Path 'C:\scripts\file.txt
Założenia
Skrypt umożliwia otworzenie pliku, przykładowo tekstowego.
Invoke-Item -Path 'C:\scripts\file.txt'
Założenia
Skrypt umożliwia pobranie pliku z sieci do danej lokalizacji.
Invoke-WebRequest -Uri 'http://www.nirsoft.net/utils/searchmyfiles.zip' -OutFile 'C:\Users\alipski\Downloads\searchmyfiles.zip'
Założenia
Skrypt umożliwia sprawdzenie, czy dany plik istnieje.
Test-Path -Path 'C:\Windows\notepad.exe' # Return True
Założenia
Skrypt umożliwia wyświetlenie wersji danego pliku.
(Get-Item -Path C:\Windows\System32\calc.exe).VersionInfo.FileVersion
Założenia
Skrypt umożliwia ustawienie atrybutów danego pliku na “tylko do odczytu”.
Set-ItemProperty -Path C:\Users\alipski\Desktop\scripts.zip -Name IsReadOnly -Value $true
Założenia
Skrypt umożliwia usunięcie danego pliku lub folderu.
Remove-Item -Path 'C:\scripts\file.txt'
Założenia
Skrypt umożliwia utworzenie nowego folderu.
New-Item -ItemType directory -Path 'C:\scripts\Folder'
Skrypt umożliwia odczytanie sumy kontrolnej MD5/SHA1 danego pliku.
Algorytm MD5
Get-FileHash C:\Users\alipski\Desktop\scripts.zip -Algorithm MD5
Algorytm SHA1
Get-FileHash C:\Users\alipski\Desktop\scripts.zip -Algorithm SHA1
Założenia
Skrypt umożliwia wyszukanie pustych folderów w danej lokalizacji.
Get-ChildItem -Path C:\scripts -Recurse -Directory | Where-Object -FilterScript {$_.GetFiles().Count -eq 0} | Select-Object -Property FullName
Założenia
Skrypt umożliwia wyświetlenie 10 ostatnich linii pliku.
Get-Content -Path 'C:\scripts\log.txt' -Tail 10
Założenia
Skrypt umożliwia wyświetlenie rozmiaru danego pliku w KB/MB/GB.
(Get-ChildItem -Path C:\Users\alipski\Desktop\scripts.zip).Length /1KB
Założenia
Skrypt umożliwia zmianę nazwy folderu/pliku.
Rename-Item -Path 'C:\scripts\Folder' -NewName 'C:\scripts\Folder_Renamed'
Poprawki (Hotfixes)
Procesy
Założenia
Skrypt umożliwia uruchomienie danego procesu, przykładowo notatnika.
Sposób 1
Start-Process -FilePath notepad
Sposób 2
[System.Diagnostics.Process]::Start('Notepad')
Sposób 3
([WMICLASS]'root\cimv2:win32_process').Create('Notepad')Get-HotFix
Założenia
Skrypt umożliwia wyświetlenie właściciela danego procesu.
(Get-WmiObject -Class win32_process | Where-Object -FilterScript {$_.ProcessName -eq 'notepad.exe'}).GetOwner() | Format-Table -Property Domain, User
Wynik:
Poprawnie wykonany skrypt zwraca poniższe informacje do logów systemu eAuditor.
Założenia
Skrypt umożliwia wyświetlenie ścieżki do danego procesu.
(Get-WmiObject -Class win32_process | Where-Object -FilterScript {$_.ProcessName -eq 'notepad.exe'}).GetOwner() | Format-Table -Property Domain, User
Wynik:
Poprawnie wykonany skrypt zwraca poniższe informacje do logów systemu eAuditor.
Przywracanie systemu
Założenia
Skrypt umożliwia uruchomienie przywracania systemu w komputerze od danego punktu.
Restore-Computer -RestorePoint 137
Założenia
Skrypt umożliwia pobranie listy punktów przywracania w komputerze lokalnym.
Get-ComputerRestorePoint
Założenia
Skrypt umożliwia wyświetlenie statusu ostatniej operacji przywracania systemu.
Get-ComputerRestorePoint -LastStatus
Założenia
Skrypt umożliwia włączenie przywracania systemu na dyskach C i D.
Enable-ComputerRestore -Drive 'C:\', 'D:\'