There are a number of ways to leverage the FRP connection for pushing files to remote QWS Endpoints. Below are a few options that have been tested for functionality, but any tool that can leverage the IP of the BicDroid Connection (and port information provided by the QWS-CSP web GUI), can be used for this purpose.
Linux Management Host
Multiple Option - PSSH and PSCP
Individual Option - SSH and SCP
Windows Management Host
Multiple Option - WSUS
Individual Option - RDP
The QWS-CSP web GUI provides an RDP port for each user, which can be reached on the internal LAN only via the IP of the BDC Server, and the specific port. Due to latency issues establishing an RDP connection, this can sometimes require more than one attempt to establish a successful link.
Individual Option - Chocolatey (Work in Progress)
Chocolatey is an open source repository for Windows, that acts much the same way that yum or apt-get do for Linux distributions. There is a list of community maintained packages here: https://chocolatey.org/packages.
There is also documentation on creating custom packages here: https://chocolatey.org/docs/create-packages
In order to use this method, firewall exceptions will need to be made to the Chocolatey repository / website.
To install Chocolatey on your local admin machine, open PowerShell and enter the folllowing:
Installing Chocolatey on the remote client will require that PowerShell be opened in elevated mode. Then enter the following commands:
Once connectivity has been validated with the final command in the list above, packages can be installed as follows:
It's possible to also use Chocolately to install on multiple machines at once, by adding this script block to the command above:
$ComputerList = "QWS_CLIENT1","QWS_CLIENT_2"
foreach ($Computer in $ComputerList)
{
Invoke-Command -ComputerName $Computer
{
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install PACKAGE_NAME -y
}
}
Adding multiple machines to a domain at the same time
From the CSP portal, the Export Reverse Proxy button will generate a text file with all of the currently registered QWS Endpoints. Using this text file and the FRP channel, administrators can automate joining all of these endpoints to the domain in a few different ways, depending on corporate network structure.
Scripting logins to each entry on the exported list, and using pssh to execute the powershell command "$env:computername" will generate a list of machines names for each successful connection. If the names are discoverable between the VPN subnet and the domain server, one command can be executed to join them all at once.
With this list (ex. - computers.txt), in Powershell run these commands:
$computers = Get-Content -Path computers.txt
Add-Computer -ComputerName $computers -Domain "YourDomainName" -Restart
Alternatively, if the machine names are not discoverable, running pssh and executing the Powershell command below will join each machine to the domain as a connection is established over the FRP channel, and restart the VM:
Add-Computer –domainname "YourDomainName" -Restart
After the AD bind process is successful, end users can log in as the "User" account to connect to the corporate network, and then switch users to their domain account after the network connection is established. This will cache their credentials in the VM, so that future logins can be done offline if desired. An additional reboot may be required in order to repopulate the VPN configuration information from the encrypted store.
Once joined to the domain, the domain administrator account can log in via the FRP with the command as below:
ssh -p FRP_port -l administrator@domain FRP_IP