# Get-BluGenieFileSnapshot

﻿

### Get-BluGenieFileSnapshot <a href="#get-blugeniefilesnapshot" id="get-blugeniefilesnapshot"></a>

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

Get-BluGenieFileSnapshot takes a snapshot of the requested direcotry path

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

```
Get-BluGenieFileSnapshot [[-Path] <String>] [[-Walkthrough]] [[-ReturnObject]] [[-LeaveFile]] [[-OutUnEscapedJSON]] [[-Recurse]] [<CommonParameters>]
```

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

Get-BluGenieFileSnapshot takes a snapshot of the requested direcotry path. This can be the parent directory and / or a recursive sub directory snapshot.

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

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

```
Get-BluGenieFileSnapshot
```

```
This will output nothing.  If the Path is empty the command will Return $Null
```

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

```
Get-BluGenieFileSnapshot -Path 'C:\Windows\System32\Temp'
```

```
This will only take a file and directory Snapshot of the root directory defined 'C:\Windows\System32\Temp'
```

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

```
Get-BluGenieFileSnapshot -Path 'C:\Windows\System32\Temp' -Recurse
```

```
This will take a file and directory Snapshot of the root directory and all sub dictories for the path defined 'C:\Windows\System32\Temp'
```

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

```
Get-BluGenieFileSnapshot -Path 'C:\Windows\System32\Temp' -ReturnObject
```

```
This will only take a file and directory Snapshot of the root directory defined 'C:\Windows\System32\Temp'
and return just the Object content

Note:  The default output is a HashTable
```

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

```
Get-BluGenieFileSnapshot -Path 'C:\Windows\System32\Temp' -LeaveFile
```

```
This will only take a file and directory Snapshot of the root directory defined 'C:\Windows\System32\Temp'

The file is saved by default to the %WinDir%\Temp directory, the fil ename is saved as a GUID with no ext.
```

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

```
Get-BluGenieFileSnapshot -Path 'AllUsers\Desktop'
```

```
This will take a file and directory Snapshot of the each users Desktop direcotory
```

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

```
Get-BluGenieFileSnapshot -Path 'Temp' -Recurse
```

```
This will take a file and directory Snapshot of the each users Temp direcotory and snapshot all sub files and directories as well.
```

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

```
Get-BluGenieFileSnapshot -Path 'C:\Windows\System32\Temp' -OutUnEscapedJSON
```

```
This will only take a file and directory Snapshot of the root directory defined 'C:\Windows\System32\Temp'

The return data will be in a beautified json format
```

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

#### Path <a href="#path" id="path"></a>

```
-Path <String>
   The path to the parent directory
   
   If you specify "Temp" in the begining of the Path field all the %SystemDrive%\Users\* Temp directories will be prefixed to the rest of the path and a snapshot will be taken for each Path
   If you specify "AllUsers" in the begining of the Path field, all the User Profiles directories from %SystemDrive%\Users will be prefixed to the rest of the path and a snapshot will be taken for each Path
   
       Example:  -Path 'AllUsers\AppData\Roaming'
   
       Output:   C:\Users\Administrator\AppData\Roaming
                   C:\Users\User1\AppData\Roaming
                   C:\Users\User2\AppData\Roaming
                   C:\Users\User3\AppData\Roaming
                   C:\Users\User4\AppData\Roaming
   
   <Type>String<Type>
   
   Required?                    false
   Position?                    1
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

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

```
-Walkthrough [<SwitchParameter>]
   An automated process to walk through the current function and all the parameters
   
   <Type>SwitchParameter<Type>
   
   Required?                    false
   Position?                    2
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

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

```
-ReturnObject [<SwitchParameter>]
   Return information as an Object.
   By default the data is returned as a Hash Table
   
   <Type>SwitchParameter<Type>
   
   Required?                    false
   Position?                    3
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### LeaveFile <a href="#leavefile" id="leavefile"></a>

```
-LeaveFile [<SwitchParameter>]
   Do not remove snapshot file.
   By default the data is saved as a GUID in the system temp directory
   
   <Type>SwitchParameter<Type>
   
   Required?                    false
   Position?                    4
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

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

```
-OutUnEscapedJSON [<SwitchParameter>]
   Removed UnEsacped Char from the JSON Return.
   This will beautify json and clean up the formatting.
   
   <Type>SwitchParameter<Type>
   
   Required?                    false
   Position?                    5
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Recurse <a href="#recurse" id="recurse"></a>

```
-Recurse [<SwitchParameter>]
   Recurse through subdirectories
   
   <Type>SwitchParameter<Type>
   
   Required?                    false
   Position?                    5
   Default value                False
   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).
