Set-ResourceConfig -ResourcePropertySchema ("Room/TV","Room/Drapes","Room/Chair","Room/Stool","Room/WhiteBoard")
$config=Get-ResourceConfig
$config.ResourcePropertySchema+=("Equipment/FourDoors","Equipment/Manual","Equipment/Automatic","Equipment/Cherry")
$config.ResourcePropertySchema+=("Equipment/Bagless","Equipment/12sets")
Set-ResourceConfig -ResourcePropertySchema $config.ResourcePropertySchema
New-Mailbox -Name "Conference" -Room -ResourceCapacity 25
Set-Mailbox -Identity "Conference" -ResourceCustom ("TV","Stool","VCR")
The resource search property value "VCR" is not valid.
+ CategoryInfo : NotSpecified: (Conference:ADUser) [Set-Mailbox], RecipientTaskException
+ FullyQualifiedErrorId : AF7DC6A3,Microsoft.Exchange.Management.RecipientTasks.SetMailbox
To use "VCR", you must define it as follows:
$config.ResourcePropertySchema+=("Room/VCR")
Set-ResourceConfig -ResourcePropertySchema $config.ResourcePropertySchema
And then, the following cmdlet works.
Set-Mailbox -Identity "Conference" -ResourceCustom ("TV","Stool","VCR")
New-Mailbox -Name "Vehicle" -Equipment
Set-Mailbox -Identity "Vehicle" -ResourceCapacity 4 -ResourceCustom ("TV","FourDoors","Automatic")
The resource search property value "TV" is not valid.
+ CategoryInfo : NotSpecified: (Vehicle:ADUser) [Set-Mailbox], RecipientTaskException
+ FullyQualifiedErrorId : 6C25B0CC,Microsoft.Exchange.Management.RecipientTasks.SetMailbox
The "TV" is a room property.
The following cmdlet works.
Set-Mailbox -Identity "Vehicle" -ResourceCapacity 4 -ResourceCustom ("FourDoors","Automatic")
$global=Get-GlobalAddressList "Default Global Address List"
Get-Recipient -RecipientPreviewFilter $global.recipientfilter
New-AddressList "Resources" -IncludedRecipients Resources
$resources=Get-AddressList Resources
get-recipient -RecipientPreviewFilter $resources.RecipientFilter | fl name
Name : Vehicle
Name : Conference
The resources address list include both ROOM and EQUIPMENT.
Update-AddressList "Resources"
Because there is ALL ROOMS address list, the following will create ALL EQUIPMENTS address list
New-AddressList "All Equipments" -RecipientFilter {recipientDisplayType -eq 'EquipmentMailbox'}
$list=Get-AddressList "All Equipments"
get-recipient -RecipientPreviewFilter $list.RecipientFilter | fl name
Name : Vehicle
Update-AddressList "All Equipments"
The default recipientFilter for ALL ROOMS address list is:
$room=Get-AddressList "All Rooms"
$room.RecipientFilter

((Alias -ne $null) -and (((RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox'))))
Set-AddressList -Identity "All rooms" -RecipientFilter {(Alias -ne $null -and (RecipientDisplayType -eq 'ConferenceRoomMailbox' -or RecipientDisplayType -eq 'SyncedConferenceRoomMailbox' -or RecipientDisplayType -eq 'EquipmentMailbox'))}

From outlook, conference and vehicle are listed with description.

In-Policy

The AutoProcessing property of a mailbox (including Room mailbox) is set to AutoUpdate. It allows the Calendar Assistant to place tentative meeting requests into a mailbox calendar. You have to open and respond (Accept or Reject) to the meeting request. Because a room mailbox is associated with a disabled user account, you have to grant FULLACCESS mailbox permission to the delegates of the room mailbox. The delegates can open the room mailbox to process the meeting requests.
Set-CalendarProcessing "Conference" -ResourceDelegates albert@1ask2.com
When AutoProcessing property is set to AutoAccept, it enable "Resource Booking Attendant".
When AutoProcessing property is set to NONE, it would accept any meeting request.
Set-CalendarProcessing "Conference" -AllRequestInPolicy $True -AllBookInPolicy $False -AutoProcessing "AutoAccept"
When booking the conference room, the delegate will receive email as:

Set-CalendarProcessing "Conference" -AllRequestInPolicy $True -AllBookInPolicy $True -AutomateProcessing "AutoAccept"
If AllBooInPolicy is set to $True, the book assistant will ignore the settings of AllRequestInPolicy and AllBookInPolicy.
Set-CalendarProcessing "Conference" -AllRequestInPolicy $false -RequestInPolicy Sam@1ask2.com -AllBookInPolicy $True -AutomateProcessing "AutoAccept" -ResourceDelegates albert@1ask2.com
When Sam books a meeting request, the conference room mailbox is still automatically accepted or rejected without the delegate:albert's consent.
Out-of-Policy
Set-CalendarProcessing "Conference" -AllRequestInPolicy $false -RequestInPolicy Sam@1ask2.com -AllBookInPolicy $True -AutomateProcessing "AutoAccept" -ResourceDelegates albert@1ask2.com -MaximumDurationInMinutes 20 -AllRequestOutOfPolicy $false -RequestOutOfPolicy "administrator@1ask2.com"
When Administrator creates a meeting request of 30mins, it automatically receives a Tentative Accept message from CONFERENCE room mailbox. The delegate:albert has to process it.
When Sam creates a meeting request of 30mins, it automatically receives a Declined message from CONFERENCE room mailbox:
Your meeting request was declined.