Get-ExPerfwiz.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Function Get-ExPerfwiz {
        <#
  
    .SYNOPSIS
    Get information about a data collector set.
 
    .DESCRIPTION
    Gets information about a data collector set on the local or remote server.
 
    .PARAMETER Name
    Name of the Data Collector set
 
    Default ExPerfwiz
 
    .PARAMETER Server
    Name of the server
 
    Default LocalHost
 
    .PARAMETER Quiet
    Suppresses output to the screen
 
    .OUTPUTS
    Logs all activity into $env:LOCALAPPDATA\ExPefwiz.log file
     
    .EXAMPLE
    Get info on the default collector set
 
    Get-ExPerfwiz
 
    .EXAMPLE
    Get info on a collector set on a remote server
 
    Get-ExPerfwiz -Name "My Collector Set" -Server RemoteServer-01
 
    #>

    param (
        [string]
        $Name = "Experfwiz",

        [string]
        $Server = $env:ComputerName,

        [switch]
        $Quiet = $false
    )
    
    Out-LogFile -string ("Starting ExPerfwiz: " + $server) -quiet $Quiet
    
    # Get the experfwiz counter set
    $logman = logman query -name $Name -s $server

    # Confert it to something that will look better in the log file / screen
    $formatlogman = $logman -join "`n`r" | out-string

    # Now convert $logman to a string
    [string]$logman = $logman

    # Check if we have an error and throw and error if needed.
    If ([string]::isnullorempty(($logman | select-string "Error:"))) {
        Out-LogFile $formatlogman -quiet $Quiet
    }
    else {
        Out-LogFile "[ERROR] - Unable to Get collector" -quiet $Quiet
        Out-LogFile $logman -quiet $Quiet
        Throw $logman
    }
}