On the EPM API: http://localhost/MBSDKService/MsgSDK.asmx

ListMachine

Use the ListMachine function to get the GUIDs you are interested in.

Then you have two possible functions if you need more information:

GetMachineData for Simple Values

1
<Columns><Column>Computer."Device Name"</Column><Column>Computer.System.Model</Column></Columns>

Script Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$mycreds = Get-Credential -Credential "Leblogosd\david"
$ldWS    = New-WebServiceProxy -uri http://EPM2021/MBSDKService/MsgSDK.asmx?WSDL -Credential $mycreds
$ListDevices = $ldWS.ListMachines("").Devices
 
#GUID                                   DeviceName      DomainName           LastLogin
foreach ($ListDevice in $ListDevices) {
  $DeviceLDMSName = $ListDevice.DeviceName
  $DeviceLDMSGUID = $ListDevice.GUID
 
  $GetMachineData = $ldWS.GetMachineData("$DeviceLDMSGUID","<Columns><Column>Computer.""Device Name""</Column><Column>Computer.System.Model</Column></Columns>")
  $device_name  = $GetMachineData.MachineData[0].Value
  $device_Model = $GetMachineData.MachineData[1].Value
  Write-host "$device_name = $device_Model"
}

GetMachineDataEx for Multiple Values

1
<Columns><Column>Computer."Device Name"</Column><Column>Computer.Environment.Variable.Value</Column></Columns>

To put it simply, if your ColumnSet requires a qualifier, it will be a GetMachineDataEx.