0

Control-M からトリガーする .CMD スクリプトがあります。

Control-M から main.cmd が呼び出されています。このスクリプトは、Control-M で構成した「accnt_svc」サービス アカウントとして実行されます。Control-M でセットアップする前に、コマンド プロンプト (管理者として) から実行した場合と、「acct_svc」サービス アカウントとして実行されている Windows タスク スケジューラを介して実行した場合の正常な動作をテストしました。

コントロール M で実行すると、ログに、sub.cmd が無効であることを示す添え字 (たとえば、sub.cmd が main.cmd から呼び出されている) を示すエラーが表示されます。

権限を確認したところ、両方とも同じ設定になっています。

別のスクリプトを試しましたが、今回はメイン スクリプトを「呼び出す」ラッパーを作成しました。これはうまくいきました。次のラッパーを確認してください。

SET V_CMDDRV=E:
%V_CMDDRV%
CD %V_CMDDIR%
CALL  CALL %V_CMDDIR%\main.cmd

main.cmd を呼び出す Main_Wrapper.cmd を作成すると、これは正常に機能します。

Control-M がこのように動作する理由を教えてください。

ありがとう

4

1 に答える 1

0

Control-M 経由でコマンドを発行すると、デフォルトでrun asユーザーのホーム ディレクトリから実行されます。添付した出力から、サービス アカウントの代わりにmain.cmd実行する必要があるようです。E:%HOMEPATH%acct_svc

于 2017-04-17T16:17:33.677 に答える