Приветствует всех,
У меня самая странная проблема, для которой мне нужны ваши подсказки, как подойти к этой проблеме.
Итак, у меня есть скрипт загрузки, который извлекает контент из внутренней сети компании с помощью объектов Webclient.Он требует учетных данных и работает примерно на 80% компьютеров.Сценарий извлекает список с помощью .DownloadString
, а затем анализирует и получает некоторые файлы с помощью .DownloadFile
.
На машинах, которые не работают, начальный .DownloadString
зависает до тех пор, пока не появится время ожидания и вернется $null
.Учетные данные пользователя не имеют отношения к этим типам компьютеров, а это означает, что пользователь, работающий на другом компьютере, не сможет работать на этом компьютере.Адреса, если они введены в браузер, возвращают содержимое.
Говоря в коде, я пытаюсь сделать это следующим образом:
$wc = new-object System.Net.WebClient
$wc.Credentials = new-object System.Net.NetworkCredential($user, $pass, $domain)
$old_eap = $ErrorActionPreference
$ErrorActionPreference = "Stop"
try
{
$tmp = $wc.DownloadString($url)
if ([String]::IsNullOrEmpty($tmp))
{
throw "Intranet server did not return directory listing"
}
Return $tmp #the code is actually part of a function...
}
catch
{
write-error $_.Exception.Message
Return $null
}
finally
{
$ErrorActionPreference = $old_eap
}
Я понятия не имею, кроме поиска измененных настроек между различными машинами.Но какие настройки могут иметь отношение к поведению Webclient?Есть идеи?Я серьезно застрял ...
Я забыл ... Чтобы немного упростить ситуацию, я застрял с версией 2.0, и мы пока не можем обновить.Облом ...
Заранее спасибо Алекс