Я надеюсь получить некоторую помощь по использованию 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