Help with function to get local disks

I am trying to query computers for local disks and the function that I have works well when querying my local machine, but when I query a server which has a number of local disks I get the following error:

Method invocation failed because [System.Object] does not contain a method named ‘op_Division’.
At C:\Users\xxx\Desktop\LocalDisk.ps1:43 char:5

  • $Prop=@{
  • ~~~~~~~~
    • CategoryInfo : InvalidOperation: (op_Division:String) , RuntimeException
    • FullyQualifiedErrorId : MethodNotFound

Problem is at these lines:

'Total Size (GB)' = $Disk.Size / 1gb -as [int]
'Free Space (GB)' = $Disk.FreeSpace / 1gb -as [int]
'Free Space (%)' = [double]$Disk.FreeSpace / [double] $_.size * 100 -as [int]

Values $Disk.Size, $Disk.FreeSpace and $Disk.FreeSpace. Their values cannot be divided, because they contain two numbers.

Thanks, that has worked, but I am surprised that it allowed it when I queried my local computer.

How many fixed disks do you have on your local computer? One?