# encoding: ascii
# api: powershell
# title: New-RDP
# description: Function/script that creates a new RDP file for Terminal Services.  Nothing fancy though.
# version: 0.1
# type: script
# author: Jason Archer
# license: CC0
# x-poshcode-id: 674
# x-archived: 2015-11-03T16:51:29
# x-published: 2009-11-17T00:10:00
#
# Uncomment the function code to make a global function.
#
########################################################################################################################
# NAME
#     New-RDP
#
# SYNOPSIS
#     Creates a new RDP file to store Remote Desktop connection settings.
#
# SYNTAX
#     Start-RDP [-Path] <string> [[-Server] <string>] [-PassThru] [-Force]
#
# DETAILED DESCRIPTION
#     The New-RDP cmdlet creates a new, blank RDP file with required settings.
#
# PARAMETERS
#     -Path <string>
#         Specifies the path to save the new RDP file at.
#
#         Required?                    true
#         Position?                    1
#         Default value                
#         Accept pipeline input?       false
#         Accept wildcard characters?  false
#
#     -Server <string>
#         Specifies the name of the server to connect to.  May also include an IP address, domain, and/or port.
#
#         Required?                    false
#         Position?                    2
#         Default value                
#         Accept pipeline input?       false
#         Accept wildcard characters?  false
#
#     -PassThru <SwitchParameter>
#         Passes thru an object that represents the new RDP file to the pipeline.  By default, this cmdlet does
#         not pass any objects through the pipeline.
#
#         Required?                    false
#         Position?                    named
#         Default value                false
#         Accept pipeline input?       false
#         Accept wildcard characters?  false
#
#     -Force <SwitchParameter>
#         Overrides restrictions that prevent the command from succeeding.
#
#         Required?                    false
#         Position?                    named
#         Default value                false
#         Accept pipeline input?       false
#         Accept wildcard characters?  false
#
# INPUT TYPE
#     
#
# RETURN TYPE
#     System.IO.FileInfo
#
# NOTES
#
#     -------------------------- EXAMPLE 1 --------------------------
#
#     C:\PS>New-RDP -Path C:\myserver.rdp -Server myserver
#
#
#     This command creates a new RDP file to connect to the server named "myserver".
#
#

#Function global:New-RDP {
    param(
        [string]$Path = $(throw "A path to the new RDP file is required."),
        [string]$Server = "",
        [switch]$PassThru,
        [switch]$Force
    )

    if (!(Test-Path $path) -or $force) {
        Set-Content -Path $path -Value "full address:s:$server" -Force
        if ($passthru) {
            Get-ChildItem -Path $path
        }
    } else {
        throw "Path already exists, use the -Force switch."
    }
#}
