VisualStudioCode

Author: Sebastian Søgaard, ogmini

description

Visual Studio Code artifacts

paths

9 paths
paths use Windows environment syntax

collection commands

# PowerShell Artifact Collection Script
# Target: VisualStudioCode
# Run as Administrator

#Requires -RunAsAdministrator

$ErrorActionPreference = "SilentlyContinue"
$DestBase = "D:\Evidence"

# Function to handle artifact collection with robocopy
function Collect-Artifact {
    param (
        [string]$SourceDir,
        [string]$FolderName,
        [string]$FileMask = "*"
    )
    $FullDest = Join-Path -Path $DestBase -ChildPath $FolderName
    robocopy "$SourceDir" "$FullDest" "$FileMask" /E /COPY:DAT /R:0 /W:0 /NP /NFL /NDL /NJH /NJS | Out-Null
}

# 1. VSCode Opened Files
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\User\History\*\"
Collect-Artifact -SourceDir "$UserPath" -FolderName "VSCode_Opened_Files"

# 2. VSCode Workspaces
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\User\globalStorage\"
Collect-Artifact -SourceDir "$UserPath" -FileMask "storage.json*" -FolderName "VSCode_Workspaces"

# 3. VSCode User extensions
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\CachedExtensions\"
Collect-Artifact -SourceDir "$UserPath" -FileMask "user*" -FolderName "VSCode_User_extensions"

# 4. VSCode User settings
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\User\"
Collect-Artifact -SourceDir "$UserPath" -FileMask "settings.json*" -FolderName "VSCode_User_settings"

# 5. VSCode User Preferences
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\"
Collect-Artifact -SourceDir "$UserPath" -FileMask "preferences*" -FolderName "VSCode_User_Preferences"

# 6. VSCode Network Cookies
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\Network\"
Collect-Artifact -SourceDir "$UserPath" -FileMask "Cookies*" -FolderName "VSCode_Network_Cookies"

# 7. VSCode Network Persistent State
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\Network\"
Collect-Artifact -SourceDir "$UserPath" -FileMask "Network Persistent State*" -FolderName "VSCode_Network_Persistent_State"

# 8. VSCode Logs
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\logs\"
Collect-Artifact -SourceDir "$UserPath" -FolderName "VSCode_Logs"

# 9. VSCode File Backups
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Code\Backups\*\"
Collect-Artifact -SourceDir "$UserPath" -FolderName "VSCode_File_Backups"

Write-Host "Collection complete!" -ForegroundColor Green

Save as .ps1 and run as Administrator. Use: powershell -ExecutionPolicy Bypass -File script.ps1

references