Remove-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
Function Remove-ExPerfwiz {
    <#
  
    .SYNOPSIS
    Removes data collector sets from perfmon
 
    .DESCRIPTION
    Used to remove data collector sets from perfmon.
 
    .PARAMETER Name
    Name of the Perfmon Collector set
 
    Default ExPerfwiz
 
    .PARAMETER Server
    Name of the server to remove the collector set from
 
    Default LocalHost
     
    .PARAMETER Quiet
    Suppresses output to the screen
 
    Default False
 
    .OUTPUTS
    Logs all activity into $env:LOCALAPPDATA\ExPefwiz.log file
     
    .EXAMPLE
    Remove a collector set on the local machine
 
    Remove-ExPerfwiz -Name "My Collector Set"
 
    .EXAMPLE
    Remove a collect set on another server
 
    Remove-ExPerfwiz -Server RemoteServer-01
 
 
    #>


    param (

        [string]
        $Name = "Experfwiz",

        [string]
        $Server = $env:ComputerName,

        [bool]
        $Quiet = $false
    )
    
    Out-LogFile -string ("Removing Experfwiz for: " + $server) -quiet $Quiet
    
    # Remove the experfwiz counter set
    [string]$logman = logman delete -name $Name -s $server

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