Ошибка ниже при запуске скрипта PowerShell - PullRequest
1 голос
/ 26 сентября 2019

Я использую один сценарий PowerShell для загрузки содержимого (zip-файла) с веб-сайта, который требует учетные данные для проверки подлинности для веб-сайта.Кроме того, использовали прокси и учетные данные прокси, так как это аутентифицированный прокси.Я получаю сообщение об ошибке, которое я вставил ниже.

Я попытался предоставить учетные данные прокси-сервера и прокси-сервера, но безуспешно.Я обошел политику выполнения, используя Powershell -ExecutionPolicy Bypass.Когда я пытаюсь получить доступ к веб-сайту из моего браузера, я могу получить доступ к zip-файлу.

Пожалуйста, найдите фрагмент кода ниже:

#Path to Save data
$tipath = "C:\Somepath"
$localpath = "\somefile.zip"
$timepath = "\Zip_file.txt"
$unzippath = "\Someotherpath"
$storepath = $tipath + $localpath
$remotefilepath = $tipath + $timepath
$unzipfolder = $tipath + $unzippath

#   Create Folder If Not Exists #
$FolderToCreate = $tipath
if (!(Test-Path $FolderToCreate -PathType Container)) {
    New-Item -ItemType Directory -Force -Path $FolderToCreate
}

#Downloading File #
$username = "username"
$password = "Password" | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($username, $password)

$secPasswd = "password123" | ConvertTo-SecureString -AsPlainText -Force
$wc = New-Object System.Net.WebClient
$wc.Credentials = New-Object System.Net.NetworkCredential("domain\user", $secPasswd)

# get remote file info
Invoke-WebRequest -Proxy "http://x.x.x.x:8080" -ProxyCredential $myCreds -Uri "https://somewebsite/checksum.txt" -OutFile $remotefilepath -Credential $cred
$remotefile = Get-Content -Path $remotefilepath
Write-Host Remote File Hash : $remotefile

# if the file exists already
if (Test-Path $storepath) {
    # get local file info
    $localfile = (Get-FileHash $storepath -Algorithm SHA256).Hash
    Write-Host Local File Hash : $localfile

    # if the remote file is newer than the local file
    if ($remotefile -ne $localfile) {
        Invoke-WebRequest -Proxy "http://x.x.x.x:8080" -ProxyCredential $myCreds -Uri "https://somewebsite/checksum.txt" -OutFile $remotefilepath -Credential $cred
        Invoke-WebRequest -Proxy "http://x.x.x.x:8080" -ProxyCredential $myCreds -Uri "https://somewebsite/somezipfile.zip" -OutFile $storepath -Credential $cred

Этот код должен проверить хэш и загрузить напрямуюскачайте zip-файл с веб-сайта и распакуйте его.Если это может загрузить в файле почтового индекса, то более поздняя часть я могу устранить неполадки.

PS C:\Users\Administrator\Desktop> <b>powershell -ExecutionPolicy ByPass -File C:\Users\Administrator\Desktop\mypowershell.ps1</b>
powershell : Invoke-WebRequest :     .?? ??? ?????? ???????? ??? ????? ?????
At line:1 char:1
+ powershell -ExecutionPolicy ByPass -File C:\Users\Administrator\Desktop\mypowershell.p ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Invoke-WebReque...??? ????? ?????:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

The site you are trying to access contains content that is prohibited.
If you believe the website you are trying to access does not contain any such
content, please click here.

Выше ошибка, которую я получаю.

...