Creating Custom Packages with PDQ Connect

Creating a New Custom Package

To create a new custom package in PDQ Connect, select Create Package on the Packages page. 

Create New Package.png

Properties

The Properties tab contains basic details about the package. 

Package Properties.png

Step ListThe Step List displays the steps for the package. Select any step to open the page for that step. Click on the trash can icon for a step to remove it from the package. 

Add Step: Click the Add Step dropdown to see a list of available steps. Select a step to add it to the package. 

Name: The name of the package.

Version: The version of the package. 

Description: A description of the package. 

Timeout: How long the package will run before timing out. 

Install Step

Install Steps allow you to use an install file with the appropriate command line parameters to silently install an application. 

Install Step.png

Step Name: The name of the step. 

File: Select the file to be used used for the package step. 

Additional File: Select any additional required files for the deployment. A new Additional Files field will appear after selecting a file, allowing multiple additional files to be included with the package. 

Parameters: Configure the command line installation parameters for the package. 

Success Codes:Comma separated list of return codes that indicate the command was successful. Return Codes that are not listed here will result in an error, even if the deployment was successful. 

Run As: Select the account the package will Run As. 

  • Local System: Runs the deployment as the Local System account. 
  • Logged on User: Runs the deployment as the currently logged on user. 
    • The Logged on User setting will not detect Remote Desktop sessions. The logged on user must be locally logged on to the target computer for PDQ Connect to detect the current logged on user session. 

Error Mode: Configure the package's behavior if there is an error for the step. 

PowerShell Step

PowerShell Steps allow you to upload a .ps1 file to run a PowerShell script. 

PowerShell Step.png

Step Name: The name of the step. 

File: Select the file to be used used for the package step. 

Additional File: Select any additional required files for the deployment. A new Additional Files field will appear after selecting a file, allowing multiple additional files to be included with the package. 

Parameters: Configure the command line installation parameters for the package. 

Success Codes:Comma separated list of return codes that indicate the command was successful. Return Codes that are not listed here will result in an error, even if the deployment was successful. 

Run As: Select the account the package will Run As. 

  • Local System: Runs the deployment as the Local System account. 
  • Logged on User: Runs the deployment as the currently logged on user. 
    • The Logged on User setting will not detect Remote Desktop sessions. The logged on user must be locally logged on to the target computer for PDQ Connect to detect the current logged on user session. 

Error Mode: Configure the package's behavior if there is an error for the step. 

Additional files included in an Install/PowerShell Step will be copied to the target and ran from the PDQ Connect Agent's running directory and can be dot sourced in the PowerShell script.  C:\ProgramData\PDQ\PDQConnectAgent\Downloads\dvc_task_{guid}

.\FileName.ext

Use double quotes for the filename if it contains any spaces. 

".\File Name.ext"

Reboot Step

Reboot Steps allow you to perform a reboot during a deployment. 

Reboot Step.png

Step Name: The name of the step. 

Delay: How long to wait before the Reboot Step initiates the reboot. 

Message: Write an optional message to be displayed to the logged on user before the reboot is initiated. 

Error Mode: Configure the package's behavior if there is an error for the step. 

Using a PowerShell Step to Copy a File

Below is an example of a PowerShell script that will copy all the additional files to a destination on the target machine, excluding the PowerShell script itself that would also be present in the runner directory.

$Source = ".\*"
$Destination = "$env:public\desktop"
Copy-Item -Path $Source -Destination $Destination -Exclude '*.ps1' -Force

 

Still have a question or want to share what you have learned? Visit our Community to get help and collaborate with others.