1. A method for backing up and restoring data of virtual machines, comprising: a data protection server discovering a host machine which hosts a plurality of virtual machines, the data protection server being a computing machine physically distinct from the host machine, each virtual machine causing changes to each volume associated with each virtual machine; the data protection server sending an agent for installation on the discovered host machine that hosts a plurality of virtual machines that monitors changes to each volume caused by each of the plurality of virtual machines; and the data protection server receiving from the agent the changes; providing a list of shadow copies corresponding to versions of a file of a first virtual machine of the plurality of virtual machines of the host machine from a directory service that includes a mapping that maps the first virtual machine to a data protection server; obtaining a name and share of the data protection server from the directory service based on the mapping; selecting a version of a file to restore from the list of shadow copies; and sending the file from the data protection server to the agent to restore the file to the first virtual machine.