Access computers in dynamic collection to set custom field w/Powershell

Hello all,

I am a complete noob when it comes to PDQ AND Powershell. I was trying to modify the PDQ script from their tutorial on inserting custom fields with powershell but can't seem to get where I need to be.

I have created a dynamic collection based on the Model of the computer. What I want to do is set the purchase year and end of life year in the custom fields I have created. Ultimately, it would probably need 'If' statements to set the year by Collection. For example, Collection 7060 would have a purchase year of 2018 and an end of life of 2025. Collection 7080 would have a purchase year of 2021 and end of life of 2028.

Any guidance would be greatly appreciated!



The PDQ script I am working with, minus the custom field creation since they exist:

$DBPath = "C:\programdata\Admin Arsenal\PDQ Inventory\Database.db"
$SQL = 'Select Name from Computers;'
$Computers = sqlite3.exe $DBPath $SQL

$CustomFieldName = "Department"
$CustomFieldType = "String" # Valid types - Boolean, String, Integer, Date, or DateTime

$ComputerList = @("ComputerName,$CustomFieldName")
$Computers | ForEach-Object {

$ComputerList += "$_,Sales"


$TempFile = New-TemporaryFile
$ComputerList | Out-File $TempFile

PDQInventory.exe CreateCustomField -Name $CustomFieldName -Type $CustomFieldType 
PDQInventory.exe ImportCustomFields -FileName $TempFile -ComputerColumn "ComputerName" -CustomFields "$CustomFieldName=$CustomFieldName" -AllowOverwrite




Date Votes
  • Hi Tim,
    I am no powershell expert, BUT if you join the PDQ Discord, you will get some help there within hours. you don't have to wait that long. 😁

  • If you have a .csv that has your computername and your custom fields (purchase year, eol), you should be able to import those. Is there a particular part that you are stuck on?


Please sign in to leave a comment.

Didn't find what you were looking for?

New post