Copy-VMGuestFile Command | Vmware PowerCLI Reference

Copy-VMGuestFile

This cmdlet copies files and folders from and to the guest OS of the specified virtual machines using VMware Tools. Use the GuestUser and GuestPassword, or GuestCredential parameters to authenticate when connecting to the VMware Tools. To authenticate with the host, use the HostUser and HostPassword, or HostCredential parameters. SSPI is not supported. For a list of supported operating systems, see the PowerCLI User's Guide.To run this cmdlet against vCenter Server/ESX/ESXi versions earlier than 5.0, you need to meet the following requirements: *You must run the cmdlet on the 32-bit version of Windows PowerShell. *You must have access to the ESX that hosts the virtual machine over TCP port 902. *For vCenter Server/ESX/ESXi versions earlier than 4.1, you need VirtualMachine.Interact.ConsoleInteract privilege. For vCenter Server/ESX/ESXi 4.1 and later, you need VirtualMachine.Interact.GuestControl privilege.To run this cmdlet against vCenter Server/ESXi 5.0 and later, you need VirtualMachine.GuestOperations.Modify privilege.

Syntax

Copy-VMGuestFile
[ -Destination ] < String >
[ -VM ] < VirtualMachine[] >
-GuestToLocal
-Source < String[] >
[-Force ]
[-GuestCredential < PSCredential > ]
[-GuestPassword < SecureString > ]
[-GuestUser < String > ]
[-HostCredential < PSCredential > ]
[-HostPassword < SecureString > ]
[-HostUser < String > ]
[-Server < VIServer[] > ]
[-ToolsWaitSecs < Int32 > ]
[CommonParameters]

Parameters

Required Parameter Name Type Position Features Description
required
Destination String 1
Specifies the destination path where you want to copy the file. If the destination points to a virtual machine, specify the absolute file path. Relative destination paths are supported only when copying files to a local storage.
required
VM VirtualMachine[] 2
  • pipeline
  • wildcards
Specifies the virtual machine where the file is located.
required
GuestToLocal SwitchParameter named
Indicates that you want to copy a file from the guest operating system of the virtual machine to a local directory.
required
Source String[] named
  • wildcards
Specifies the file you want to copy. If the file is on a virtual machine, specifies the absolute file path. Relative file paths are supported only when copying files from a local storage. Wildcards are allowed only at the end of the source path. If you are copying files from the guest operating system of a virtual machine to a local directory, the Source parameter supports wildcards only on vCenter Server 5.0 and later.
optional Force SwitchParameter named
Indicates that the non-existing directories in the specified destination path are automatically created.
optional GuestCredential PSCredential named
Specifies a PSCredential object that contains credentials for authenticating with the guest OS where the file to be copied is located.
optional GuestPassword SecureString named
Specifies the password you want to use for authenticating with the guest OS where the file to be copied is located.
optional GuestUser String named
Specifies the user name you want to use for authenticating with the guest OS where the file to be copied is located.
optional HostCredential PSCredential named
Specifies a PSCredential object that contains credentials for authenticating with the host where the file is to be copied. Do not use this parameter if the HostUser and HostPassword parameters are used. You need to specify host credentials only if the version of the vCenter Server or ESX you are authenticating with is earlier than 4.0, or the VIX version you have installed is earlier than 1.10.
optional HostPassword SecureString named
Specifies the password you want to use for authenticating with the host where the file is to be copied. You need to specify host credentials only if the version of the vCenter Server or ESX you are authenticating with is earlier than 4.0, or the VIX version you have installed is earlier than 1.10.
optional HostUser String named
Specifies the user name you want to use for authenticating with the host where the file is to be copied. You need to specify host credentials only if the version of the vCenter Server or ESX you are authenticating with is earlier than 4.0, or the VIX version you have installed is earlier than 1.10.
optional Server VIServer[] named
  • wildcards
Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is provided or $null value is passed to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer.
optional ToolsWaitSecs Int32 named
Specifies the time in seconds to wait for a response from the VMware Tools. If a non-positive value is provided, the system waits infinitely long time.
Copy-VMGuestFile
[ -Destination ] < String >
[ -VM ] < VirtualMachine[] >
-LocalToGuest
-Source < String[] >
[-Force ]
[-GuestCredential < PSCredential > ]
[-GuestPassword < SecureString > ]
[-GuestUser < String > ]
[-HostCredential < PSCredential > ]
[-HostPassword < SecureString > ]
[-HostUser < String > ]
[-Server < VIServer[] > ]
[-ToolsWaitSecs < Int32 > ]
[CommonParameters]

Parameters

Required Parameter Name Type Position Features Description
required
Destination String 1
Specifies the destination path where you want to copy the file. If the destination points to a virtual machine, specify the absolute file path. Relative destination paths are supported only when copying files to a local storage.
required
VM VirtualMachine[] 2
  • pipeline
  • wildcards
Specifies the virtual machine where the file is located.
required
LocalToGuest SwitchParameter named
Indicates that you want to copy a file from a local directory to the guest operating system of the virtual machine.
required
Source String[] named
  • wildcards
Specifies the file you want to copy. If the file is on a virtual machine, specifies the absolute file path. Relative file paths are supported only when copying files from a local storage. Wildcards are allowed only at the end of the source path. If you are copying files from the guest operating system of a virtual machine to a local directory, the Source parameter supports wildcards only on vCenter Server 5.0 and later.
optional Force SwitchParameter named
Indicates that the non-existing directories in the specified destination path are automatically created.
optional GuestCredential PSCredential named
Specifies a PSCredential object that contains credentials for authenticating with the guest OS where the file to be copied is located.
optional GuestPassword SecureString named
Specifies the password you want to use for authenticating with the guest OS where the file to be copied is located.
optional GuestUser String named
Specifies the user name you want to use for authenticating with the guest OS where the file to be copied is located.
optional HostCredential PSCredential named
Specifies a PSCredential object that contains credentials for authenticating with the host where the file is to be copied. Do not use this parameter if the HostUser and HostPassword parameters are used. You need to specify host credentials only if the version of the vCenter Server or ESX you are authenticating with is earlier than 4.0, or the VIX version you have installed is earlier than 1.10.
optional HostPassword SecureString named
Specifies the password you want to use for authenticating with the host where the file is to be copied. You need to specify host credentials only if the version of the vCenter Server or ESX you are authenticating with is earlier than 4.0, or the VIX version you have installed is earlier than 1.10.
optional HostUser String named
Specifies the user name you want to use for authenticating with the host where the file is to be copied. You need to specify host credentials only if the version of the vCenter Server or ESX you are authenticating with is earlier than 4.0, or the VIX version you have installed is earlier than 1.10.
optional Server VIServer[] named
  • wildcards
Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is provided or $null value is passed to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer.
optional ToolsWaitSecs Int32 named
Specifies the time in seconds to wait for a response from the VMware Tools. If a non-positive value is provided, the system waits infinitely long time.

Output

Examples

Example 1

Copy-VMGuestFile -Source c:\text.txt -Destination c:\temp\ -VM VM -GuestToLocal -GuestUser user -GuestPassword pass2

Copies the text.txt file from the guest OS system to the local Temp directory.

Example 2

$vm = Get-VM -Name VM

Get-Item "c:\FolderToCopy\*.*" | Copy-VMGuestFile -Destination "c:\MyFolder" -VM $vm -LocalToGuest -GuestUser -GuestPassword pass2

Copies files from a local machine to a guest operating system.

Related Commands

VM

This cmdlet retrieves the virtual machines on a vCenter Server system.

This cmdlet moves virtual machines to another location.

This cmdlet creates a new virtual machine.

This cmdlet removes the specified virtual machines from the vCenter Server system.

This cmdlet restarts the specified virtual machines.

This cmdlet modifies the configuration of the virtual machine.

This cmdlet powers on virtual machines.

This cmdlet powers off virtual machines.

This cmdlet suspends virtual machines.

This cmdlet unlocks the specified virtual machine.

VMConsoleWindow

This cmdlet opens a window to the virtual machine's console.

VMGuest

This cmdlet retrieves the guest operating systems of the specified virtual machines.

This cmdlet restarts the virtual machine guest operating systems.

This cmdlet shuts down the specified virtual machine guest OS.

This cmdlet suspends the specified guest operating systems.

VMGuestDisk

This cmdlet retrieves storage volumes as seen by the virtual machines' guest operating systems.

VMGuestFile

This cmdlet copies files and folders from and to the guest OS of the specified virtual machines using VMware Tools.

VMQuestion

This cmdlet retrieves the pending questions for the specified virtual machines.

This cmdlet answers the specified virtual machine question.

VMResourceConfiguration

This cmdlet retrieves information about the resource allocation between the selected virtual machines.

This cmdlet configures resource allocation between the virtual machines.

VMScript

This cmdlet runs a script in the guest OS of each of the specified virtual machines.

VMStartPolicy

This cmdlet retrieves the start policy of the virtual machines on a vCenter Server system.

This cmdlet modifies the virtual machine start policy.