質問編集履歴

6

追記修正依頼からのコメント移送

2020/07/18 00:57

投稿

saya24
saya24

スコア222

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- コーディングで [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)により サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
5
+ [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)により サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
6
+
7
+
8
+
9
+ **Windows Server 2016 Standard / IIS Ver10.0に移行したら動かなくなった、と言う問題ではなく
10
+
11
+ 初めてASP.NETの稼働環境内でBATファイルを起動したい、というスタンスでご支援を頂けたら幸いです。**
6
12
 
7
13
  teratail含め 記事を模索したのですが 理解力が乏しく対策が分からなかったので掲載させて頂きました。
8
14
 

5

追記

2020/07/18 00:57

投稿

saya24
saya24

スコア222

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,9 @@
88
88
 
89
89
  バットファイル中身、この一文です。
90
90
 
91
- Webサーバ上で手動でこちらを動作させると起動し、SQLLDR.exe特有のログファイルが このバットファイル配置環境(同じパス)に仕上がってきます。ちなみに、以下のバットファイルに事前に pause入れて コマンドプロンプトの画面は現れませんでした。
91
+ Webサーバ上で手動でこちらを動作させると起動し、SQLLDR.exe特有のログファイルが このバットファイル配置環境(同じパス)に仕上がってきます。ちなみに、以下のバットファイルの初めに pause入れて試しましたが コマンドプロンプトの画面が立ち上がってくることありませんでした。
92
+
93
+ Webページから起動された場合は ログファイルが出力されないので 起動していない、という判断をしています。
92
94
 
93
95
  ```bat
94
96
 

4

文面補正

2020/07/17 23:59

投稿

saya24
saya24

スコア222

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,10 @@
54
54
 
55
55
  起動したいバットファイルにパスが通っているハズ、という判断は 以下で存在チェックを行った上で Process.Startを行っているためです...
56
56
 
57
+ こちらが記述されているのは ajaxToolkitのAsyncFileUploadコントロールのUploadedCompleteイベント内です。
58
+
59
+
60
+
57
61
  ```VB
58
62
 
59
63
  Dim startupScript As String
@@ -82,7 +86,9 @@
82
86
 
83
87
 
84
88
 
89
+ バットファイル中身、この一文です。
90
+
85
- バットファイル中身、この一文です。Webサーバ上で手動で動作させると起動。pause入れても コマンドプロンプトの画面は現れませんでした
91
+ Webサーバ上で手動でこちらを動作させると起動し、SQLLDR.exe特有のログファイルが このバットファイル配置環境(同じパス)に仕上がってきますちなみに、以下のバットファイルに事前に pause入れても コマンドプロンプトの画面は現れませんでした
86
92
 
87
93
  ```bat
88
94
 

3

コードとか追記

2020/07/17 23:56

投稿

saya24
saya24

スコア222

test CHANGED
File without changes
test 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
 
4
4
 
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```config
32
32
 
33
- <identity impersonate="true" userName="XXXXX\XXXXXXXX" password="XXXXXXXXXXX"/>
33
+ <identity impersonate="true" userName="XXXXX\XXXXXXXX" password="XXXXXXXXXXX"
34
34
 
35
35
  ```
36
36
 
@@ -40,16 +40,52 @@
40
40
 
41
41
  当該batファイルのプロパティ:セキュリティタブで 何か特殊なユーザを追加すべきでしょうか?
42
42
 
43
+ 標準出力があるタイプのファイルはクライアントから起動できない、という問題なのでしょうか?
43
44
 
44
45
 
46
+
45
- 標準出力があるタイプのファイルはクライアントから起動できな、という問題なのでょうか?
47
+ よろしくお願いします。
46
48
 
47
49
 
48
50
 
49
51
 
50
52
 
53
+ ### 2020.07.18 08:34 追記 【Process.Start実行部分 と バットファイルの中身』
54
+
55
+ 起動したいバットファイルにパスが通っているハズ、という判断は 以下で存在チェックを行った上で Process.Startを行っているためです...
56
+
57
+ ```VB
58
+
59
+ Dim startupScript As String
60
+
61
+ Dim savepath As String = Server.MapPath("./")
62
+
63
+ If File.Exists(savepath & "T_LOTINFO.bat") Then
64
+
65
+ Process.Start(savepath & "T_LOTINFO.bat")
66
+
67
+ System.Threading.Thread.Sleep(2000)
68
+
69
+ startupScript = "<script language='JavaScript'> confirm('アップロードが完了しました。') <" + "/script>"
70
+
71
+ ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
72
+
73
+ Else
74
+
75
+ startupScript = "<script language='JavaScript'> alert('これはダメかも知れないね....') </script>"
76
+
77
+ ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
78
+
79
+ End If
80
+
81
+ ```
51
82
 
52
83
 
53
84
 
85
+ バットファイル中身、この一文です。Webサーバ上で手動で動作させると起動。pause入れても コマンドプロンプトの画面は現れませんでした
54
86
 
55
- よろしくお願いします。
87
+ ```bat
88
+
89
+ SQLLDR USERID=XXXXX/XXXXXX@XXX, CONTROL=T_LOTINFO.ctrl
90
+
91
+ ```

2

2020/07/17 23:50

投稿

saya24
saya24

スコア222

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,23 @@
8
8
 
9
9
 
10
10
 
11
+ 【質問】
12
+
13
+ どういった対策をほどこせば Process.Startに引数を与えたバットファイルは 動作するようになりますか?
14
+
15
+ 動作させたいバットファイルのパスは通っていることを確認しています。
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ 『自分が疑ったこと』
26
+
11
- 手元のWeb.configに 前任者が記載しただろう 以下の定義がございますダメです。=batファイル内部に記載している実行ファイルは起動に至っていない認識です。(その実行ファイルはログを吐くタイプのものだが ログファイルが吐かれていない)
27
+ 手元のWeb.configに 前任者が記載しただろう 以下の定義があるがダメ=batファイル内部に記載している実行ファイルは起動に至っていない認識(その実行ファイルはログを吐くタイプのものだが ログファイルが吐かれていない)
12
28
 
13
29
 
14
30
 
@@ -18,17 +34,11 @@
18
34
 
19
35
  ```
20
36
 
21
- この定義は ASP.NETのワーカープロセスを偽造するものでしょうか
37
+ この定義は ASP.NETのワーカープロセスを偽造するものでしょうか
22
-
23
-  
24
38
 
25
39
 
26
40
 
27
- batファイルはプログラムと同じ場所に配置しています。
28
-
29
41
  当該batファイルのプロパティ:セキュリティタブで 何か特殊なユーザを追加すべきでしょうか?
30
-
31
-
32
42
 
33
43
 
34
44
 
@@ -38,4 +48,8 @@
38
48
 
39
49
 
40
50
 
51
+
52
+
53
+
54
+
41
55
  よろしくお願いします。

1

誤記

2020/07/17 17:41

投稿

saya24
saya24

スコア222

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- コーディングで [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)Process.Startにより サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
5
+ コーディングで [Process.Start](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.start?view=netcore-3.1)により サーバ上の目的の実行ファイルを起動できない、というありがちな話題です。
6
6
 
7
7
  teratail含め 記事を模索したのですが 理解力が乏しく対策が分からなかったので掲載させて頂きました。
8
8