Powershell, ошибка вызова веб-запроса (только на Windows Server 2012R) - PullRequest
1 голос
/ 04 августа 2020

в настоящий момент я пишу несколько скриптов для обработки наших резервных копий наших клиентов. Таким образом, резервные копии выполняются через Synology Box. Скрипт отлично работает с Windows 10 и Windows Server 2019. Но я не могу запустить его на WindowsServer 2012R2. И я пробовал так много вещей, чтобы справиться, но это не сработало.

$ip = "XXXXXXXXXX"
$u = "XXXXXXX"
$p = "XXXXXXX"
$d = "XXXXXX"

#Session ID auslesen & Authentifizierung
$a = Invoke-WebRequest -UseBasicParsing "http://$ip/webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account=$u&passwd=$p&session=ActiveBackup&format=cookie"
$ajson = $a.Content
$aobject = ConvertFrom-Json -InputObject $ajson
$s = $aobject.data.sid

Сначала он показывает мне ошибку, что он не может обрабатывать utf-8, я обновил Powershell до версии 5.1 и теперь Windows всегда сообщает мне, что значение $ a не может быть нулевым. Похоже, он не может получить ни одного номера сеанса. На Windows 10 и Windows Server 2019 он работает отлично. Пожалуйста, помогите мне, пожалуйста. Было бы здорово

Привет, Яспо

Редактировать, я понял. Для всех, у кого были такие же проблемы, просто go классическим c способом без invoke-webrequest

$url = "http://$ip/webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account=$u&passwd=$p&session=ActiveBackup&format=cookie"
$wc = New-Object System.Net.WebClient
$result = $wc.DownloadString($url)
...