Skip to content

Repository files navigation

RobOtters

RobOtter mascot

PowerShell module that simulates realistic Secret Server user activity for lab and demo environments. AD-authenticated users perform randomized actions against an on-prem Delinea Secret Server instance, generating audit trail data that looks like real-world usage.

Quickstart

# Import the module (from the repo root)Import-Module .\RobOtters.psd1
# Create the databaseInitialize-RODatabase# Configure your Secret ServerSet-ROConfig-Key 'SecretServerUrl'-Value 'https://yourserver/SecretServer'Set-ROConfig-Key 'DefaultDomain'-Value 'YOURDOMAIN'# Add a simulated userAdd-ROUser-Username 'svc.sim01'-Password 'P@ssw0rd!'-Domain 'YOURDOMAIN'# Test connectivityTest-ROConnection-Username 'svc.sim01'# Run a cycleStart-ROCycle

Features

Commands

CommandDescription
Initialize-RODatabaseCreate or upgrade the SQLite database
Add-ROUserRegister a simulated AD user
Remove-ROUserRemove a simulated user
Get-ROUserList simulated users
Set-ROUserUpdate user properties
Start-ROCycleRun a simulation cycle
Get-ROActionLogQuery the action history
Get-ROConfigRead configuration values
Set-ROConfigSet a configuration value
Test-ROConnectionTest Secret Server authentication
Get-ROAccessView user access snapshots
Export-ROConfigExport configuration and users to JSON
Import-ROConfigImport configuration and users from JSON

Installation

Git Clone

git clone https://github.com/jagger/SSSimulatedUsers.git RobOtters
Import-Module .\RobOtters\RobOtters.psd1

ZIP Download

Download from GitHub, extract, and import:

Import-Module .\RobOtters\RobOtters.psd1

Module Path

Copy the module folder to a directory in $env:PSModulePath, then:

Import-Module RobOtters

Prerequisites

  • Windows Server 2016+ with PowerShell 5.1+
  • Active Directory domain with user accounts for simulation
  • PSSQLite module
  • Delinea Secret Server with REST API enabled

See Getting Started for a full walkthrough.

Configuration

All settings are stored in the Config SQLite table. Key settings:

KeyDefaultDescription
SecretServerUrl(placeholder)Secret Server base URL
DefaultDomainLABAD domain name
MinActionsPerCycle0Min actions per user per cycle
MaxActionsPerCycle15Max actions per user per cycle
PasswordRotationDays14Days between password rotations

See Configuration for the full list of 11 config keys, action weight customizations, and category controls.

Troubleshooting

ProblemFix
PSSQLite not foundInstall-Module PSSQLite -Scope CurrentUser
SecretServerUrl not configuredSet-ROConfig -Key SecretServerUrl -Value '...'
Auth failedTest-ROConnection -Username X and check password
0 actions in scheduled taskUsers may be outside active hours; use -Force or adjust times

See Troubleshooting for the full guide.

Project Structure

RobOtters/
+-- RobOtters.psd1 # Module manifest
+-- RobOtters.psm1 # Dot-source loader
+-- Register-ROTask.ps1 # Task Scheduler registration
+-- assets/ # Images
+-- Data/ # Schema, seed data, SS reports
+-- Docs/ # Guides and command reference
+-- Public/ # 13 exported commands
+-- Private/
| +-- Actions/ # 19 Secret Server action functions
| +-- Api/ # REST client + OAuth2
| +-- Data/ # SQLite helpers
| +-- Engine/ # Cycle orchestration
| +-- Logging/ # File + DB logging
+-- Scripts/ # Migration utilities
+-- Logs/ # Daily rotating logs (gitignored)
+-- Tests/ # Pester tests

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT License

About

PowerShell module that simulates realistic Delinea Secret Server user activity for lab and demo environments

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages