• This should do it -

    Set-ExecutionPolicy RemoteSigned

    [Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")

    Function Get-DatabaseFilesBySpaceAvailable ([Microsoft.SqlServer.Management.Smo.Server] $SmoSqlServer

    , [decimal] $sizeThreshold=0.80)

    {

    $sqlServer.Databases | Where-Object{$_.Status -eq "Normal"} `

    | Select-Object FileGroups -ExpandProperty FileGroups `

    | Select-Object Files -ExpandProperty Files `

    | Where-Object {$_.MaxSize -gt -1} `

    | Where-Object {$_.UsedSpace -gt ($_.MaxSize * $sizeThreshold)} `

    | Select UsedSpace,Size,MaxSize,FileName

    }

    $sqlServer = New-Object("Microsoft.SqlServer.Management.Smo.Server") "Server\Instance"

    Get-DatabaseFilesBySpaceAvailable -SmoSqlServer $sqlServer| FT -autosize

    Cheers
    http://twitter.com/widba
    http://widba.blogspot.com/