Public/Set-FileConfig.ps1

<#
    .SYNOPSIS
    Reads the configuration from an XML file and persists in a script level variable
 
    .DESCRIPTION
    Reads the configuration from an XML file in the CliXml format.
 
    .INPUTS
    None. You cannot pipe objects to Set-FileConfig.
 
    .PARAMETER Path
    The path to the CliXMl file. Defaults to "config.xml"
 
    .OUTPUTS
    None.
 
    .NOTES
    Will attempt to IAM authenticate to check the configuration of both IAM and salesforce.
#>

function Set-FileConfig {
    param([String]$Path = "config.xml")

    Set-Config (Import-CliXml -Path $Path)

    # Authenticate Salesforce
    $script:__sfAuth = Invoke-SfAuthenticate

    # authenticate IAM using information from the salesforce org's configuration
    Invoke-IamAuthenticate
}