2012-05-02 13 views
8

VBスクリプトを実行するためのバッチファイルがあります。バッチファイルをダブルクリックして実行すると動作しますが、C#でローカル環境ではなくステージングサーバー(Windows Server 2008r2)で同じ作業を行った場合、この実行に必要な権限レベルはありますか。ステージングサーバーからダブルクリックしてバッチファイルを実行できます。C#からのバッチファイルの実行許可の問題

私は管理者アカウントでサーバーにログインし、アプリケーションをlocalhostとして参照しました。

私はC#のからバッチファイルの実行時に欠けているものは、とにかく次は私です、私は私の地元の環境にその作業罰金としての私のC#のコードに問題があるとは思わない、

ありますC#のコード、

if (File.Exists(FileName*)) 
      { 
       System.Diagnostics.ProcessStartInfo p = new System.Diagnostics.ProcessStartInfo(FileName); 
       System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
       proc.StartInfo.FileName = FileName; 
       proc.StartInfo.RedirectStandardError = true; 
       proc.StartInfo.RedirectStandardOutput = true; 
       proc.StartInfo.UseShellExecute = false; 

       proc.Start(); 

       proc.WaitForExit(); 

      } 
      else 
      { 
       lblMsg.Text = "Sorry unable to process you request"; 
      } 

* FileNameには、バッチファイルへのパスです。また、バッチファイルとvbsファイルの両方を含んでいるフォルダへの完全なアクセス許可を設定しました。

+0

私は、アプリケーションプールがバッチスクリプトの作業ディレクトリに対するアクセス許可を持つようにIISでユーザーを指定する必要があると信じています。 – Habib

答えて

3

これを行うには、アプリケーションプールをバッチファイルにアクセスできるユーザーとして実行する必要があります。 IIS 7またはIIS 6のアプリプールIDを変更する方法を確認してください。

+0

Kartheekに返信いただきありがとうございます。私は管理者アカウントを使用してサーバーにアクセスし、 http:// localhost /と入力します。私はcustomeモードにアプリケーションプールIDを設定し、このAdministratorアカウントとpassowrdを設定しますが、まだ動作していません。そして、IIS7を使用しています。 – sudheshna

2

Kartheekが言ったことを拡張するには、次の

アプリケーションプールアカウントとして実行するIIS 7アプリケーションプールで
  • IISAPPPOOL\AppPoolNameいずれの場合もNetwork Service
  • として実行するIIS 6アプリケーションプールで
  • 、これらのアカウントユーザーのドキュメントフォルダへのアクセス権がなく、(デフォルトでは)共通のデータストアからのみ読み取ることができます。

それはデータを分離できますので、一般的に、あなたは、アプリケーションプールアカウントを維持したい - そう私は何だろうと、ちょうどあなたがアプリケーションプールアカウントに必要なbatファイルに実行権限を+読んで、あなたが与えることを確認しています。また、バットが読み書きする必要がある任意の塗りつぶし/フォルダに対して適切な権限が必要です。

IISアプリが実際にウェブサイトに座っているユーザーとしてマスカレードする必要がある場合を除いて、この問題を解決するためにアプリ内の何かを変更する必要はありません(これは、これは一般的には悪い考えです。だから、許可を調整するのが一番です。

一般的な経験則として、Webサーバー上で作業する場合は、アクセス許可/実行レベルを可能な限り低く抑えることが望まれます。

+0

あなたの回答にdebraceyさん、ありがとうございます。確かに問題ですが、ソート方法はわかりません私はこれを試しています。 – sudheshna

+0

Windows Server上の他のファイルと同じ方法でアクセス許可を操作するだけです。「NTFSアクセス許可[サーバーバージョン]の変更」を検索してください。 – debracey

関連する問題