2017-01-31 1 views
1

Тестирование этого на моей рабочей станции. Настройка задачи Windows, выполняемой под моей учетной записью. Задача просто вызывает сценарий powershell, который имеет вызов внутреннего URL-адреса. Веб-приложение работает под управлением Windows auth, поэтому не следует использовать мои учетные данные из задачи Windows для вызова сценария powershell? Я локальный администратор на своей рабочей станции.Плановая задача Windows, вызывающая powershell для вызова результатов веб-метода в 401

PowerShell скрипт что-то вроде этого:

# Setup reference to source folder, routes to api 
$web = New-Object System.Net.WebClient 
$order_api = "http://localhost:57110/Home/ManualInventory" 
$order_response = $web.DownloadString($order_api); 
# TEST 
Read-Host -Prompt "Press Enter to exit" 

Когда я запустить задачу, я получаю ошибку HTTP 401, как если сценарий PowerShell не может получить доступ к URL. Должен ли я по-прежнему использовать учетные данные в скрипте?

ответ

1

Вы можете попробовать использовать Invoke-WebRequest и передать через него учетные данные по умолчанию. Например:

$request = Invoke-WebRequest -Uri "http://localhost:57110/Home/ManualInventory" -UseDefaultCredentials -Method Get 

Вы можете получить доступ к его содержимому через $request.Content. Я тестировал это на внутреннем веб-сайте, к которому у меня есть доступ, для чего требуется проверка подлинности Windows.

0

Если вы размещаете веб-приложение в IIS, вам необходимо применить учетные данные пользователя к пулу приложений для его запуска, как и следовало ожидать.

Смежные вопросы