The layout of the esxcli commands has changed between vSphere 4 and 5.
You will have to use the syntax that is used in Arnim's post I mentioned above. My example is for vSphere 5.
I think it should be
$esxcli = Get-EsxCli -VMHost $_
$esxcli.corestorage.claimrule.list() |
but I'm afraid I can test that right no, since I don't have access to a vSphere 4 environment.
Btw, that should be 2 seperate line !