質問編集履歴
6
追記修正依頼からのコメント移送
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
運用環境:Windows Server 2016 Standard / IIS Ver10.0 / ASP.NET 4.0
|
2
2
|
|
3
|
-
|
3
|
+
[Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)により サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
|
4
|
+
|
5
|
+
**Windows Server 2016 Standard / IIS Ver10.0に移行したら動かなくなった、と言う問題ではなく
|
6
|
+
初めてASP.NETの稼働環境内でBATファイルを起動したい、というスタンスでご支援を頂けたら幸いです。**
|
4
7
|
teratail含め 記事を模索したのですが 理解力が乏しく対策が分からなかったので掲載させて頂きました。
|
5
8
|
|
6
9
|
【質問】
|
5
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,7 +43,8 @@
|
|
43
43
|
```
|
44
44
|
|
45
45
|
バットファイル中身、この一文です。
|
46
|
-
Webサーバ上で手動でこちらを動作させると起動し、SQLLDR.exe特有のログファイルが このバットファイル配置環境(同じパス)に仕上がってきます。ちなみに、以下のバットファイルに
|
46
|
+
Webサーバ上で手動でこちらを動作させると起動し、SQLLDR.exe特有のログファイルが このバットファイル配置環境(同じパス)に仕上がってきます。ちなみに、以下のバットファイルの初めに pause入れて試しましたが コマンドプロンプトの画面が立ち上がってくることはありませんでした。
|
47
|
+
Webページから起動された場合は ログファイルが出力されないので 起動していない、という判断をしています。
|
47
48
|
```bat
|
48
49
|
SQLLDR USERID=XXXXX/XXXXXX@XXX, CONTROL=T_LOTINFO.ctrl
|
49
50
|
```
|
4
文面補正
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,6 +26,8 @@
|
|
26
26
|
|
27
27
|
### 2020.07.18 08:34 追記 【Process.Start実行部分 と バットファイルの中身』
|
28
28
|
起動したいバットファイルにパスが通っているハズ、という判断は 以下で存在チェックを行った上で Process.Startを行っているためです...
|
29
|
+
こちらが記述されているのは ajaxToolkitのAsyncFileUploadコントロールのUploadedCompleteイベント内です。
|
30
|
+
|
29
31
|
```VB
|
30
32
|
Dim startupScript As String
|
31
33
|
Dim savepath As String = Server.MapPath("./")
|
@@ -40,7 +42,8 @@
|
|
40
42
|
End If
|
41
43
|
```
|
42
44
|
|
45
|
+
バットファイル中身、この一文です。
|
43
|
-
|
46
|
+
Webサーバ上で手動でこちらを動作させると起動し、SQLLDR.exe特有のログファイルが このバットファイル配置環境(同じパス)に仕上がってきます。ちなみに、以下のバットファイルに事前に pause入れても コマンドプロンプトの画面は現れませんでした。
|
44
47
|
```bat
|
45
48
|
SQLLDR USERID=XXXXX/XXXXXX@XXX, CONTROL=T_LOTINFO.ctrl
|
46
49
|
```
|
3
コードとか追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
運用環境:Windows Server 2016 Standard / IIS Ver10.0
|
1
|
+
運用環境:Windows Server 2016 Standard / IIS Ver10.0 / ASP.NET 4.0
|
2
2
|
|
3
3
|
コーディングで [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)により サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
|
4
4
|
teratail含め 記事を模索したのですが 理解力が乏しく対策が分からなかったので掲載させて頂きました。
|
@@ -14,15 +14,33 @@
|
|
14
14
|
手元のWeb.configに 前任者が記載しただろう 以下の定義があるがダメ=batファイル内部に記載している実行ファイルは起動に至っていない認識(その実行ファイルはログを吐くタイプのものだが ログファイルが吐かれていない)
|
15
15
|
|
16
16
|
```config
|
17
|
-
<identity impersonate="true" userName="XXXXX\XXXXXXXX" password="XXXXXXXXXXX"
|
17
|
+
<identity impersonate="true" userName="XXXXX\XXXXXXXX" password="XXXXXXXXXXX"
|
18
18
|
```
|
19
19
|
(この定義は ASP.NETのワーカープロセスを偽造するものでしょうか)
|
20
20
|
|
21
21
|
当該batファイルのプロパティ:セキュリティタブで 何か特殊なユーザを追加すべきでしょうか?
|
22
|
-
|
23
22
|
標準出力があるタイプのファイルはクライアントから起動できない、という問題なのでしょうか?
|
24
23
|
|
24
|
+
よろしくお願いします。
|
25
25
|
|
26
26
|
|
27
|
+
### 2020.07.18 08:34 追記 【Process.Start実行部分 と バットファイルの中身』
|
28
|
+
起動したいバットファイルにパスが通っているハズ、という判断は 以下で存在チェックを行った上で Process.Startを行っているためです...
|
29
|
+
```VB
|
30
|
+
Dim startupScript As String
|
31
|
+
Dim savepath As String = Server.MapPath("./")
|
32
|
+
If File.Exists(savepath & "T_LOTINFO.bat") Then
|
33
|
+
Process.Start(savepath & "T_LOTINFO.bat")
|
34
|
+
System.Threading.Thread.Sleep(2000)
|
35
|
+
startupScript = "<script language='JavaScript'> confirm('アップロードが完了しました。') <" + "/script>"
|
36
|
+
ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
|
37
|
+
Else
|
38
|
+
startupScript = "<script language='JavaScript'> alert('これはダメかも知れないね....') </script>"
|
39
|
+
ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
|
40
|
+
End If
|
41
|
+
```
|
27
42
|
|
43
|
+
バットファイル中身、この一文です。Webサーバ上で手動で動作させると起動。pause入れても コマンドプロンプトの画面は現れませんでした
|
28
|
-
|
44
|
+
```bat
|
45
|
+
SQLLDR USERID=XXXXX/XXXXXX@XXX, CONTROL=T_LOTINFO.ctrl
|
46
|
+
```
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,19 +3,26 @@
|
|
3
3
|
コーディングで [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)により サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
|
4
4
|
teratail含め 記事を模索したのですが 理解力が乏しく対策が分からなかったので掲載させて頂きました。
|
5
5
|
|
6
|
+
【質問】
|
6
|
-
|
7
|
+
どういった対策をほどこせば Process.Startに引数を与えたバットファイルは 動作するようになりますか?
|
8
|
+
動作させたいバットファイルのパスは通っていることを確認しています。
|
7
9
|
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
『自分が疑ったこと』
|
14
|
+
手元のWeb.configに 前任者が記載しただろう 以下の定義があるがダメ=batファイル内部に記載している実行ファイルは起動に至っていない認識(その実行ファイルはログを吐くタイプのものだが ログファイルが吐かれていない)
|
15
|
+
|
8
16
|
```config
|
9
17
|
<identity impersonate="true" userName="XXXXX\XXXXXXXX" password="XXXXXXXXXXX"/>
|
10
18
|
```
|
11
|
-
この定義は ASP.NETのワーカープロセスを偽造するものでしょうか
|
19
|
+
(この定義は ASP.NETのワーカープロセスを偽造するものでしょうか)
|
12
|
-
|
13
20
|
|
14
|
-
batファイルはプログラムと同じ場所に配置しています。
|
15
21
|
当該batファイルのプロパティ:セキュリティタブで 何か特殊なユーザを追加すべきでしょうか?
|
16
22
|
|
17
|
-
|
18
23
|
標準出力があるタイプのファイルはクライアントから起動できない、という問題なのでしょうか?
|
19
24
|
|
20
25
|
|
26
|
+
|
27
|
+
|
21
28
|
よろしくお願いします。
|
1
誤記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
運用環境:Windows Server 2016 Standard / IIS Ver10.0
|
2
2
|
|
3
|
-
コーディングで [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)
|
3
|
+
コーディングで [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)により サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
|
4
4
|
teratail含め 記事を模索したのですが 理解力が乏しく対策が分からなかったので掲載させて頂きました。
|
5
5
|
|
6
6
|
手元のWeb.configに 前任者が記載しただろう 以下の定義がございますが、ダメです。=batファイル内部に記載している実行ファイルは起動に至っていない認識です。(その実行ファイルはログを吐くタイプのものだが ログファイルが吐かれていない)
|