$type = $obj.gettype()
$type.InvokeMember("sitename","GetProperty",$null,$obj,$null)
2. query the registry. The site info is cached under:
HKLM:\System\CurrentControlSet\Services\Netlogon\Parameter\DynamicSiteName
3. A function I keep in my profile to get the site name remotley (requires nltest):
function Get-ADComputerSite($ComputerName)
{
$site = nltest /server:$ComputerName /dsgetsite
if($LASTEXITCODE -eq 0){ $site[0] }
}