2017-06-19 7 views
1

他にもIISを構成するANTスクリプトを作成しようとしています。
これを行うには、appcmdツールを利用してください。しかし、奇妙なエラーを取得します。 appcmdコマンドは、antスクリプトの外側で正常に実行されますが、内部で失敗します。IISコマンドにapache-antを使用してOSコマンドを実行する

私はそれをすべてをキックオフするには、execタスクを使用しています:

<exec dir="C:\\Windows\\System32\\inetsrv\\" 
executable="C:\\Windows\\System32\\inetsrv\\appcmd.exe" output="d:\out.txt"> 

<arg value="appcmd set config /section:isapiCgiRestriction /+&quot; 
[path='${appian_home}\\jakarta\\ISAPI\\isapi_redirect.dll', 
description='Jakarta',allowed='True']&quot;" /> 
</exec> 

ANT経由で捕獲された出力は次のとおりです。

Object 'APPCMD SET CONFIG /SECTION:ISAPICGIRESTRICTION /+? 
[PATH='D:\PTMP2\APPIAN17\\JAKARTA\\ISAPI\\ISAPI_REDIRECT.DLL', 
DESCRIPTION='JAKARTA',ALLOWED='TRUE']' is not supported. 
Run 'appcmd.exe /?' to display supported objects. 

しかし、私はコマンド& P cの場合、私は を実行するとDOSプロンプトには、それはうまく実行されます:

C:\Windows\System32\inetsrv>appcmd set config /section:isapiCgiRestriction 
/+"[path='d:\ptmp2\appian17\\jakarta5\\ISAPI\\isapi_redirect.dll',descripti 
on='Jakarta',allowed='True']" 
Applied configuration changes to section 
"system.webServer/security/isapiCgiRestriction" for 
"MACHINE/WEBROOT/APPHOST" at configuration commit path "M 
ACHINE/WEBROOT/APPHOST" 

答えて

1

エスケープされたsiの必要性見積もりも同様です。

また以下/

使用するために別のパスを変更:

<exec executable="cmd.exe" dir="C:/Windows/System32/inetsrv" failonerror="true"> 
    <arg line="/c appcmd set config /section:isapiCgiRestriction /+&quot;[path=&apos;${appian_home}/jakarta/ISAPI/isapi_redirect.dll&apos;,description=&apos;Jakarta&apos;,allowed=&apos;True&apos;]&quot;"/> 
</exec> 
関連する問題