Você pode fazer isso de várias maneiras que retornarão um objeto que tenha todos eles em seu tipo de dados definido. Você pode então pegar esse objeto e obter cada tipo de dados de valores.
$WMI = get-wmiobject -class Win32_ComputerSystem -ComputerName <RemoteComputer>
$WMI.PSObject.Members | where membertype -match "Property"
Isso lhe dá o objeto WMI e você pode fazer o que quiser com ele a partir daí. o $ WMI.psobject.Members enumera cada valor e permite percorrer o objeto olhando para cada um deles.
o Get-WmiObject não está usando o WS-Management para se conectar ao computador remoto e, portanto, não exige que a máquina remota tenha o WS-Management configurado. Está usando o DCOM aqui. Se você quiser usar o WinRM, você pode usar
$Results = Invoke-Command -scriptblock { get-wmiobject -class Win32_ComputerSystem } -computerName <ComputerName>
A variável neste será um Deserialized.System.Management.ManagementObject # root \ cimv2 \ Win32_ComputerSystem, mas com algumas propriedades adicionadas.