# Install-BluGenieSysMon

﻿

### Install-BluGenieSysMon <a href="#install-blugeniesysmon" id="install-blugeniesysmon"></a>

### SYNOPSIS <a href="#synopsis" id="synopsis"></a>

Install-BluGenieSysMon will Install, Update, or Uninstall SysMon

### SYNTAX <a href="#syntax" id="syntax"></a>

```
Install-BluGenieSysMon [[-SourcePath] <String>] [[-ConfigFile] <String>] [-Uninstall] [-ForceInstall] [-ClearGarbageCollecting] [[-DBName] <String>] [[-DBPath] <String>] [-UpdateDB] [-ForceDBUpdate] [-NewDBTable] 
[-Walkthrough] [-ReturnObject] [-OutUnEscapedJSON] [-OutYaml] [[-FormatView] <String>] [<CommonParameters>]
```

### DESCRIPTION <a href="#description" id="description"></a>

Install-BluGenieSysMon will Install, Update, or Uninstall the SysMon SysInternals tool

### EXAMPLES <a href="#examples" id="examples"></a>

#### EXAMPLE 1 <a href="#example-1" id="example-1"></a>

```
Command: Install-BluGenieSysMon
```

```
Description: This will copy the SysMon Source to the remote systems destination and install the the SysMon service.
Notes:
```

#### EXAMPLE 2 <a href="#example-2" id="example-2"></a>

```
Command: Install-BluGenieSysMon -Help
```

```
Description: Call Help Information
Notes: If Help / WalkThrough is setup as a parameter, this script will be called to setup the Dynamic Help Menu if not the normal
Get-Help will be called with the -Full parameter
```

#### EXAMPLE 3 <a href="#example-3" id="example-3"></a>

```
Command: Install-BluGenieSysMon -WalkThrough
```

```
Description: Call Help Information [2]
Notes: If Help / WalkThrough is setup as a parameter, this script will be called to setup the Dynamic Help Menu if not the normal
Get-Help will be called with the -Full parameter
```

#### EXAMPLE 4 <a href="#example-4" id="example-4"></a>

```
Command: Install-BluGenieSysMon -OutUnEscapedJSON
```

```
Description: Return a detailed function report in an UnEscaped JSON format
Notes:  The OutUnEscapedJSON is used to Beautify the JSON return and not Escape any Characters.  Normal return data is a Hash Table.
```

#### EXAMPLE 5 <a href="#example-5" id="example-5"></a>

```
Command: Install-BluGenieSysMon -OutYaml
```

```
Description: Return a detailed function report in YAML format
Notes:  The OutUnEscapedJSON is used to Beautify the JSON return and not Escape any Characters.  Normal return data is a Hash Table.
```

#### EXAMPLE 6 <a href="#example-6" id="example-6"></a>

```
Command: Install-BluGenieSysMon -ReturnObject
```

```
Description: Return Output as a Object
Notes:  The ReturnObject is used to return a PowerShell Object.  Normal return data is a Hash Table.
       This parameter is also used with the FormatView
```

#### EXAMPLE 7 <a href="#example-7" id="example-7"></a>

```
Command: Install-BluGenieSysMon -ReturnObject -FormatView Yaml
```

```
Description: Output PSObject information in Yaml format
Notes:  Current formats supported by default are ('Table','Custom','CustomModified','None','JSON','OutUnEscapedJSON','CSV', 'Yaml')
       Default is set to (None) and normal PSObject.
```

### PARAMETERS <a href="#parameters" id="parameters"></a>

#### SourcePath <a href="#sourcepath" id="sourcepath"></a>

```
-SourcePath <String>
   Description: The Source location of the SysMon tools
   Notes: The default is set to BluGenie's Tools Directory $ToolsDirectory\SysMonService
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    1
   Default value                $(Join-Path -Path $ToolsDirectory -ChildPath 'SysMon')
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ConfigFile <a href="#configfile" id="configfile"></a>

```
-ConfigFile <String>
   Description: Full file path for a SysMon Configuation XML
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    2
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Uninstall <a href="#uninstall" id="uninstall"></a>

```
-Uninstall [<SwitchParameter>]
   Description: Stop and Remove the SysMon Service
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ForceInstall <a href="#forceinstall" id="forceinstall"></a>

```
-ForceInstall [<SwitchParameter>]
   Description: Overwrite the current installation and remove and reinstall the service.
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ClearGarbageCollecting <a href="#cleargarbagecollecting" id="cleargarbagecollecting"></a>

```
-ClearGarbageCollecting [<SwitchParameter>]
   Description: Garbage Collection in Powershell to Speed up Scripts and help lower memory consumption
   Notes: This is enabled by default.  To disable use -ClearGarbageCollecting:$False
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### DBName <a href="#dbname" id="dbname"></a>

```
-DBName <String>
   Description: Database Name (Without extention)
   Notes: The default name is set to 'BluGenie'
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    3
   Default value                BluGenie
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### DBPath <a href="#dbpath" id="dbpath"></a>

```
-DBPath <String>
   Description: Path to either Save or Update the Database
   Notes: The default path is $('{0}\BluGenie' -f $env:ProgramFiles)  Example: C:\Program Files\BluGenie
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    4
   Default value                $('{0}\BluGenie' -f $env:ProgramFiles)
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### UpdateDB <a href="#updatedb" id="updatedb"></a>

```
-UpdateDB [<SwitchParameter>]
   Description: Save return data to the Sqlite Database
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ForceDBUpdate <a href="#forcedbupdate" id="forcedbupdate"></a>

```
-ForceDBUpdate [<SwitchParameter>]
   Description: Force an update of the return data to the Sqlite Database
   Notes: By default only new items are saved.  The primary key is ( FullName )
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### NewDBTable <a href="#newdbtable" id="newdbtable"></a>

```
-NewDBTable [<SwitchParameter>]
   Description: Delete and Recreate the Database Table
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Walkthrough <a href="#walkthrough" id="walkthrough"></a>

```
-Walkthrough [<SwitchParameter>]
   Description:  Start the dynamic help menu system to help walk through the current command and all of the parameters
   Notes:
   Alias: Help
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ReturnObject <a href="#returnobject" id="returnobject"></a>

```
-ReturnObject [<SwitchParameter>]
   Description: Return information as an Object
   Notes: By default the data is returned as a Hash Table
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### OutUnEscapedJSON <a href="#outunescapedjson" id="outunescapedjson"></a>

```
-OutUnEscapedJSON [<SwitchParameter>]
   Description: Remove UnEsacped Char from the JSON information.
   Notes: This will beautify json and clean up the formatting.
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### OutYaml <a href="#outyaml" id="outyaml"></a>

```
-OutYaml [<SwitchParameter>]
   Description: Return detailed information in Yaml Format
   Notes: Only supported in Posh 3.0 and above
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### FormatView <a href="#formatview" id="formatview"></a>

```
-FormatView <String>
   Description: Automatically format the Return Object
   Notes: Yaml is only supported in Posh 3.0 and above
   Alias:
   ValidateSet: 'Table','Custom','CustomModified','None','JSON','OutUnEscapedJSON','CSV', 'Yaml'
   
   Required?                    false
   Position?                    5
   Default value                None
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### CommonParameters <a href="#commonparameters" id="commonparameters"></a>

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about\_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
