Использование PowerShell - каталог загрузки файлов - PullRequest
0 голосов
/ 03 июня 2019

Я надеюсь получить некоторую помощь по использованию PowerShell для загрузки файлов HTTPS. Моя текущая задача - автоматизировать копирование каталога PDF-файла из локальной сети на сайт HTTPS: //. Хотя у меня есть локальная учетная запись на веб-сервере, у меня есть проблема с загрузкой файлов и повторением списка всех PDF-файлов.

Я пытался Invoke-RestMethod -URI

$sourceFilePath = Get-ChildItem "\\DFS-Netwrok\PDF" -Recurse -Include *.pdf
$siteAddress = "https://contoso.com/PDF"; 
$urlDest = "{0}/{1}" -f ($siteAddress, "*.pdf"); 
$UserName = "UserName" 
$Password = "Password" 

function uploadFile() { 
    Param ([string] $sourceFilePath, 
             [string] $siteAddress , 
             [string] $urlDest,
             [string] $UserName, 
             [string] $Password) 
    $webClient = New-Object System.Net.WebClient;
    $webClient.Credentials = New-Object System.Net.NetworkCredential($UserName,$Password);

     ("*** Uploading {0} file to {1} ***" -f ($sourceFilePath, $siteAddress) ) | write-host -ForegroundColor Green 

    $webClient.UploadFile($urlDest, "PUT", $sourceFilePath); 

    $httpresponse = $httprequest.GetResponse() 
} 

Upload-File -File $SourceFilePath -URI $SiteAddress -Dest $URLDest -Username $MyUsername -Password $MyPassword

В настоящее время я получаю сообщение об ошибке Upload-File.

Я с удовольствием конвертирую в любой код, который может обеспечить выполнение вышеуказанной задачи, перечислять PDF с внутреннего пути, подключаться к веб-сайту с помощью User / Pass и загружать все PDF из локального каталога. Я могу подтвердить, что учетная запись может подключиться и имеет правильные разрешения на URL веб-сайта назначения.

Я также смотрю на этот пример с ошибкой «Запрещено»:

$Dir="\\Netwrok\Path"
$Url = "https://Website/PDF"
$user = "User"
$pass = "Password"
$webclient = New-Object System.Net.WebClient 
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)

foreach($item in (dir $Dir "*.pdf"))
{ 
    "Uploading $item..."
    $uri = New-Object System.Uri($Url+$item.Name) 
    $webclient.UploadFile($uri, $item.FullName)  
}

Возвращает ошибку:

Исключение, вызывающее "UploadFile" с аргументом (ами) "2": "Удаленный сервер возвратил ошибку: (403) Запрещено. "
В строке: 16 символов: 22 * ​​1019 * + $ webclient.UploadFile ($ uri, $ item.FullName)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: Не указано: (:) [], MethodInvocationException
+ FullyQualifiedErrorId: WebException

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...