In a trigger on Lead (which is what you're using), Trigger.new only contains the list of Lead objects that has been inserted/updated/deleted/undeleted (depending on context), which is why you cannot iterate over it as a collection of User objects.
You can however build your own list of user IDs and then use that to get the User objects you require:
Set<ID> userIds = new Set<Id>();
for(Lead aLead : Trigger.new)
{
userIds.add(aLead.CreatedById);
}
Map<Id, User> userMap = new Map<Id, User>
([
SELECT
Id
FROM
User
WHERE
Id IN :userIds
AND UserType = 'PowerPartner'
AND IsActive = true
]);
Set<Id> userIds = userMap.keySet();