Retrieving Schema Information
Retrieving Schema Information
Retrieves schema information.
Examples:
Hint: The execution of these examples requires a connected PowerShell drive. |
Schema Information is bound to the PowerShell drive representing the Business Logic Server. So as a first step, the EmdbInfo-property of the drive object associated with the drive 'emdb:' is retrieved:
$MyDrive = Get-PSDrive emdb $MyInfo = $MyDrive.EmdbInfo |
Now the schema information of a computer can be retrieved using the GetSchemaInfo()-method:
$MySchemaInfo = $MyInfo.GetSchemaInfo("Computer") |
The $MySchemaInfo data structure holds the returned schema information. In particular it contains a list holding all property groups associated with Computers, with can be displayed with the following command:
$MySchemaInfo.PropGroupLinkList | Select PropGroupDefTag |
All standard property groups and the property groups introduced with schema extensions are returned. Now the properties of a certain group can be retrieved. In the next example we retrieve all properties of the property group 'BasicInventory' and store them in a variable named $MyProperties:
$MyPropertyGroupInfo = $MyInfo.GetPropertyGroupInfo("BasicInventory", $true) $MyProperties = $MyPropertyGroupInfo.PropertyDefList |
Now information about the properties can be retrieved. The localized property names are stored in the array-typed attribute named 'DisplayNameList'. In the next example all English property names are retrieved:
$MyProperties | ForEach-Object{$_.DisplayNameList | Where-Object{$_.culturecode -eq "en"}} |
Retrieve all information about properties having the term 'ram' in any supported language in their localized names:
$MyProperties | ForEach-Object{$_.DisplayNameList | Where-Object{$_.representation -match "ram"} | Sort-Object -Property id -u} |