are you asking for resource group of vn?
$vn.ResourceGroupName
or do you expect subnets to have different resourcegroupname?
in that case by string manipulation you get the ResourceGroupNameFromId via
$vn.Subnets | Select Name, AddressPrefix,@{n='ResourceGroupNameFromId';e={((($_.Id -split '/resourceGroups/')[1]) -split '/providers/')[0]}} | sort AddressPrefix
property 'ID' was replaced by 'ResourceGroupNameFromId'
regards