Wouldn't this do the same?
$sName = "mysvr"
$dbName = "mydb"
$server = New-Object Microsoft.SqlServer.Management.Smo.Server($sName)
$db = $server.Databases[$dbName]
Get-ChildItem $db.PrimaryFilePath -Recurse | Where-Object{($_.psiscontainer)} | Get-Acl
# ..