1. A virtual desktop infrastructure comprising: a plurality of datastores; a virtual machine (VM); and a virtual desktop management server (VDMS) comprising a management module, said management module configured to: determine a plurality of usage values that are associated with said plurality of datastores; determine one or more selection penalty values that are associated with one or more thin-provisioned VMs assigned to one or more of said plurality of datastores; calculate a plurality of capacity values for said plurality of datastores based at least in part on the plurality of usage values and the one or more selection penalty values such that each of the plurality of capacity values corresponds to a separate datastore of said plurality of datastores; and assign said VM to one datastore of said plurality of datastores based at least in part on the plurality of capacity values.