Important Notice: On February 29th, this community was put into read-only mode. All existing posts will remain but customers are unable to add new posts or comment on existing. Please feel to join our Community Discord for any questions and discussions.

PDQ Inventory Agent installed via a PDQ Deploy Package with heartbeat schedule

We have laptop users that connect after hours outside of the office and I would like to install the inventory agent on their laptops via a PDQ Deploy package setup for a heartbeat schedule. They connect via VPN and have been scanned in Inventory already, I'm just looking to see if there is a way to set this up so I can get the agent installed.

0

Comments

9 comments
Date Votes
  • Official comment

    We are announcing the End of Life (EOL) of the optional PDQ Agent beta from our existing products. See this blog post for more information https://www.pdq.com/blog/pdq-agent-status-update/

  • There is an option to download the Agent Manual Install file.

    Select the device in Inventory and click the computer tab on top toolbar. There will be an option for the agent file. It will download the configuration.

    Heartbeat schedule to copy the install file, config file, then run install file when online. Install file will find the configuration automatically.

    I do not know of a way to better automate this.

    0
  • That file is specific to the target it was generated for. You want to use the generic config file "C:\Program Files (x86)\Admin Arsenal\PDQ Inventory\AgentInstaller.Config.xml"

    0
  • <?xml version="1.0" encoding="utf-8"?>
    <AdminArsenal.Export Code="PDQDeploy" Name="PDQ Deploy" Version="16.1.0.0" MinimumVersion="15.0">
      <Package>
        <CurrentLibraryPackageVersionId value="null" />
        <PackageDefinition name="Definition">
          <Conditions type="list">
            <PackageStepCondition>
              <Architecture>Both</Architecture>
              <Version>All</Version>
              <TypeName>OperatingSystem</TypeName>
            </PackageStepCondition>
            <PackageStepCondition>
              <IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
              <TypeName>LoggedOnUser</TypeName>
            </PackageStepCondition>
            <PackageStepCondition>
              <ConditionMode>None</ConditionMode>
              <InventoryCollectionId value="null" />
              <InventoryCollectionName></InventoryCollectionName>
              <TypeName>Collection</TypeName>
            </PackageStepCondition>
          </Conditions>
          <CopyMode>Push</CopyMode>
          <DelayedApprovalTimeSpan>7.00:00:00</DelayedApprovalTimeSpan>
          <DownloadApprovalMode>Manual</DownloadApprovalMode>
          <InventoryScanProfileId value="1" />
          <IsDownloadApprovalModeInherited value="true" />
          <ScanAfterDeployment value="false" />
          <Steps type="list">
            <InstallStep>
              <CustomCommandLine></CustomCommandLine>
              <FileName>C:\Program Files (x86)\Admin Arsenal\PDQ Inventory\AgentInstaller.exe</FileName>
              <Files>C:\Program Files (x86)\Admin Arsenal\PDQ Inventory\AgentInstaller.Config.xml</Files>
              <IncludeDirectory value="false" />
              <LeaveInstallFile value="false" />
              <MsiOperation>Install</MsiOperation>
              <MsiQuiet value="true" />
              <MsiRestart>Never</MsiRestart>
              <Parameters>/S /Config AgentInstaller.Config.xml</Parameters>
              <SuccessCodes>0,1641,3010,2359302</SuccessCodes>
              <RunAs value="null" />
              <Conditions type="list">
                <PackageStepCondition>
                  <Architecture>Both</Architecture>
                  <Version>All</Version>
                  <TypeName>OperatingSystem</TypeName>
                </PackageStepCondition>
                <PackageStepCondition>
                  <IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
                  <TypeName>LoggedOnUser</TypeName>
                </PackageStepCondition>
                <PackageStepCondition>
                  <ConditionMode>None</ConditionMode>
                  <InventoryCollectionId value="null" />
                  <InventoryCollectionName></InventoryCollectionName>
                  <TypeName>Collection</TypeName>
                </PackageStepCondition>
              </Conditions>
              <ErrorMode>StopDeploymentFail</ErrorMode>
              <Title>Install PDQ Inventory Agent</Title>
              <TypeName>Install</TypeName>
              <IsEnabled value="true" />
              <IsPostStep value="false" />
              <IsPreStep value="false" />
            </InstallStep>
          </Steps>
          <Timeout value="60" />
          <UseCustomTimeout value="false" />
          <RunAs value="null" />
        </PackageDefinition>
        <Description></Description>
        <NewLibraryPackageVersionId value="null" />
        <OriginalId value="null" />
        <Version>1</Version>
        <IsAutoDownload value="false" />
        <FolderId value="null" />
        <LibraryPackageVersionId value="null" />
        <Name>PDQ Inventory Agent with Config</Name>
        <Path>PDQ Inventory Agent with Config</Path>
        <PackageDisplaySettings name="DisplaySettings">
          <DisplayType>Normal</DisplayType>
          <IconKey>Icon-Package</IconKey>
          <SortOrder value="21" />
        </PackageDisplaySettings>
      </Package>
    </AdminArsenal.Export>
    
    0
  • Thanks Colby, that did it!

    0
  • Thank you for this, works like a charm. I did one thing extra, and hoping there isn't any issue with future versions. Please let me know if this is a bad practice, but I shared out the C:\Program Files (x86)\Admin Arsenal\PDQ Inventory\ on the Central Server, so it's accessible via \\CentralServer\PDQ Inventory\. In the package XML you provided, I will point to the UNC path for the agent files. My assumption is that when new versions come out, I won't need to copy over the new AgentInstaller.exe and AgentInstaller.Config.xml to that Agent deploy package each time to guarantee an update agent version is being pushed out.

    @PDQ_Colby can you confirm whether or not this will work as intended?

    0
  • That should be fine. Just make sure to set the permissions so only your service account(s) can access it.

    Inventory automatically updates all of its Agents. You don't need to push updates to them. Also, those files are always the latest version, so you are correct that you don't need to update the Deploy package.

    Also, I recently wrote a blog post that explains my choices further: https://www.pdq.com/blog/installing-the-agent-with-pdq-deploy/

    0
  • Thank you for the clarification, and good write up in your blog post. The one thing I'm confused on is the mention of the PC needing to be scanned first. Putting aside the package you created, how does one push the agent to a client if it hasn't been scanned by inventory first? Or is that warning more for once the Deploy package is created before the PC is detected by Inventory? We typically automate deployments using Link-To > Inventory Collection so maybe we would never run into that problem...

    0
  • For computers that haven't been scanned you'll have to use the manual config file, which unfortunately is not as simple to push: https://documentation.pdq.com/PDQInventory/16.5.0.0/agent_installation.htm#externalnotscanned

    0