--- title: "Remote Working Installation Instructions" slug: "remote-working-installation-instructions" updated: 2026-02-23T15:59:40Z published: 2026-02-23T15:59:40Z canonical: "documentation.lakesidesoftware.com/remote-working-installation-instructions" --- > ## Documentation Index > Fetch the complete documentation index at: https://documentation.lakesidesoftware.com/llms.txt > Use this file to discover all available pages before exploring further. # Remote Working Installation Instructions ## Minimum Version This DEX Pack requires SysTrack version **10.1** or higher. ## Notes - After this DEX Pack is installed, it may take up to **24 hours** for data to appear. - If you update or reinstall this DEX Pack, you must **reassign** any **Views** created below to the **SF_Remote Working Role**. You must also repeat the steps listed under **Office Subnets Setup**. ## Import Kit To use this DEX Pack, the corresponding **Kit** must be imported to SysTrack. If you have already imported the DEX Pack directly from the **Kits** page, the **Import Kit** step is complete. You may move on to the next step. If you are viewing this DEX Pack in the Customer Gateway, follow these steps to import this DEX Pack Kit: 1. On the DEX Pack page, download the DEX Pack ZIP file 2. In SysTrack, open **Kits** 3. Under **Local**, click **Select Kit File** 4. Select the DEX Pack ZIP File ## Performance Data View > [!NOTE] > **NOTE**: This step is only required for versions prior to 11.2. Some performance data in the DEX Pack requires you to create a new View: 1. Navigate to **Configure** > **Views** 2. Click the **padlock icon** in the upper-right to enable editing 3. Click the **plus icon** to add a new View 4. Fill in the **Settings** as follows: 1. View Name: **SF_NETPERFDAILY** 2. Existing Category: **General** 3. Expires in: **30 Days** 4. When Expired: **Append Data** 5. **Do *NOT* check** “When overdue by 1 day(s)” 6. Set the Refresh drop-downs to **Daily****,** **Inside****,** **24x7****,** and **“Every Day”** 7. Copy this [SQL query](/documentation/docs/remote-working-installation-instructions#sfnetperfdaily-sql-query), and paste it into the box under SQL **Selection** > **Generic** it into the box under **SQL Selection** > **Generic** 8. Click **Test SQL**. A **Test Success** message should appear. If the test is not successful, the query may have been copied incorrectly 5. Click **Create View** at the top-right #### SF_NETPERFDAILY SQL Query ```sql SELECT T1.WGUID, GETUTCDATE() AS VWTIME, DATEADD(D, DATEDIFF(D, 0, T1.WTIME), 0) AS DOTY, T1.VPN_FLAG, T1.ADPT_DESC, T1.ADPT_IP4_ADDR, MAX(T1.WLAN_SEC_ENABLED) AS WLAN_SEC_ENABLED, MAX(T1.NET_INTERNET_CONN) AS NET_INTERNET_CONN, AVG(T1.NET_UTIL) AS NET_UTIL, AVG(T1.FRAME_RATE) AS FRAME_RATE, AVG(T1.BYTE_RATE) AS BYTE_RATE, AVG(T1.BCAST_RATE) AS BCAST_RATE, AVG(T1.OUTQLEN) AS OUTQLEN, AVG(T1.REXMIT) AS REXMIT, AVG(T1.WIFI_SIGNALQ) AS WIFI_SIGNALQ, AVG(T1.WIFI_TRANS_RATE) AS WIFI_TRANS_RATE, AVG(T1.WIFI_RECV_RATE ) AS WIFI_RECV_RATE, SUM(T2.LATENCY) AS HEALTH_LATENCY_MINS, SUM(T2.NET) AS HEALTH_NET_MINS, COUNT(T1.WTIME) * 10 AS CONN_MINS, COUNT(T3.WTIME) * 10 AS ACTIVE_MINS FROM ((( SELECT T0.WTIME, MAX(T1.VPN_FLAG) AS VPN_FLAG FROM SANET AS T0 LEFT JOIN ( SELECT CASE WHEN (S0.STRVALUE LIKE '%VPN%' OR S2.STRVALUE = 'Demand' OR T0.ADPT_MACADDR IS NULL OR S1.STRVALUE LIKE '%VPN%' OR S1.STRVALUE LIKE '%Cisco%' OR S1.STRVALUE LIKE '%Perimeter%' OR S1.STRVALUE LIKE '%Windscribe%' OR S1.STRVALUE LIKE '%twingate%' OR S1.STRVALUE LIKE '%Juniper%' OR S1.STRVALUE LIKE '%Nord%' OR S1.STRVALUE LIKE '%torguard%' OR S1.STRVALUE LIKE '%encrypt%' OR S1.STRVALUE LIKE '%avast%' OR S1.STRVALUE LIKE '%AVG%' OR S1.STRVALUE LIKE '%PANGP%') AND S1.STRVALUE NOT LIKE '%AVASTAR%' THEN 1 ELSE 0 END AS VPN_FLAG, T0.CONN_TIME, T0.DISCONN_TIME, S1.STRVALUE AS ADPT_DESC, S3.STRVALUE AS ADPT_IP4_ADDR FROM ((((SANET_CONN_HISTORY AS T0 LEFT JOIN SASTRDEVICE AS S0 ON T0.ADPT_FRIENDLY_ID = S0.STRINGID) LEFT JOIN SASTRDEVICE AS S1 ON T0.ADPT_DESC_ID = S1.STRINGID) LEFT JOIN SASTRDEVICE AS S2 ON T0.ADPT_CONN_TYPE = S2.STRINGID) LEFT JOIN SASTRDEVICE AS S3 ON T0.ADPT_IP4_ADDR_ID = S3.STRINGID) LEFT JOIN SASTRDEVICE AS S4 ON T0.NET_DNSSUFFIX_ID = S4.STRINGID WHERE S4.STRVALUE <> 'Identifying...' AND T0.DISCONN_TIME IS NOT NULL AND T0.DISCONN_TIME >= GETUTCDATE() - 30 AND S0.STRVALUE NOT LIKE '%VMWARE%' UNION SELECT T0.VPN_FLAG, T0.CONN_TIME, T0.DISCONN_TIME, T0.ADPT_DESC, T0.ADPT_IP4_ADDR FROM ( SELECT CASE WHEN (S0.STRVALUE LIKE '%VPN%' OR S2.STRVALUE = 'Demand' OR T0.ADPT_MACADDR IS NULL OR S1.STRVALUE LIKE '%VPN%' OR S1.STRVALUE LIKE '%Cisco%' OR S1.STRVALUE LIKE '%Perimeter%' OR S1.STRVALUE LIKE '%Windscribe%' OR S1.STRVALUE LIKE '%twingate%' OR S1.STRVALUE LIKE '%Juniper%' OR S1.STRVALUE LIKE '%Nord%' OR S1.STRVALUE LIKE '%torguard%' OR S1.STRVALUE LIKE '%encrypt%' OR S1.STRVALUE LIKE '%avast%' OR S1.STRVALUE LIKE '%AVG%' OR S1.STRVALUE LIKE '%PANGP%') AND S1.STRVALUE NOT LIKE '%AVASTAR%' THEN 1 ELSE 0 END AS VPN_FLAG, T0.CONN_TIME AS CONN_TIME, GETUTCDATE() AS DISCONN_TIME, S1.STRVALUE AS ADPT_DESC, S3.STRVALUE AS ADPT_IP4_ADDR FROM ((((SANET_CONN_HISTORY AS T0 LEFT JOIN SASTRDEVICE AS S0 ON T0.ADPT_FRIENDLY_ID = S0.STRINGID) LEFT JOIN SASTRDEVICE AS S1 ON T0.ADPT_DESC_ID = S1.STRINGID) LEFT JOIN SASTRDEVICE AS S2 ON T0.ADPT_CONN_TYPE = S2.STRINGID) LEFT JOIN SASTRDEVICE AS S3 ON T0.ADPT_IP4_ADDR_ID = S3.STRINGID) LEFT JOIN SASTRDEVICE AS S4 ON T0.NET_DNSSUFFIX_ID = S4.STRINGID WHERE S4.STRVALUE <> 'Identifying...' AND T0.DISCONN_TIME IS NULL AND S0.STRVALUE NOT LIKE '%VMWARE%' ) AS T0 INNER JOIN ( SELECT MAX(T0.CONN_TIME) AS CONN_TIME, S1.STRVALUE AS ADPT_DESC FROM (SANET_CONN_HISTORY AS T0 LEFT JOIN SASTRDEVICE AS S1 ON T0.ADPT_DESC_ID = S1.STRINGID) LEFT JOIN SASTRDEVICE AS S4 ON T0.NET_DNSSUFFIX_ID = S4.STRINGID WHERE S4.STRVALUE <> 'Identifying...' AND T0.DISCONN_TIME IS NULL GROUP BY S1.STRVALUE ) AS T1 ON T0.ADPT_DESC = T1.ADPT_DESC AND T0.CONN_TIME = T1.CONN_TIME ) AS T1 ON T0.WTIME >= T1.CONN_TIME AND T0.WTIME < T1.DISCONN_TIME WHERE T0.WTYPE = 1 AND DATEDIFF(D, T0.WTIME, ) <= 0 AND DATEDIFF(D, T0.WTIME, GETUTCDATE()) > 0 GROUP BY T0.WTIME ) AS T0 INNER JOIN ( SELECT T0.WGUID, T0.WTIME, T1.VPN_FLAG, T1.ADPT_DESC, T1.ADPT_IP4_ADDR, T0.NET_UTIL, T0.FRAME_RATE, T0.BYTE_RATE, T0.BCAST_RATE, T0.OUTQLEN, T0.REXMIT, T0.WIFI_SIGNALQ, T0.WIFI_TRANS_RATE, T0.WIFI_RECV_RATE, T1.WLAN_SEC_ENABLED, T1.NET_INTERNET_CONN FROM SANET AS T0 LEFT JOIN ( SELECT CASE WHEN (S0.STRVALUE LIKE '%VPN%' OR S2.STRVALUE = 'Demand' OR T0.ADPT_MACADDR IS NULL OR S1.STRVALUE LIKE '%VPN%' OR S1.STRVALUE LIKE '%Cisco%' OR S1.STRVALUE LIKE '%Perimeter%' OR S1.STRVALUE LIKE '%Windscribe%' OR S1.STRVALUE LIKE '%twingate%' OR S1.STRVALUE LIKE '%Juniper%' OR S1.STRVALUE LIKE '%Nord%' OR S1.STRVALUE LIKE '%torguard%' OR S1.STRVALUE LIKE '%encrypt%' OR S1.STRVALUE LIKE '%avast%' OR S1.STRVALUE LIKE '%AVG%' OR S1.STRVALUE LIKE '%PANGP%') AND S1.STRVALUE NOT LIKE '%AVASTAR%' THEN 1 ELSE 0 END AS VPN_FLAG, T0.CONN_TIME, T0.DISCONN_TIME, S1.STRVALUE AS ADPT_DESC, S3.STRVALUE AS ADPT_IP4_ADDR, T0.WLAN_SEC_ENABLED, T0.NET_INTERNET_CONN FROM ((((SANET_CONN_HISTORY AS T0 LEFT JOIN SASTRDEVICE AS S0 ON T0.ADPT_FRIENDLY_ID = S0.STRINGID) LEFT JOIN SASTRDEVICE AS S1 ON T0.ADPT_DESC_ID = S1.STRINGID) LEFT JOIN SASTRDEVICE AS S2 ON T0.ADPT_CONN_TYPE = S2.STRINGID) LEFT JOIN SASTRDEVICE AS S3 ON T0.ADPT_IP4_ADDR_ID = S3.STRINGID) LEFT JOIN SASTRDEVICE AS S4 ON T0.NET_DNSSUFFIX_ID = S4.STRINGID WHERE S4.STRVALUE <> 'Identifying...' AND T0.DISCONN_TIME IS NOT NULL AND T0.DISCONN_TIME >= GETUTCDATE() - 30 AND S0.STRVALUE NOT LIKE '%VMWARE%' UNION SELECT T0.VPN_FLAG, T0.CONN_TIME, T0.DISCONN_TIME, T0.ADPT_DESC, T0.ADPT_IP4_ADDR, T0.WLAN_SEC_ENABLED, T0.NET_INTERNET_CONN FROM ( SELECT CASE WHEN (S0.STRVALUE LIKE '%VPN%' OR S2.STRVALUE = 'Demand' OR T0.ADPT_MACADDR IS NULL OR S1.STRVALUE LIKE '%VPN%' OR S1.STRVALUE LIKE '%Cisco%' OR S1.STRVALUE LIKE '%Perimeter%' OR S1.STRVALUE LIKE '%Windscribe%' OR S1.STRVALUE LIKE '%twingate%' OR S1.STRVALUE LIKE '%Juniper%' OR S1.STRVALUE LIKE '%Nord%' OR S1.STRVALUE LIKE '%torguard%' OR S1.STRVALUE LIKE '%encrypt%' OR S1.STRVALUE LIKE '%avast%' OR S1.STRVALUE LIKE '%AVG%' OR S1.STRVALUE LIKE '%PANGP%') AND S1.STRVALUE NOT LIKE '%AVASTAR%' THEN 1 ELSE 0 END AS VPN_FLAG, T0.CONN_TIME AS CONN_TIME, GETUTCDATE() AS DISCONN_TIME, S1.STRVALUE AS ADPT_DESC, S3.STRVALUE AS ADPT_IP4_ADDR, T0.WLAN_SEC_ENABLED, T0.NET_INTERNET_CONN FROM ((((SANET_CONN_HISTORY AS T0 LEFT JOIN SASTRDEVICE AS S0 ON T0.ADPT_FRIENDLY_ID = S0.STRINGID) LEFT JOIN SASTRDEVICE AS S1 ON T0.ADPT_DESC_ID = S1.STRINGID) LEFT JOIN SASTRDEVICE AS S2 ON T0.ADPT_CONN_TYPE = S2.STRINGID) LEFT JOIN SASTRDEVICE AS S3 ON T0.ADPT_IP4_ADDR_ID = S3.STRINGID) LEFT JOIN SASTRDEVICE AS S4 ON T0.NET_DNSSUFFIX_ID = S4.STRINGID WHERE S4.STRVALUE <> 'Identifying...' AND T0.DISCONN_TIME IS NULL AND S0.STRVALUE NOT LIKE '%VMWARE%' ) AS T0 INNER JOIN ( SELECT MAX(T0.CONN_TIME) AS CONN_TIME, S1.STRVALUE AS ADPT_DESC FROM (SANET_CONN_HISTORY AS T0 LEFT JOIN SASTRDEVICE AS S1 ON T0.ADPT_DESC_ID = S1.STRINGID) LEFT JOIN SASTRDEVICE AS S4 ON T0.NET_DNSSUFFIX_ID = S4.STRINGID WHERE S4.STRVALUE <> 'Identifying...' AND T0.DISCONN_TIME IS NULL GROUP BY S1.STRVALUE ) AS T1 ON T0.ADPT_DESC = T1.ADPT_DESC AND T0.CONN_TIME = T1.CONN_TIME ) AS T1 ON T0.WTIME >= T1.CONN_TIME AND T0.WTIME < T1.DISCONN_TIME WHERE T0.WTYPE = 1 AND DATEDIFF(D, T0.WTIME, ) <= 0 AND DATEDIFF(D, T0.WTIME, GETUTCDATE()) > 0 ) AS T1 ON T0.WTIME = T1.WTIME AND T0.VPN_FLAG = T1.VPN_FLAG) LEFT JOIN ( SELECT WTIME, NET, LATENCY FROM SAHEALTH WHERE WTYPE = 1 AND DATEDIFF(D, WTIME, ) <= 0 AND DATEDIFF(D, WTIME, GETUTCDATE()) > 0 ) AS T2 ON T0.WTIME = T2.WTIME) LEFT JOIN ( SELECT WTIME FROM SASYS WHERE WTYPE = 1 AND WUSAGE >= 3 AND DATEDIFF(D, WTIME, ) <= 0 AND DATEDIFF(D, WTIME, GETUTCDATE()) > 0 ) AS T3 ON T0.WTIME = T3.WTIME GROUP BY T1.WGUID, DATEADD(D, DATEDIFF(D, 0, T1.WTIME), 0), T1.VPN_FLAG, T1.ADPT_DESC, T1.ADPT_IP4_ADDR ``` ## External USB Devices View The **External USB Devices** Dashboard requires you to create a new View: 1. Navigate to **Configure** > **Views** 2. Click the **padlock icon** in the upper-right to enable editing 3. Click the **plus icon** to add a new **View** 4. Fill in the **Settings** as follows: 1. View Name: **SF_USB** 2. Existing Category: **General** 3. Expires in: **30 Days** 4. When Expired: **Overwrite Data** 5. **Do *NOT* check** “When overdue by 1 day(s)” 6. Set the Refresh drop-downs to **Daily****,** **Inside****,** **24x7**, and **“****Every Day****”** 7. Copy this [SQL query](/documentation/docs/remote-working-installation-instructions#sfusb-sql-query), and paste it into the box under **SQL Selection** > **Generic** 8. Click **Test SQL**. A **Test Success** message should appear. If the test is not successful, the query may have been copied incorrectly 5. Click **Create View** at the top-right #### SF_USB SQL Query ```sql SELECT T0.WGUID, GETUTCDATE() AS VWTIME, S0.STRVALUE AS DEVICE_NAME, S2.STRVALUE AS MANUFACTURER FROM ((SAPNP AS T0 INNER JOIN SASTR AS S0 ON T0.CAPTION = S0.STRINGID) INNER JOIN SASTR AS S1 ON T0.DEVICEID = S1.STRINGID) INNER JOIN SASTR AS S2 ON T0.MANUFAC = S2.STRINGID WHERE S1.STRVALUE LIKE 'USB%' AND S2.STRVALUE NOT IN ('(Standard USB HUBs)', '(Standard system devices)', '(Standard USB Host Controller)', '(Generic USB Hub)') ``` ## Assign Views After the above Views have been created, they must be assigned to the **SF_Remote Working Role**: 1. Navigate to **Configure** > **Roles** 2. Use the drop-down at the top to select the **SF_Remote Working Role** 3. Click Views, then check the boxes next to **SF_NETPERFDAILY**, and **SF_USB**. 4. Click **Save Changes** at the top-right ## Remote Working Role This DEX Pack requires you to assign the **SF_Remote Working Role** to the relevant **Configurations**: 1. Navigate to **Configure**> **Configurations** 2. Click the **padlock icon** in the upper-right to enable editing 3. Use the drop-down at the top to select a relevant **Configuration**, or create a new **Configuration** 4. Assign **SF_Remote Working Role** to the **Configuration** by dragging it from **Available Roles** to **Assigned Roles** 5. Click **Save Changes** at the top-right 6. Repeat this process for any other relevant **Configurations** ## Office Subnets Setup Most Dashboards in this DEX Pack can be configured to ignore systems connected to your office subnets. If configured correctly, data in those Dashboards will be restricted to remote systems. The default office subnets (10.0.0.0/8) may already cover most of the office subnets in your enterprise. If not, then you can manually enter new office subnets: 1. Open the **Remote Working** Dashboard in **Dashboard Viewer** 2. Navigate to **Remote Connectivity** > **Home Connectivity** 3. To quickly open a Dashboard in **Dashboard Builder**, replace the word **“****viewer****”** in the URL with the word **“****builder****”** 4. Click the **blue Page Context** box connected to an **Office Subnets** box. This box is usually located in the lower-right section 5. Paste a list of your office subnets in the **Default Value** text box, separated by commas. There is a 1,000-character limit for this text box 6. Click **Apply** 7. To quickly return to **Dashboard Viewer**, click the **Viewer** button or the Back button in your browser 8. Repeat this process for every Dashboard in this DEX Pack containing an **Office Subnets** pane under **Advanced Options**. This includes every Dashboard **except** the **Overview****,** **Summary****,** and **Remote Session Intelligence** panes. You must repeat this process any time you reinstall this DEX Pack.