在PowerShell中将文件从一个文件夹远程复制到另一个文件夹

时间:2018-07-13 10:18:38

标签: powershell

我想将文件从F:上的一个文件夹复制到远程计算机上的H:。我编写了以下脚本,但不起作用,尝试列出所有文件,但出现以下错误:

  

Create-Credentials:术语“ Create-Credentials”不能识别为cmdlet,函数,脚本文件或可运行程序的名称。检查

例如:

我的远程服务器是143.56.23.99
用户名:jyoti
密码:Test123#
源文件:F:\ SourceFolder \
目的地:H:\ Destination \

[CmdletBinding()]
Param(
    [Parameter(Mandatory=$True)] [string] $Computer,
    [Parameter(Mandatory=$True)] [string] $Path,
    [Parameter(Mandatory=$True)] [string] $Destination,
    [Parameter(Mandatory=$True)] [string] $Username,
    [Parameter(Mandatory=$True)] [string] $Password,
    [Parameter(Mandatory=$False)] [PSCredential] $Credential
)

if($UserName -and $Password) {
    $Credential = Create-Credentials -Username $Username -Password $Password
} elseif(-not ($Credential)) {
    throw("Unable to authenticate. A username and password or pscredentials must be provided.")
}

$Items = (Get-ChildItem $Path).FullName
$NetworkLocation = Join-Path -Path "\\$Computer" -ChildPath ($Destination.Replace(':', '$'))

foreach ($Item in $Items) {
    Write-Host "------------>$Item"
}

1 个答案:

答案 0 :(得分:1)

我建议您阅读using Credentials,因为它可以帮助您了解代码的动态。


Create-Credentials不是本机的Powershell cmdlet,请返回您从中获取代码的位置并获取该功能。

或者删除该功能并使用本机Powershell代码。

替换:

$Credential = Create-Credentials -Username $Username -Password $Password

具有:

$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username,($Password | ConvertTo-SecureString -AsPlainText -Force)