Commands / Invoke-sqmInstanceInventory
Invoke-sqmInstanceInventory
PerformancesqmSQLTool v1.8.2+ · Reporting🛠 Pipeline  ✓ -WhatIf supported
Creates a comprehensive inventory of a SQL Server instance and exports it as TXT (formatted report) and CSV (database list).

Covers: Instance properties (version, edition, collation, CPU, memory), Databases (name, status, size, recovery, backups), Logins, Linked Servers, SQL Agent Jobs, and Always On AG membership.

Output is copied to CentralPath if configured.

Parameters

ParameterTypeRequiredDefaultNotes
-SqlInstancestring[]Optional$env:COMPUTERNAMEOne or more instances. Pipeline-capable.
-SqlCredentialPSCredentialOptionalCredentials for all instances.
-OutputPathstringOptionalGet-sqmDefaultOutputPathReport output directory. Created if missing.
-ContinueOnErrorswitchSwitch$falseContinue to next instance on error.
-EnableExceptionswitchSwitch$falseRe-throw exceptions.
-WhatIf / -ConfirmswitchOptionalShouldProcess (ConfirmImpact: None).

Execution Flow

START dbatools available? NO throw: dbatools not found YES foreach $instance in $SqlInstance Connect to instance with -SqlCredential Verify instance is online Get instance properties Version, Edition, Collation, CPU, Memory, IsAlwaysOn, LastCULevel ServiceAccount, InstallDate, LastBackup, LastDBCheck via Get-DbaInstance + sys.master_files + backup metadata Get-DbaDatabase + properties (status, recovery, size, backups) Per-DB: last backup time, last CHECKDB, log usage, VLF count Get-DbaLogin: AD logins, SQL logins, service account assignments Exclude: sa, guest, sys, INFORMATION_SCHEMA Get-DbaLinkedServer: all remote connections DataSource, Provider, IsConnected flag Get-DbaAgentJob: all jobs with status, last run, schedule Exclude: disabled or notification jobs Get-DbaAvailabilityGroup (if IsAlwaysOn): AG name, role, health Replicas, sync state, listener status ShouldProcess? (ConfirmImpact: None) NO WhatIf: skip file write continue YES Write TXT report + CSV database list to -OutputPath Copy to CentralPath if Get-sqmConfig -CentralPath set Return [PSCustomObject] per instance Instance, DBCount, LoginCount, JobCount, ReportPath DONE

Examples

Generate inventory for local instance
Invoke-sqmInstanceInventory
Pipeline: multiple instances, continue on error
"SQL01","SQL02","SQL03" | Invoke-sqmInstanceInventory -ContinueOnError