Trying to use PowerShell to get AutoPilot information from Intune


I am a moderate PowerShell user and am having some issues trying to get some device information from Azure AD by using devices set for Enrollment in Intune

There are device properties that can be used to setup Dynamic Groups in Azure AD / Intune. When setting up a group to pull machines using Purchase Order info, the query is
<p style=“margin: 0in; font-family: Calibri; font-size: 11.0pt;”>(device.devicePhysicalIds -any _ -eq “[PurchaseOrderId]:76222342342”)</p>
I am trying to use this information somehow with PowerShell to pull a list of all machines with a particular purchase order and then add them to an AAD group I specify. The AAD groups are already created and are manual groups, so I cant use a new Dynamic Group to do this…

I have tried using Get-AzureADDevice with a -Filter but cant seem to get a query to work with the filter, and if the query works, I dont know if the properties are even usable.

Just not sure how I can use those query values in PowerShell to get the information I want, if I can at all…

Thanks for any assistance.

Cam you share your code, what you have tried … :slight_smile:

That “query” you give looks like and HTML Paragraph tag, I assume the parapraph contents define the query?

Hi Brian,

You may try this, it worked for HWID.

Get-AzureADDevice -Filter "DevicePhysicalIds eq '[PurchaseOrderId]:76222342342'"

Here are some helpful links. It seems this command and module are limited.

My apologies for the paragraph tags, I clicked on the wrong link button…

I ended up finding the Windows AutoPilot PowerShell cmdlets and they were able to do exactly what I wanted. I could pull a list of devices by Purchase Order using

My issue now is that once I pull the information using the Get-AutoPilotDevice cmdlet, I have a group of Purchase Order IDs that I put to an outvariable. I’d like to use that outvariable along with Add-AzureADGroupMember cmdlet to add the devices to an Azure AD Group, but getting errors that the Add-AzureADGroupMember cmdlet cant take arrays, only strings. The information in the variable is on the actual PO IDs, so not sure of the error.

“I have a group of Purchase Order IDs that I put to an outvariable”

Sounds like you need to use a For/FoEach loop on the array returned in your variable. If we could see your code, that might help.

Have you tried my suggestion?