Containers/New-DockerPortalSession.ps1

function New-DockerPortalSession {
    Param(
        [Parameter(Mandatory=$true)]
        [string]$ComputerName
    )

    $Domain = 'tecmandocker.co.uk'

    if ($ComputerName -notcontains $Domain) {
        $ComputerName += '.' + $Domain
    }

    if ((Get-PSSession | where ComputerName -eq $ComputerName) -ne $null) {
        return (Get-PSSession | where ComputerName -eq $ComputerName)
    }

    $securePassword = ("Bens0n1234$" | ConvertTo-SecureString -AsPlainText -Force)
    $creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "DockerDemo", $securePassword

    $Session = New-PSSession -ComputerName $ComputerName -Credential $creds -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Authentication Basic
    Invoke-Command -Session $Session -ScriptBlock {
        Import-Module 'C:\Program Files\Microsoft Dynamics NAV\*\Service\Microsoft.Dynamics.Nav.Management.psm1'
        Import-Module 'C:\Program Files\Microsoft Dynamics NAV\*\Service\Microsoft.Dynamics.Nav.Apps.Management.psd1'
    }
    
    $Session
}

Export-ModuleMember -Function New-DockerPortalSession