2017-01-31 14 views
1

ワークステーションでこれをテストします。自分のアカウントで実行されるWindowsタスクを設定する。タスクは単に内部のurlへの呼び出しを持つpowershellスクリプトを呼び出します。 WebアプリケーションはWindowsの認証の下で動作しているので、Windowsタスクからの私の資格情報はpowershellスクリプトを呼び出すために使用されるべきではありませんか?私は自分のワークステーションのローカル管理者です。Windowsのスケジュールされたタスクは、powershellを呼び出してWebメソッドの結果を呼び出します。401

PowerShellスクリプトは、このようなものです:私は、タスクを実行すると、PowerShellスクリプトがURLにアクセスするかのようにカント

# 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エラーが発生します。スクリプト内で資格情報を使用する必要がありますか?

答えて

1

Invoke-WebRequestを使用して、デフォルトの資格情報を渡すことができます。たとえば、

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

$request.Contentからアクセスできます。私は、Windows認証を必要とするアクセス権を持つ内部のWebサイトでこれをテストしました。

0

IIS内でWebアプリケーションをホストする場合は、期待どおりに実行するために、ユーザー資格情報をアプリケーションプールに適用する必要があります。

関連する問題