# Send-BluGenieItem

﻿

### Send-BluGenieItem <a href="#send-blugenieitem" id="send-blugenieitem"></a>

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

Send-BluGenieItem will copy files and folders to a new location.

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

```
Send-BluGenieItem [[-Source] <String[]>] [[-Destination] <String>] [-RelativePath <String>] [-Container] [-Force] [-Filter <String>] [-Include <String>] [-Exclude <String>] [-Recurse] [-FromSession] [-ToSession] 
[-ComputerName <String>] [-ShowProgress] [-ClearGarbageCollecting] [-Walkthrough] [-ReturnObject] [-OutUnEscapedJSON] [-OutYaml] [-FormatView <String>] [<CommonParameters>]
```

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

Send-BluGenieItem will copy files and folders to a new location. Copying items can be over SMB and WinRM. You can also copy items from a remote machine.

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

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

```
Send-BluGenieItem
```

```
This will output a Parameter Check validation error.
If the
   * Source
   * Destination
   * ComputerName (if -ToSession is used)
   * ComputerName (if -FromSession is used)
values are empty the command will Return an error
```

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

```
Send-BluGenieItem -Source C:\Source\git.exe -Destination '\\computer1\c$\Source' -Force
```

```
This will copy a file from the local machine to the destination computers UNC Share over SMB and force the file copy if the file already exists.
```

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

```
Send-BluGenieItem -Source C:\Source\*.* -Destination C:\Source -Force -ToSession -ComputerName computer1
```

```
This will copy file(s) from the local machine to the destination computer over WinRM and force the file copy if the file already exists.
```

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

```
Send-BluGenieItem -Source C:\Source\*.* -Destination C:\Source -ToSession -ComputerName computer1 -Recurse
```

```
This will copy file(s) and sub-directories from the local machine to the destination computer over WinRM
```

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

```
Send-BluGenieItem -Source C:\Source\*.* -Destination C:\Source -ToSession -ComputerName computer1 -Recurse -Exclude *.log
```

```
This will copy file(s) and sub-directories from the local machine to the destination computer over WinRM excluding all *.log files.
```

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

```
Send-BluGenieItem -Source C:\Source\ErrorDetails.log -Destination C:\Source\computer1 -FromSession -ComputerName computer1 -Force
```

```
This will copy ErrorDetails.log from the local remote machine to the local computer over WinRM.
If the destination path doesn't exist the directory will be created on the fly.
```

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

```
Send-BluGenieItem -Source C:\Source\*.* -Destination C:\Source -Force -ToSession -ComputerName computer1  -ReturnObject
```

```
This will copy file(s) from the local machine to the destination computer over WinRM and force the file copy if the file already exists
and return just the Object content

Note:  The default output is a HashTable
```

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

```
Send-BluGenieItem -Source C:\Source\*.* -Destination C:\Source -Force -ToSession -ComputerName computer1 -OutUnEscapedJSON
```

```
This will copy file(s) from the local machine to the destination computer over WinRM and force the file copy if the file already exists
and the return data will be in a beautified json format
```

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

#### Source <a href="#source" id="source"></a>

```
-Source <String[]>
   Description: The Source path to the items to want to send
   Notes:  This can be one or more files.  If your using ToSession or FromSession a sinle connection will be set to run all copies
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    1
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Destination <a href="#destination" id="destination"></a>

```
-Destination <String>
   Description: The Destination path
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    2
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### RelativePath <a href="#relativepath" id="relativepath"></a>

```
-RelativePath <String>
   Description: RelativePath is a string path that will be placed by the Destination path while keeping the entire directory tree
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Container <a href="#container" id="container"></a>

```
-Container [<SwitchParameter>]
   Description: Sets the Copy to a directory instead of a file
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Force <a href="#force" id="force"></a>

```
-Force [<SwitchParameter>]
   Description: Forces the file or directory creation or overwrite
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Filter <a href="#filter" id="filter"></a>

```
-Filter <String>
   Description: Filter what files you would like to Send to the destination
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Include <a href="#include" id="include"></a>

```
-Include <String>
   Description: Include what files you would like to Send to the destination
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Exclude <a href="#exclude" id="exclude"></a>

```
-Exclude <String>
   Description: Exclude what files you don't want to Send to the destination
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

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

```
-Recurse [<SwitchParameter>]
   Description: Recurse through subdirectories
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### FromSession <a href="#fromsession" id="fromsession"></a>

```
-FromSession [<SwitchParameter>]
   Description: Copy from a remote session over WinRM
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ToSession <a href="#tosession" id="tosession"></a>

```
-ToSession [<SwitchParameter>]
   Description: Copy to a remote session over WinRM
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ComputerName <a href="#computername" id="computername"></a>

```
-ComputerName <String>
   Description: Remote computer name
   Notes:
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    named
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ShowProgress <a href="#showprogress" id="showprogress"></a>

```
-ShowProgress [<SwitchParameter>]
   Description: Show Progress Bar when copying data
   Notes: Disabled by default
   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
```

#### 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?                    named
   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).
