en-US/psTerminalPerfCounter-help.xml
|
<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh"> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-tpcConfigPath</command:name> <command:verb>Add</command:verb> <command:noun>tpcConfigPath</command:noun> <maml:description> <maml:para>Adds a custom configuration path to the TPC_CONFIGPATH environment variable.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This function adds a new path to the TPC_CONFIGPATH user environment variable which is used throughout the module to locate performance counter configuration files. The function validates the path existence and offers to create it if it doesn't exist. Supports both local and UNC network paths.</maml:para> <maml:para>Added paths are permanently stored in the user-level environment variable and persist across PowerShell sessions. Paths are stored comma-separated in the environment variable and automatically deduplicated.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-tpcConfigPath</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>The absolute path to add to the configuration path list. Can be a local path or UNC network path. Must be a rooted (absolute) path. The path will be validated for proper format and existence.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>If specified, creates the path without prompting if it doesn't exist.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>The absolute path to add to the configuration path list. Can be a local path or UNC network path. Must be a rooted (absolute) path. The path will be validated for proper format and existence.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>If specified, creates the path without prompting if it doesn't exist.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None. Updates the TPC_CONFIGPATH user environment variable.</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Related commands: - Get-tpcConfigPaths: List all configured paths</maml:para> <maml:para>- Remove-tpcConfigPath: Remove paths from configuration</maml:para> <maml:para>- Get-tpcAvailableCounterConfig: View available configurations from all paths</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Add-tpcConfigPath -Path "C:\MyConfigs"</dev:code> <dev:remarks> <maml:para>Adds a local path to the configuration path list. Prompts for creation if path doesn't exist.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Add-tpcConfigPath -Path "\\server\share\configs" -Force</dev:code> <dev:remarks> <maml:para>Adds a network path to the configuration path list and creates it if necessary without prompting.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks /> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-tpcAvailableCounterConfig</command:name> <command:verb>Get</command:verb> <command:noun>tpcAvailableCounterConfig</command:noun> <maml:description> <maml:para>Retrieves, validates, and displays detailed information about available performance counter configurations from all configured paths.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This function scans all configured paths (using Get-tpcConfigPaths) for JSON configuration files with the 'tpc_' prefix and provides comprehensive information about each configuration including counter details, JSON schema validation status, and optional counter availability testing.</maml:para> <maml:para>Results are grouped by path similar to Get-Module -ListAvailable. Duplicate configurations across paths are automatically detected and marked to help identify potential conflicts. The function validates each configuration against the module's JSON schema and optionally tests counter availability on the system.</maml:para> <maml:para>Template files (containing 'template' in the basename) are automatically excluded from the results.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-tpcAvailableCounterConfig</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Raw</maml:name> <maml:description> <maml:para>If specified, returns raw PSCustomObject array instead of formatted console output. Useful for further processing or filtering of configuration data.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>TestCounters</maml:name> <maml:description> <maml:para>If specified, tests each counter for availability on the current system. This validates that counters can actually be queried but may be slow with many counters.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Raw</maml:name> <maml:description> <maml:para>If specified, returns raw PSCustomObject array instead of formatted console output. Useful for further processing or filtering of configuration data.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>TestCounters</maml:name> <maml:description> <maml:para>If specified, tests each counter for availability on the current system. This validates that counters can actually be queried but may be slow with many counters.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>Formatted console output by default (grouped by path), PSCustomObject[] when -Raw is used.</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>This function requires the GripDevJsonSchemaValidator module for JSON schema validation. If not installed, validation will be skipped with a warning.</maml:para> <maml:para>Related commands: - Get-tpcConfigPaths: List all configured configuration paths</maml:para> <maml:para>- Start-tpcMonitor: Start monitoring with a specific configuration</maml:para> <maml:para>- Get-tpcPerformanceCounterInfo: Get counter IDs for creating custom configurations</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-tpcAvailableCounterConfig</dev:code> <dev:remarks> <maml:para>Shows formatted overview of all available configurations from all configured paths. Displays configuration names, descriptions, counter counts, and validation status.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-tpcAvailableCounterConfig -TestCounters</dev:code> <dev:remarks> <maml:para>Shows formatted overview with counter availability testing from all configured paths. Validates each counter to ensure it's available on the current system.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Get-tpcAvailableCounterConfig -Raw</dev:code> <dev:remarks> <maml:para>Returns raw configuration objects for further processing or custom filtering.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title> <dev:code>Get-tpcAvailableCounterConfig | Where-Object { $_.JsonValid -eq $false }</dev:code> <dev:remarks> <maml:para>Lists only configurations with JSON validation errors (when used with -Raw).</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks /> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-tpcConfigPaths</command:name> <command:verb>Get</command:verb> <command:noun>tpcConfigPaths</command:noun> <maml:description> <maml:para>Retrieves all configured paths from the TPC_CONFIGPATH environment variable and module defaults.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This function returns an array of all paths where the module searches for configuration files. By default, it includes the module's default config directory and any custom paths defined in the TPC_CONFIGPATH user environment variable.</maml:para> <maml:para>The function validates that each path exists and returns only valid paths. Non-existent paths generate warnings but do not cause the function to fail.</maml:para> <maml:para>Paths are automatically deduplicated and sorted in the output.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-tpcConfigPaths</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>noDefault</maml:name> <maml:description> <maml:para>If specified, excludes the module's default config directory from the returned paths. Only custom paths from the TPC_CONFIGPATH environment variable will be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>noDefault</maml:name> <maml:description> <maml:para>If specified, excludes the module's default config directory from the returned paths. Only custom paths from the TPC_CONFIGPATH environment variable will be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>String[]. Array of validated, unique configuration paths sorted alphabetically.</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Custom paths are stored in the user-level TPC_CONFIGPATH environment variable. The module's default config directory is always included unless -noDefault is specified.</maml:para> <maml:para>Related commands: - Add-tpcConfigPath: Add new paths to configuration</maml:para> <maml:para>- Remove-tpcConfigPath: Remove paths from configuration</maml:para> <maml:para>- Get-tpcAvailableCounterConfig: View available configurations from all paths</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-tpcConfigPaths</dev:code> <dev:remarks> <maml:para>Returns all configured paths including the module's default config directory and any custom paths from the TPC_CONFIGPATH environment variable.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-tpcConfigPaths -noDefault</dev:code> <dev:remarks> <maml:para>Returns only custom paths from the TPC_CONFIGPATH environment variable, excluding the module's default config directory.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks /> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-tpcPerformanceCounterInfo</command:name> <command:verb>Get</command:verb> <command:noun>tpcPerformanceCounterInfo</command:noun> <maml:description> <maml:para>Evaluates and resolves language-independent performance counter IDs for creating custom configuration templates.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This function serves as the primary tool for discovering and validating correct counter IDs used in JSON configuration templates. It operates with a language-independent approach by using numeric IDs instead of localized counter names, ensuring configurations work across different Windows language settings.</maml:para> <maml:para>Two evaluation methods are supported: - ID-based resolution: Validates and resolves composite ID format (SetID-PathID) to counter information</maml:para> <maml:para>- Name-based discovery: Searches counter sets and paths to identify correct IDs for template configuration</maml:para> <maml:para></maml:para> <maml:para>The function translates between localized counter names and universal numeric IDs. Results include the composite IDs (format: "SetID-PathID") needed for the counterID field in JSON configuration files.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-tpcPerformanceCounterInfo</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>SearchTerm</maml:name> <maml:description> <maml:para>The search term for counter ID evaluation. Can be either: - Composite ID in format "SetID-PathID" (e.g., "238-6") for validation and resolution</maml:para> <maml:para>- Localized counter name or path pattern for ID discovery (supports wildcards)</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>SearchTerm</maml:name> <maml:description> <maml:para>The search term for counter ID evaluation. Can be either: - Composite ID in format "SetID-PathID" (e.g., "238-6") for validation and resolution</maml:para> <maml:para>- Localized counter name or path pattern for ID discovery (supports wildcards)</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>Formatted table displaying counter information for template configuration:</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- ID: Composite counter ID (SetID-PathID) for use in JSON config counterID field, or "N/A" if not resolvable</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- CounterSet: Localized performance counter set name</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- Path: Full localized counter path</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- SetType: SingleInstance or MultiInstance (determines counterSetType in JSON config)</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- Instances: Available counter instances for multi-instance counters (use in counterInstance field)</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Primary function for creating custom JSON configuration templates in the psTerminalPerfCounter module. Language-independent approach ensures templates work across different Windows system locales. Composite IDs returned by this function are used directly in the counterID field of JSON configuration files.</maml:para> <maml:para>Related commands: - Get-tpcAvailableCounterConfig: View existing configurations</maml:para> <maml:para>- Start-tpcMonitor: Start monitoring with a configuration</maml:para> <maml:para>- Add-tpcConfigPath: Add custom configuration paths</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-tpcPerformanceCounterInfo -SearchTerm "238-6"</dev:code> <dev:remarks> <maml:para>Validates and resolves the composite ID "238-6" to verify counter availability and display localized names. Shows the counter set, path, type, and available instances.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-tpcPerformanceCounterInfo -SearchTerm "Processor"</dev:code> <dev:remarks> <maml:para>Discovers all processor-related counters and their corresponding composite IDs. Use these IDs in the counterID field of JSON configuration files.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Get-tpcPerformanceCounterInfo -SearchTerm "% Processor Time"</dev:code> <dev:remarks> <maml:para>Finds the specific counter path and returns its composite ID for use in configuration templates.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title> <dev:code>Get-tpcPerformanceCounterInfo -SearchTerm "Memory"</dev:code> <dev:remarks> <maml:para>Searches for all memory-related counters across all counter sets.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks /> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-tpcConfigPath</command:name> <command:verb>Remove</command:verb> <command:noun>tpcConfigPath</command:noun> <maml:description> <maml:para>Removes custom configuration paths from the TPC_CONFIGPATH environment variable.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This function provides an interactive menu to remove custom paths from the TPC_CONFIGPATH user environment variable. It displays all currently configured paths with their existence status and allows the user to select which path(s) to remove.</maml:para> <maml:para>The function provides an interactive selection menu where users can choose paths by number. Paths are displayed with indicators showing whether they exist (✓) or not (✗).</maml:para> <maml:para>Note: This function only affects custom paths stored in the environment variable. The module's default config directory cannot be removed through this function.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-tpcConfigPath</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>If specified, removes all custom paths from the TPC_CONFIGPATH environment variable without prompting. The module's default config directory is not affected.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>If specified, removes all custom paths from the TPC_CONFIGPATH environment variable without prompting. The module's default config directory is not affected.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None. Updates the TPC_CONFIGPATH user environment variable.</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Related commands: - Get-tpcConfigPaths: List all configured paths</maml:para> <maml:para>- Add-tpcConfigPath: Add new paths to configuration</maml:para> <maml:para>- Get-tpcAvailableCounterConfig: View available configurations from all paths</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Remove-tpcConfigPath</dev:code> <dev:remarks> <maml:para>Shows an interactive menu to select and remove custom configuration paths. Displays path existence status and allows sequential removal with confirmation.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Remove-tpcConfigPath -All</dev:code> <dev:remarks> <maml:para>Removes all custom configuration paths from TPC_CONFIGPATH without prompting.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks /> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Start-tpcMonitor</command:name> <command:verb>Start</command:verb> <command:noun>tpcMonitor</command:noun> <maml:description> <maml:para>Starts real-time performance counter monitoring for local or remote systems using predefined configuration templates with language-independent counter IDs.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This function launches the main monitoring interface of the psTerminalPerfCounter module. It loads performance counter configurations from JSON templates, validates counter availability, and starts continuous real-time monitoring with configurable update intervals and data retention.</maml:para> <maml:para>The function uses the module's language-independent ID system to ensure configurations work across different system locales. It automatically filters unavailable counters and provides detailed feedback about monitoring status. Supports interactive monitoring with graphical displays, tables, and statistics based on configuration settings.</maml:para> <maml:para>Monitoring can be performed on the local system or on remote computers by specifying ComputerName parameter. Remote monitoring requires appropriate permissions and network connectivity to the target system.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Start-tpcMonitor</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ConfigName</maml:name> <maml:description> <maml:para>Name of the configuration template to load (without 'tpc_' prefix and '.json' extension). Must correspond to a JSON file in the config directories (e.g., 'CPU' loads 'tpc_CPU.json'). Default: 'CPU' Cannot be used together with ConfigPath parameter. Required when using remote monitoring with ComputerName parameter.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ComputerName</maml:name> <maml:description> <maml:para>DNS name of the remote computer to monitor. Requires ConfigName parameter to be specified. The remote system must be reachable and allow remote performance counter access.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>PSCredential object for authenticating to the remote computer. If not specified, uses the current user's credentials. Only applicable when ComputerName is specified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateInterval</maml:name> <maml:description> <maml:para>Interval in seconds between performance counter updates and display refreshes. Lower values provide more responsive monitoring but increase system load. Graph time span = Samples (from JSON config) × UpdateInterval seconds. Default: 1 second</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxHistoryPoints</maml:name> <maml:description> <maml:para>Maximum number of historical data points to retain in memory for each counter. This is the complete historical data used for statistics and future export. Independent of graph display width. Time span covered by graph display = Samples × UpdateInterval seconds. Default: 100 historical data points</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>100</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Start-tpcMonitor</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ConfigName</maml:name> <maml:description> <maml:para>Name of the configuration template to load (without 'tpc_' prefix and '.json' extension). Must correspond to a JSON file in the config directories (e.g., 'CPU' loads 'tpc_CPU.json'). Default: 'CPU' Cannot be used together with ConfigPath parameter. Required when using remote monitoring with ComputerName parameter.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateInterval</maml:name> <maml:description> <maml:para>Interval in seconds between performance counter updates and display refreshes. Lower values provide more responsive monitoring but increase system load. Graph time span = Samples (from JSON config) × UpdateInterval seconds. Default: 1 second</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxHistoryPoints</maml:name> <maml:description> <maml:para>Maximum number of historical data points to retain in memory for each counter. This is the complete historical data used for statistics and future export. Independent of graph display width. Time span covered by graph display = Samples × UpdateInterval seconds. Default: 100 historical data points</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>100</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Start-tpcMonitor</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ConfigPath</maml:name> <maml:description> <maml:para>Absolute path to a specific JSON configuration file. The file must follow the naming convention 'tpc_*.json' and exist at the specified location. Cannot be used together with ConfigName parameter. Only available for local monitoring.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateInterval</maml:name> <maml:description> <maml:para>Interval in seconds between performance counter updates and display refreshes. Lower values provide more responsive monitoring but increase system load. Graph time span = Samples (from JSON config) × UpdateInterval seconds. Default: 1 second</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxHistoryPoints</maml:name> <maml:description> <maml:para>Maximum number of historical data points to retain in memory for each counter. This is the complete historical data used for statistics and future export. Independent of graph display width. Time span covered by graph display = Samples × UpdateInterval seconds. Default: 100 historical data points</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>100</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ConfigName</maml:name> <maml:description> <maml:para>Name of the configuration template to load (without 'tpc_' prefix and '.json' extension). Must correspond to a JSON file in the config directories (e.g., 'CPU' loads 'tpc_CPU.json'). Default: 'CPU' Cannot be used together with ConfigPath parameter. Required when using remote monitoring with ComputerName parameter.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ConfigPath</maml:name> <maml:description> <maml:para>Absolute path to a specific JSON configuration file. The file must follow the naming convention 'tpc_*.json' and exist at the specified location. Cannot be used together with ConfigName parameter. Only available for local monitoring.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ComputerName</maml:name> <maml:description> <maml:para>DNS name of the remote computer to monitor. Requires ConfigName parameter to be specified. The remote system must be reachable and allow remote performance counter access.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>PSCredential object for authenticating to the remote computer. If not specified, uses the current user's credentials. Only applicable when ComputerName is specified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateInterval</maml:name> <maml:description> <maml:para>Interval in seconds between performance counter updates and display refreshes. Lower values provide more responsive monitoring but increase system load. Graph time span = Samples (from JSON config) × UpdateInterval seconds. Default: 1 second</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxHistoryPoints</maml:name> <maml:description> <maml:para>Maximum number of historical data points to retain in memory for each counter. This is the complete historical data used for statistics and future export. Independent of graph display width. Time span covered by graph display = Samples × UpdateInterval seconds. Default: 100 historical data points</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>100</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga"> <maml:name>ProgressAction</maml:name> <maml:description> <maml:para>{{ Fill ProgressAction Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue> <dev:type> <maml:name>ActionPreference</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>Interactive real-time monitoring display with configurable output formats:</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- Graphical plots (line, bar, scatter based on configuration)</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- Statistical summaries (min, max, average, current values)</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- Tabular data with formatted values and units</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>- Session summary upon completion</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Main entry point for the psTerminalPerfCounter monitoring system. Requires JSON configuration files in the module's config directory or custom directories. Press Ctrl+C to stop monitoring and display session summary.</maml:para> <maml:para>Remote monitoring requires: - Network connectivity to target system</maml:para> <maml:para>- Appropriate permissions for remote performance counter access</maml:para> <maml:para>- Windows Remote Management (WinRM) enabled on target system</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Start-tpcMonitor</dev:code> <dev:remarks> <maml:para>Starts monitoring using the default CPU configuration with 1-second updates and 100 historical data points. Graph displays 70 samples covering 70 seconds (70 samples × 1 second interval).</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Start-tpcMonitor -ConfigPath "C:\MyConfigs\tpc_CustomCPU.json"</dev:code> <dev:remarks> <maml:para>Starts monitoring using a custom configuration file from an absolute path.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Start-tpcMonitor -ConfigName "Memory" -UpdateInterval 2</dev:code> <dev:remarks> <maml:para>Starts memory monitoring with 2-second update intervals using the 'tpc_Memory.json' configuration.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title> <dev:code>Start-tpcMonitor -ConfigName "Disk" -UpdateInterval 1 -MaxHistoryPoints 200</dev:code> <dev:remarks> <maml:para>Starts disk monitoring with 1-second updates and extended data retention of 200 points.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title> <dev:code>Start-tpcMonitor -ConfigName "CPU" -ComputerName "Server01"</dev:code> <dev:remarks> <maml:para>Monitors CPU performance on remote server 'Server01' using current user credentials.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title> <dev:code>Start-tpcMonitor -ConfigName "Memory" -ComputerName "SQLServer01" -Credential $cred</dev:code> <dev:remarks> <maml:para>Monitors memory performance on remote server 'SQLServer01' using specified credentials.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks /> </command:command> </helpItems> |