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.

Baseline Package Question

So where I work we use FOG snapins to auto deploy machines. Let me give a run down of our process, and where the issue is. 

1. FOG pushes base image to machine

2. SYSPrep process runs, SetupComplete.cmd turns on FOG service

3. Auto logon 1 happens and runs 2 powershell scripts. These set the ENV VARS and renames the machine, Reboot

4. Auto login 2 happens. Machine joins domain, PDQ invoke command runs, cleanup happens, Reboot.

5. Sits are Logon screen. 

My problem is in step 4 when the Invoke command runs, the target machine is still considered offline. If I go back and redeploy the package it works fine, just not during the imaging phase. what can I do to give it enough time to see the machine is online?

I have read over Stephens blog about the special OU + Heartbeat. That would require us redoing our imaging process to fit that. As that is not off the table as a consideration, I am curious what my other options could be. 



Date Votes
  • Ha! I've been looking into moving from the OU + Heartbeat to the Snapin thing, just as a trial and see if we like the method better.

    I might make a tiny suggestion?

    What if before you did your invoke for Deploy, you Invoked PDQInventory.exe?

    pdqinventory.exe WakeComputer -Computer <target>

    So a full little Snapin script would look something like:

    #Tell Inventory to wake a machine, which will change its online status

    Invoke-Command -Computer $pdqserver -Creds $creds #if you need these -Scriptblock {

    pdqinventory.exe WakeComputer -Computer $args[0] } -ArgumentList $target

    Start-Sleep 60 (Give an Inventory scan time to run if it needs to)

    Invoke-Command -Computer $pdqserver -Creds $creds #again, if needed -Scriptblock {

    pdqdeploy.exe Deploy -Package Baseline -Target $args[0] } -ArgumentList $target
  • I was thinking something similar, just wan't sure how to go about it. I was think.. Is there a command to invoke a heartbeat, or someway to force PDQ to see it as online. I already added in a Start-sleep 60, but it wasn't enough. Hopefully probing it along with the wake command (although it will be unsuccessful, but still be able to see its already online), will actually show it as online, and kick the deployment. I will try this out and let you know my results. 


    On a side note, say I have a brand new out of the box machine.. never been on the network. I image it and it joins the domain. Inventory wouldn't know its there in AD yet would it? Which would cause the deployment to fail, am I correct? 


    (Still learning, but so far love the product. just trying to customize it to our needs.)

  • pdqinventory.exe ADSync

    That's the commandline for syncing AD. Add that as a first step. Should be what you need. Enough to test at least.

  • Is this what I need:


    Invoke-Command -ComputerName "<SERVER_NAME>" -ScriptBlock{ pdqinventory.exe ADSync -StartSync } 

  • It seems that sending the Wake command isn't changing the status to Online. I verified the machine actually wakes up when offline, so its getting the packet, but still shows offline in Inventory. Manually sending a Heartbeat, shows it online.