Проблемы с включением всех дочерних элементов при перемещении файлов с локального компьютера на файловый сервер с помощью Powershell

Я хочу загрузить эти локальные файлы из системы на файловый сервер, но если я попытаюсь использовать Get-ChildItem, я получу это сообщение:

Невозможно преобразовать аргумент » address «со значением:» System.Object []», for
«Downl convert The» System.Object [] «value of type» System.Объект[]»
набрать «Syste At C:UsersAdministratorDesktopMOVEFILES2.ps1:23
char:1
+ $служба WebClient.DownloadFile ($Source, $Dest)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastargument

Вот рабочий скрипт. Я хочу изменить так, чтобы он вытягивал из этого пути и не указывал имя файла.

#UPLOAD FILES FROM SOURCE TO File server
# Specify the path to the documents you want to upload from the local machine...
$Source = "C:UsersAdministratorDesktopSourceFolderGoober.docx"
$Dest   = "10.112.4.111xxxxxxxxxxx xxxxxxxxxGoober.docx"    
# Specify Username and Password
$Username = "domainuser"
$Password = "xxxxxxxxxxx"    
# Generate System.Net.WebClient object
$WebClient = New-Object System.Net.WebClient
$WebClient.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
$WebClient.DownloadFile($Source, $Dest)

1 ответ

  1. Я не могу проверить это из-за учетных данных, но я думаю, что это упрощенная версия того, что вы пытаетесь достичь.

    Он должен скопировать все элементы в Sourcefolder в место назначения, Bassicly он отображает диск, а затем копирует его все, а затем удаляет диск.

    $sourceFolder = "C:\Users\Administrator\Desktop\SourceFolder"
    $Destination = "\10.112.4.111\xx\xxxxx\xxxx xxxxx\xxxx"
    
    $secpw = ConvertTo-SecureString "Password" -AsPlainText -Force
    $creds = New-Object System.Management.Automation.PSCredential("Username",$secpw)
    
    New-PSDrive -Name "Dest" -PSProvider FileSystem -Root $dest -Credential $creds
    Copy-Item $sourceFolder "Dest:\" -Recurse
    Remove-PSDrive -Name "Dest"