Infrastructure
Infrastructure components
The figure below shows the scheme of the SCCM connector infrastructure.
The infrastructure components details are described in Tables 1 - 2.
Table 1. Infrastructure components
Component |
Details |
1. Apptimized Portal |
The platform where Apptimized customer manages projects portfolios. Requires an active project with enabled and configured SCCM connector settings. |
The screenshot below shows the Apptimized Portal interface.
Table 2. Infrastructure components
Component |
Details |
2. Customer Environment |
Information technology environment, including software, hardware, and systems (e.g., endpoint PCs, VMs, servers, networks).
The access of endpoint PC or VM to the 443 port of the app.apptimized.com host is a prerequisite. |
2.1. Proxy server |
This component is optional. A proxy server is a third party between the customer and the service (the Apptimized Portal). A proxy server manages the requests sent by the customer and completes them depending on the system's preferences. |
2.2. Apptimized SCCM connector |
A tool that enables customers to deploy ready-made packages directly from Apptimized to an SCCM environment and to upload applications from the SCCM server to Apptimized for testing purposes or further processing. It connects Apptimized Portal and SCCM Admin Console via HTTPS long-polling strategy, where the SCCM connector pulls data from the Apptimized portal every 10 seconds. The SCCM connector must be launched on a local PC by the domain administrator or domain user. Runs on platforms: Microsoft Windows Desktop (Windows 7 and above) or Server OS (Windows Server 2012 R2 and above) with installed .NET Framework 4.6.1 |
2.3. SCCM administrator console |
Console to manage applications in the customer environment. |
2.4. Customer SCCM server |
Customer’s server where the SCCM is installed. |
The screenshot below shows the SCCM administrator console interface.
Communication process
The Apptimized Portal communicates to the Customer environment via API.
To integrate the Apptimized Portal with the SCCM environment, the SCCM Connector must be installed to the endpoint PC.
The SCCM Connector pings Apptimized Portal every 10 seconds for a new data on the project. To identify the customer, only the remote ID is used. Any other data from the customer will not be requested.
When data is received from the Apptimized Portal, the SCCM Connector transforms it to Powershell commands to communicate with the SCCM administrator console on the endpoint PC.
The SCCM administrator console sends information to the SCCM server within its communication protocols and methods.
The information flow content depends on the type of customer activity (see Cases 1-2).
Case 1. A customer pushes TimKosse_FileZilla_3.46.3_English(United States) to SCCM.
Outbound information - a data sent from the Apptimized Portal:
- the SCCM administrator console connection parameters
Site code - DEM;
Path to the SCCM console - C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin;
Path to the network share - \\WIN-2HDJCBHRRVB\Sources$\incoming\TimKosse_FileZilla_3.46.3_English(United States).
- package metadata;
Package name - TimKosse_FileZilla_3.46.3_English(United States);
Application version - 3.46.3;
Application vendor - Tim Kosse;
Application name - FileZilla;
Application language - English(United States);
Auto-install in task sequence of SCCM console - Yes;
Application owner - The default value is customer's name (i.e. John Doe);
Application description (optional) - Will be sent, if something has been indicated;
SCCM optional reference (optional) - Will be sent, if something has been indicated;
Folder in the SCCM console UI - Applications/Test 1.
- an application (package) sources in .zip format;
An archive in .zip format contains a PSADT Wrapper and a package source in .msi format.
- a deployment type information;
Deployment type name - TimKosse_FileZilla_3.46.3_English(United States)_DT;
Path to the source in SCCM environment network - \\WIN-2HDJCBHRRVB\Sources$\incoming\TimKosse_FileZilla_3.46.3_English(United States);
Name of the default distribution group - Demo Distribution Group;
Installer type - Script Installer;
Script type for the detection method - Powershell;
Detection script content - Get-ItemProperty "HKLM:Software\ TimKosse_FileZilla_3.46.3_English(United States)\TimKosse\FileZilla \3.46.3" -ErrorAction SilentlyContinue | Where { $_.IsInstalled -eq 1 };
Persist content in client cache - Yes;
Installation command with parameters - Deploy-Application.exe -DeploymentType Install;
Uninstallation command with parameters - Deploy-Application.exe -DeploymentType Uninstall;
What to do on slow network - Download;
Maximum installation time (minutes) - 120;
Estimated installation time by default (minutes) - 0;
Run installation program as a 32-bit process on 64-bit client - No;
Admin comment (optional) - Will be sent, if something has been indicated.
- deployment information for the application/package;
Collection name - Demo devices;
Install or uninstall the application by default - Install;
Deploy purpose of the installation by default - Available;
Deadline date - 02.02.2020 00:00;
Deadline time - 18:00;
Time zone of a deadline - Local time.
Inbound information - a data sent to the Apptimized Portal:
- a response to the outbound information commands (result - OK);
- request to get information with remote ID parameter
Remote ID - 1745a854-2d9a-4f99-8a04-d511882f7028.
Case 2. A customer imports TimKosse_FileZilla_3.46.3_English(United States) from SCCM.
Outbound information - a data sent from the Apptimized Portal:
- the SCCM administrator console connection parameters;
Site code - DEM;
Path to the SCCM console - C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin;
Path to the network share - \\WIN-2HDJCBHRRVB\Sources$\incoming\
TimKosse_FileZilla_3.46.3_English(United States).
- a command to get a list of applications in the SCCM administrator console;
Get-WmiObject -Namespace ROOT\SMS\Site_$SiteCode `
-Query "SELECT * FROM SMS_ObjectContainerNode WHERE ObjectType='6000'" | `
Select-Object -Property Name, ContainerNodeID, ParentContainerNodeId;
- a command to get metadata of applications in the SCCM administrator console;
GetApplicationsMetadata(string stringPsApps) =>
SccmResultHelper.ConvertToSccmObjects(
ExecutePsCommand($"Get-CMApplication | `" +
$"Select-Object -Property LocalizedDisplayName, SDMpackageXML | `" +
$"Where-Object {{({stringPsApps}).Contains($_.LocalizedDisplayName)}} | `" +
$"Select-Object -ExpandProperty SDMpackageXML", out _));
- a command to get an application (package) sources in the SCCM administrator console. The SCCM Connector will receive the path to the SCCM application source from SCCM application metadata. It will be zipped and sent to the Apptimized Portal.
Inbound information - a data sent to the Apptimized Portal:
- request to get information with remote ID parameter
Remote ID - 1745a854-2d9a-4f99-8a04-d511882f7028.
- an application (package) sources in .zip format;
An archive in .zip format contains a PSADT Wrapper and a package source in .msi format.
- a list of SCCM applications (or one specific application)
An application - TimKosse_FileZilla_3.46.3_English(United States);
An application related data:
"Path":"/Test 1",
"ContainerId":"16777218",
"ResourceId":"Res_810274514",
"IsDuplicated":false.
- an application's metadata in the SCCM administrator console;
Package name - TimKosse_FileZilla_3.46.3_English(United States);
Application version - 3.46.3;
Application vendor - Tim Kosse;
Application name - FileZilla;
Application language - English(United States).
Communication methods
The SCCM Connector is configured to communicate with the Apptimized Portal using HTTPS protocol. The text box below provides the certificate details:
Issued by – K Software certificate Authority (DV) 2 https://sectigo.com/legal
Version – V3
Signature algorithm – sha256RSA
Signature hash algorithm – sha256
Public key – RSA (2048 Bits)
TLS – 1.2
The Powershell commands are implemented to communicate the SCCM Connector with the SCCM Console.
The text box below provides the commands list depending on the client's activities.
- Push to SCCM:
- Import-Module .\ConfigurationManager.psd1;
- New-CMApplication;
- Add-CMDeploymentType;
- Add-CMMsiDeploymentType;
- Start-CMContentDistribution;
- Start-CMApplicationDeployment;
- Move-CMObject -FolderPath;
- Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force.
- Import from SCCM:
- Import-Module .\ConfigurationManager.psd1;
- Get-CMApplication;
- Get-WmiObject;
- Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force.
No Comments