Скачать файлы с паролем в Powershell - PullRequest
0 голосов
/ 06 августа 2020

Мне нужно загрузить zip-файл размером 51 ГБ из inte rnet, чтобы открыть веб-сайт, вам нужно ввести пароль.

Я хочу сделать это с помощью функции в PowerShell (PSVersion: 5.1. 18362.752), но я не могу продвинуться дальше. Моя функция выглядит так:

 $securepassword = "thepassword"

function Get-Files {
   
    $Properties = @{
        URI        = "https://theurl"
        Credential = $securepassword
    }
    Invoke-WebRequest @Properties -OutFile "C:\Users\$env:USERNAME\Desktop\thefiles.zip"

}

Можно ли использовать параметр Credential только для Windows Credential?

Большое спасибо за помощь

1 Ответ

0 голосов
/ 08 августа 2020

Я думаю, вы неправильно используете учетные данные. Учетные данные - это не только пароль. Это имя пользователя и пароль, и они должны быть экземпляром ICredentials

Обратите внимание, что учетные данные могут быть переданы таким образом ТОЛЬКО для веб-страниц, запрашивающих аутентификацию HTTP 401. Если веб-страница использует аутентификацию на основе форм, вы должны обработать ее как нестандартный случай, и учетные данные не будут работать, вам нужно будет опубликовать данные, сохранить файлы cookie и т. Д. c.

$localPath = [System.IO.Path]::Combine(
    [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::DesktopDirectory),
    'OutFileName.zip')

$wc = [System.Net.WebClient]::new()
$wc.Credentials = [System.Net.NetworkCredential]::new($username, $plainTextPassword)
$wc.DownloadFile($uri, $localPath)
$wc.Dispose()
...