# Inspect Geutebruck .NET SDK assemblies to find all available query classes param( [string]$DllPath = "C:\GEVISOFT\GeViProcAPINET_4_0.dll" ) try { # Load the assembly [System.Reflection.Assembly]::LoadFrom($DllPath) | Out-Null Write-Host "=== Types in $DllPath ===" -ForegroundColor Green Write-Host "" # Get all types $assembly = [System.Reflection.Assembly]::LoadFrom($DllPath) $types = $assembly.GetExportedTypes() | Sort-Object FullName # Filter for query-related classes Write-Host "=== Database Query Classes (GeViDBQ_*) ===" -ForegroundColor Cyan $dbQueries = $types | Where-Object { $_.Name -like "GeViDBQ_*" } $dbQueries | ForEach-Object { Write-Host " $($_.FullName)" } Write-Host "" Write-Host "=== Database Answer Classes (GeViDBA_*) ===" -ForegroundColor Cyan $dbAnswers = $types | Where-Object { $_.Name -like "GeViDBA_*" } $dbAnswers | ForEach-Object { Write-Host " $($_.FullName)" } Write-Host "" Write-Host "=== State Query Classes (GeViSQ_*) ===" -ForegroundColor Cyan $stateQueries = $types | Where-Object { $_.Name -like "GeViSQ_*" } $stateQueries | ForEach-Object { Write-Host " $($_.FullName)" } Write-Host "" Write-Host "=== All Query-Related Classes ===" -ForegroundColor Cyan $allQueries = $types | Where-Object { $_.Name -match "Query|Event|Alarm|Action|Mapping" } $allQueries | ForEach-Object { Write-Host " $($_.FullName)" } Write-Host "" Write-Host "Total types found: $($types.Count)" -ForegroundColor Yellow } catch { Write-Host "Error: $_" -ForegroundColor Red }