2017-04-20 28 views
0

PsExecを使用してプログラムを実行すると、インターネット接続をテストする方法が動作しません。 それは、このメッセージを示しています私はPsExecの問題をどのように解決できますか?

"The remote server returned an error: (403) Forbidden"**

は私がリモートでアプリケーションを実行する必要があり、私はPsExecはを使用する理由ですが、私はPsExecはを使用せずにプログラムを開いたときにこの方法は大丈夫実行します。

私はPsExecはを使用してプログラムを実行するために使用するコマンド:

"D:\PsExec.exe -s -i \\MK18455 D:\RemedyHealthCheck.exe " 

方法:あなたは間違っているユーザーとPSEXECを実行している

Public Shared Function CheckForInternetConnection(link As String) As String 
    Try 
     Dim proxy As New WebProxy("ibproxy03.intranet.ibermatica:8080", True) 
     proxy.UseDefaultCredentials = True 

     Dim request As HttpWebRequest = WebRequest.Create(link) 
     request.Credentials = CredentialCache.DefaultCredentials 
     request.Proxy = proxy 


     Dim response As HttpWebResponse = request.GetResponse() 

     If response.StatusCode = HttpStatusCode.OK Then 
      Return "si" 
     Else 
      Return "no" 
     End If 
    Catch e As Exception 
     MsgBox(e.Message) 
     Return "no" 
    End Try 

End Function 
+0

「動作していません」と定義します。エラーメッセージはありますか? –

+0

@AFriendはい、「リモートサーバーからエラーが返されました:(403)Forbidden」というメッセージが表示されます。 – Patzi

+0

デフォルトの資格情報を使用しています。リモートアクセスしようとしている場合は、適切な資格情報を提供する必要があります –

答えて

0

。 -sフラグを設定すると、実際にはSYSTEMアカウントとして実行されていますが、Webサーバー/プロキシは認証が必要です。 psexecを実行しているユーザがそのウェブサーバ/プロキシにアクセスすることが許可されていると仮定して、そのコンピュータが認証をバイパスするか、-sフラグを削除するようにしてください。もう1つのオプションは、許容されるユーザーに手動で-uフラグを設定することです。 (そのユーザーとして実行していない場合はパスワードが必要です)