(57)【要約】【課題】所定の操作を自動化するスクリプト実行時のセキュリティを向上させること。【解決手段】アカウント情報を管理する管理装置と、所定の操作をそれぞれ実現する１以上のスクリプトを実行する操作実行装置とが含まれる操作実行システムであって、前記管理装置は、前記操作実行装置からの問い合わせに応じて又は前記１以上のスクリプトの開始日時となった場合に、前記１以上のスクリプトの各々の実行に用いられる１以上のアカウント情報を前記操作実行装置に送信する送信手段を有し、前記操作実行装置は、前記１以上のスクリプトの開始日時となった場合又は前記操作実行装置のユーザによる指示に応じて、前記１以上のスクリプトの各々に対して、前記１以上のアカウント情報のうち、前記スクリプトの実行に用いられるアカウント情報を設定する設定手段と、前記設定手段によりアカウント情報が設定された１以上のスクリプトの各々を実行する実行手段と、を有することを特徴とする。【選択図】図１
2020086695.tif 000002
【特許請求の範囲】
【請求項１】
アカウント情報を管理する管理装置と、所定の操作をそれぞれ実現する１以上のスクリプトを実行する操作実行装置とが含まれる操作実行システムであって、
前記管理装置は、
前記操作実行装置からの問い合わせに応じて又は前記１以上のスクリプトの開始日時となった場合に、前記１以上のスクリプトの各々の実行に用いられる１以上のアカウント情報を前記操作実行装置に送信する送信手段を有し、
前記操作実行装置は、
前記１以上のスクリプトの開始日時となった場合又は前記操作実行装置のユーザによる指示に応じて、前記１以上のスクリプトの各々に対して、前記１以上のアカウント情報のうち、前記スクリプトの実行に用いられるアカウント情報を設定する設定手段と、
前記設定手段によりアカウント情報が設定された１以上のスクリプトの各々を実行する実行手段と、
を有することを特徴とする操作実行システム。
【請求項２】
前記送信手段は、
ワーフフローによって承認された前記１以上のスクリプトと、前記１以上のスクリプトの各々の実行に用いられる１以上のアカウント情報とを前記操作実行装置に送信する、ことを特徴とする請求項１に記載の操作実行システム。
【請求項３】
前記アカウント情報には、暗号化されたパスワードが含まれ、
前記設定手段は、
前記１以上のスクリプトの各々に対して、前記１以上のアカウント情報のうち、前記スクリプトの実行に用いられるアカウント情報に含まれるパスワードをメモリ上で復号して設定する、ことを特徴とする請求項１又は２に記載の操作実行システム。
【請求項４】
アカウント情報を管理する管理装置と接続され、所定の操作をそれぞれ実現する１以上のスクリプトを実行する操作実行装置であって、
前記１以上のスクリプトの開始日時となった場合又は前記操作実行装置のユーザによる指示に応じて、前記１以上のスクリプトの各々に対して、前記管理装置から送信された１以上のアカウント情報のうち、前記スクリプトの実行に用いられるアカウント情報を設定する設定手段と、
前記設定手段によりアカウント情報が設定された１以上のスクリプトの各々を実行する実行手段と、
を有することを特徴とする操作実行装置。
【請求項５】
アカウント情報を管理する管理装置と接続され、所定の操作をそれぞれ実現する１以上のスクリプトを実行する操作実行装置が、
前記１以上のスクリプトの開始日時となった場合又は前記操作実行装置のユーザによる指示に応じて、前記１以上のスクリプトの各々に対して、前記管理装置から送信された１以上のアカウント情報のうち、前記スクリプトの実行に用いられるアカウント情報を設定する設定手順と、
前記設定手順によりアカウント情報が設定された１以上のスクリプトの各々を実行する実行手順と、
を実行することを特徴とする操作実行方法。
【請求項６】
アカウント情報を管理する管理装置と接続され、所定の操作をそれぞれ実現する１以上のスクリプトを実行する操作実行装置を、
前記１以上のスクリプトの開始日時となった場合又は前記操作実行装置のユーザによる指示に応じて、前記１以上のスクリプトの各々に対して、前記管理装置から送信された１以上のアカウント情報のうち、前記スクリプトの実行に用いられるアカウント情報を設定する設定手段、
前記設定手段によりアカウント情報が設定された１以上のスクリプトの各々を実行する実行手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作実行システム、操作実行装置、操作実行方法及びプログラムに関する。
【背景技術】
【０００２】
近年では、企業において様々な業務システムが用いられている。例えば、銀行では、勘定系システムや情報系システム等の様々な業務システムを用いて、銀行業務が行われている。これらの業務システムでは定期的に保守作業等の定型的な作業が行われることが多いため、作業担当者は、これらの作業のために業務システムのアカウントＩＤが必要となる。
【０００３】
これに対して、業務システムのアカウントＩＤをサーバで一括して管理し、担当者からの申請に応じて、アカウントＩＤ（及びそのパスワード）を作業担当者等に貸し出す技術が知られている。
【０００４】
ところで、近年では、本来であれば人手で行うような各種作業のための操作を自動化する技術が知られるようになってきた。例えば、ＩＴシステムの運用業務における作業を自動化する技術が知られている（特許文献１）。また、スクリプト言語で記述されたプログラム（以降、単に「スクリプト」とも表す。）を実行することで、本来であれば人手で行うような各種作業のための操作を自動的に実行する技術も知られており、製品として販売や配布等もされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−４８８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、スクリプトを実行することで、上記の業務システムに対する保守作業等のための操作を自動化する場合、このスクリプトの実行主体に対して、当該業務システムのアカウントＩＤ（及びそのパスワード）に基づく実行権限を付与する必要がある。
【０００７】
しかしながら、この場合、例えば、スクリプトを実行する端末のユーザ等が当該アカウントＩＤを参照することができてしまうことがあり、セキュリティ上問題である。このことは、特に、厳格なセキュリティ要件が課される企業等では問題である。
【０００８】
本発明の実施の形態は、上記の点に鑑みてなされたもので、所定の操作を自動化するスクリプト実行時のセキュリティを向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の実施の形態は、アカウント情報を管理する管理装置と、所定の操作をそれぞれ実現する１以上のスクリプトを実行する操作実行装置とが含まれる操作実行システムであって、前記管理装置は、前記操作実行装置からの問い合わせに応じて又は前記１以上のスクリプトの開始日時となった場合に、前記１以上のスクリプトの各々の実行に用いられる１以上のアカウント情報を前記操作実行装置に送信する送信手段を有し、前記操作実行装置は、前記１以上のスクリプトの開始日時となった場合又は前記操作実行装置のユーザによる指示に応じて、前記１以上のスクリプトの各々に対して、前記１以上のアカウント情報のうち、前記スクリプトの実行に用いられるアカウント情報を設定する設定手段と、前記設定手段によりアカウント情報が設定された１以上のスクリプトの各々を実行する実行手段と、を有することを特徴とする。
【発明の効果】
【００１０】
所定の操作を自動化するスクリプト実行時のセキュリティを向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る操作スクリプト実行システムの全体構成の一例を示す図である。
【図２】スクリプト群（シナリオ）の一例を説明するための図である。
【図３】アカウント情報の一例を示す図である。
【図４】申請情報の一例を示す図である。
【図５】ワークフローの申請から承認までの流れを説明するためのシーケンス図である。
【図６】自動起動によりシナリオを起動し、操作スクリプトを実行する場合の流れを説明するためのシーケンス図である。
【図７】手動起動によりシナリオを起動し、操作スクリプトを実行する場合の流れを説明するためのシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態（本実施形態）について詳細に説明する。本実施形態では、所定の操作を自動化するスクリプトを実行する操作スクリプト実行システム１について説明する。このとき、本実施形態に係る操作スクリプト実行システム１は、スクリプトを実行するための申請とその承認とに基づいて、この申請及び承認で定められた権限と、暗号化されたままのパスワードとで当該スクリプトを実行する。これにより、スクリプト実行時のセキュリティを向上させることができるようになる。
【００１３】
なお、以降では、所定の操作を実行するスクリプトを「操作スクリプト」とも表す。また、１つ以上の操作スクリプトによって構成され、これらの操作スクリプトが実行する操作によって１つの作業内容を実現する操作スクリプトの集合を「スクリプト群」又は「シナリオ」と表す。
【００１４】
＜操作スクリプト実行システム１の全体構成＞
まず、本実施形態に係る操作スクリプト実行システム１の全体構成について、図１を参照しながら説明する。図１は、本実施形態に係る操作スクリプト実行システム１の全体構成の一例を示す図である。
【００１５】
図１に示すように、本実施形態に係る操作スクリプト実行システム１には、１以上の操作スクリプト実行端末１０と、アカウント管理装置２０と、１以上の申請端末３０と、１以上の承認端末４０と、１以上の操作対象サーバ５０とが含まれる。また、これらの端末、装置及びサーバは、インターネットやＬＡＮ（Local Area Network）等のネットワークＮを介して通信可能に接続される。
【００１６】
操作対象サーバ５０は、操作スクリプトの操作対象となる各種業務システム等である。業務システムとは、企業の業務活動に用いられる種々のコンピュータ又はコンピュータシステムのことである。なお、業務システムには、基幹システムと呼ばれるコンピュータシステムが含まれていても良い。業務システムとしては、例えば、勘定系システム、会計システム、情報系システム、販売管理システム、生産管理システム、在庫管理システム、経費精算システム、人事管理システム等が挙げられる。
【００１７】
ここで、操作対象サーバ５０のアカウントＩＤ及びパスワードは、アカウント情報としてアカウント管理装置２０で管理されている。また、操作対象サーバ５０でパスワードが変更された場合や新規アカウントＩＤが追加された場合、既存のアカウントＩＤが削除された場合等には、これらの変更や追加、削除がアカウント管理装置２０に反映される。
【００１８】
なお、操作スクリプトによって操作対象サーバ５０に対して操作を行うためには、当該操作スクリプトの実行主体に対して当該操作に応じた権限が付与されている必要がある。このような権限は、当該実行主体が操作対象サーバ５０にログインする際に利用したアカウントＩＤによって決定される。アカウントＩＤには、例えば、「ｒｏｏｔ」や「ａｄｍｉｎｉｓｔｒａｔｏｒ」等の管理者権限を有するＩＤ（いわゆる「特権ＩＤ」）と、それ以外のＩＤ（いわゆる「一般ＩＤ」）とがある。また、一般ＩＤであっても、アカウントＩＤによって異なる権限を有する場合がある。
【００１９】
申請端末３０は、操作スクリプトを実行するための申請として、ワークフロー申請を行う端末装置である。なお、申請端末３０としては、例えば、ＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末等の各種端末装置が用いられる。
【００２０】
申請端末３０は、機能部として、申請処理部３０１を有する。申請処理部３０１は、ワークフロー申請を行うための処理を実行する。なお、申請処理部３０１は、申請端末３０にインストールされた１以上のプログラムがＣＰＵ（Central Processing Unit）に実行させる処理により実現される。
【００２１】
ここで、ワークフロー申請には、例えば、シナリオを構成する各操作スクリプトに関する情報（以降、「スクリプト情報」とも表す。）等が含まれる。なお、スクリプト情報とは、操作スクリプトのスクリプトファイル、当該操作スクリプトによって操作される操作対象サーバ５０を示す情報、当該操作対象サーバ５０のアカウントＩＤ、当該操作スクリプトのパラメータ等が含まれる情報である。
【００２２】
承認端末４０は、申請端末３０により申請されたワークフロー申請に対する承認（ワークフロー承認）を行う端末装置である。なお、承認端末４０としては、例えば、ＰＣ、スマートフォン、タブレット端末等の各種端末装置が用いられる。
【００２３】
承認端末４０は、機能部として、承認処理部４０１を有する。承認処理部４０１は、ワークフロー申請を承認するための処理を実行する。なお、承認処理部４０１は、承認端末４０にインストールされた１以上のプログラムがＣＰＵに実行させる処理により実行される。
【００２４】
アカウント管理装置２０は、操作対象サーバ５０のアカウント情報を管理するコンピュータ又はコンピュータシステムである。また、アカウント管理装置２０は、ワークフローの申請情報を管理や操作スクリプトの実行制御等も行う。
【００２５】
アカウント管理装置２０は、機能部として、ワークフロー処理部２０１と、スクリプト情報制御部２０２と、手動起動指示部２０３とを有する。また、アカウント管理装置２０は、記憶部２０４を有する。
【００２６】
ワークフロー処理部２０１は、ワークフローの申請及び承認に関する処理を実行する。例えば、ワークフロー処理部２０１は、ワークフロー申請された申請情報を記憶部２０４に保存したり、ワークフロー承認に応じて当該申請情報を更新（すなわち、当該申請情報を「承認済」に更新）したりする。
【００２７】
スクリプト情報制御部２０２は、シナリオを構成する各操作スクリプトを操作スクリプト実行端末１０で実行させるための制御を行う。ここで、本実施形態では、操作スクリプト実行端末１０がシナリオを起動させる方法（すなわち、シナリオを構成する操作スクリプトの実行を開始する方法）として、「自動起動」及び「手動起動」の２つの方法があるものとする。「自動起動」とは、承認済の申請情報に指定されている開始日時になった場合に、操作スクリプト実行端末１０上で該当のシナリオを自動的に起動させる方法である。一方で、「手動起動」とは、承認済の申請情報に指定されている開始日時になった場合に、所定の画面（以降、「起動画面」とも表す。）を操作スクリプト実行端末１０上に表示させた上で、ユーザの起動指示操作に応じて該当のシナリオを起動させる方法である。
【００２８】
スクリプト情報制御部２０２は、シナリオを構成する各操作スクリプトの実行を制御するための制御情報と、これらの各操作スクリプトの実行に必要な必要情報とを操作スクリプト実行端末１０に送信する。ここで、制御情報とは、例えば、シナリオを構成する各操作スクリプトのスクリプト情報等のことである。また、必要情報とは、例えば、当該操作スクリプトが操作する操作対象サーバ５０のアカウント情報等のことである。
【００２９】
手動起動指示部２０３は、シナリオの起動方法が「手動起動」である場合に、所定の起動画面を操作スクリプト実行端末１０上に表示させる。すなわち、手動起動指示部２０３は、当該起動画面の表示指示を操作スクリプト実行端末１０に送信する。
【００３０】
記憶部２０４は、各種情報を記憶する。記憶部２０４に記憶される情報としては、アカウント情報と、申請情報とが挙げられる。アカウント情報及び申請情報の詳細については後述する。
【００３１】
なお、ワークフロー処理部２０１、スクリプト情報制御部２０２及び手動起動指示部２０３は、アカウント管理装置２０にインストールされた１以上のプログラムがＣＰＵに実行させる処理により実現される。また、記憶部２０４は、アカウント管理装置２０が備える記憶装置（例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の補助記憶装置）又はアカウント管理装置２０とネットワークを介して接続される記憶装置等を用いて実現可能である。
【００３２】
操作スクリプト実行端末１０は、シナリオを構成する各操作スクリプトを実行する端末装置である。なお、操作スクリプト実行端末１０としては、例えば、ＰＣ、スマートフォン、タブレット端末等の各種端末装置が用いられる。
【００３３】
操作スクリプト実行端末１０は、機能部として、画面表示部１０１と、起動制御部１０２と、実行制御部１０３とを有する。また、操作スクリプト実行端末１０は、記憶部１０４を有する。
【００３４】
画面表示部１０１は、アカウント管理装置２０からの指示（起動画面の表示指示）に応じて、起動画面を表示する。また、画面表示部１０１は、ユーザがシナリオを選択するための画面（以降、「対象シナリオ一覧」とも表す。）を表示する。対象シナリオ一覧から該当のシナリオが選択されることで、当該シナリオが起動される。なお、対象シナリオ一覧には、シナリオを選択及び起動させるためのボタン等のＵＩ部品が含まれる。
【００３５】
起動制御部１０２は、シナリオの起動を制御する。ここで、起動制御部１０２は、「自動起動」と「手動起動」とでシナリオを起動させる方法が異なる。「自動起動」のシナリオを起動させる場合には、起動制御部１０２は、所定の時間毎に制御情報及び必要情報の有無をアカウント管理装置２０に問い合わせて、この問い合わせに対する応答として制御情報及び必要情報が返信されると、当該制御情報に基づくシナリオを起動させる。一方で、「手動起動」のシナリオを起動させる場合には、起動制御部１０２は、ユーザからの起動指示操作（つまり、「シナリオの選択操作」又は「シナリオの選択操作が行われた後に、選択されたシナリオの起動操作」）が行われ、かつ、アカウント管理装置２０から必要情報（及び制御情報）が送信されると、当該制御情報に基づくシナリオを起動させる。
【００３６】
実行制御部１０３は、起動制御部１０２によりシナリオが起動されると、当該シナリオを構成する各操作スクリプトを実行する。このとき、実行制御部１０３は、例えば、スクリプト情報に含まれるパラメータのうち、実行タイミングを表すパラメータ（例えば、実行日時や実行順等）に従って、当該スクリプト情報が表す操作スクリプトを実行する。これにより、シナリオを構成する各操作スクリプトによって操作対象（例えば、操作対象サーバ５０）に対して所定の操作が行われる。
【００３７】
ここで、操作スクリプトの操作対象は、操作対象サーバ５０だけでなく、操作スクリプト実行端末１０にインストールされた種々のアプリケーションプログラム（以降、「ローカルアプリ６０」とも表す。）であっても良い。ローカルアプリ６０には、例えば、ファイル圧縮・解凍ソフトウェア等の各種ユーティリティ、表計算ソフトウェアや文書作成ソフトウェア等のドキュメントアプリケーション等が挙げられる。ローカルアプリ６０を操作対象とすることで、例えば、操作対象サーバ５０に対する操作結果をローカルアプリ６０で処理（例えば、ファイル圧縮・解凍ソフトウェアによる圧縮ファイルの解凍、表計算ソフトウェアによる加工等）を行うことができるようになる。
【００３８】
記憶部１０４は、各種情報を記憶する。記憶部１０４に記憶される情報としては、制御情報と、必要情報とが挙げられる。また、記憶部１０４には、シナリオを構成する各操作スクリプトの実行結果等も記憶される。
【００３９】
なお、画面表示部１０１、起動制御部１０２及び実行制御部１０３は、操作スクリプト実行端末１０にインストールされた１以上のプログラムがＣＰＵに実行させる処理により実現される。また、記憶部１０４は、操作スクリプト実行端末１０が備える記憶装置（例えばＨＤＤやＳＳＤ等の補助記憶装置、各種メモリ等）を用いて実現可能である。
【００４０】
図１に示す操作スクリプト実行システム１の構成は一例であって他の構成であっても良い。例えば、申請端末３０と承認端末４０とが分けられる必要はなく、アカウント管理装置２０にログインしたユーザによって、同一の端末が申請端末３０又は承認端末４０のいずれかとして機能しても良い。また、申請端末３０が操作スクリプト実行端末１０として機能しても良い。また、例えば、アカウント管理装置２０の記憶部２０４は、複数の記憶部又はＤＢ（データベース）により実現されていても良い。
【００４１】
＜スクリプト群（シナリオ）＞
ここで、スクリプト群（シナリオ）の具体例として、或る操作対象サーバ５０（以降では「操作対象サーバＡ」とも表す。）と、別の或る操作対象サーバ５０（以降では、「操作対象サーバＢ」とも表す。）とから性能情報を取得し、レポートを作成するシナリオ（シナリオ名：「性能情報取得シナリオ」）を図２に示す。図２は、スクリプト群（シナリオ）の一例を説明するための図である。
【００４２】
図２に示す性能情報取得シナリオは、操作スクリプト１と、操作スクリプト２と、操作スクリプト３との３つの操作スクリプトで構成されており、操作スクリプト１、操作スクリプト２及び操作スクリプト３の順で実行されるものとする。
【００４３】
操作スクリプト１は、例えば、以下の操作１−１〜操作１−４を順に実行する。
【００４４】
操作１−１：操作対象サーバＡにログインする操作
操作１−２：性能情報出力コマンドを実行する操作
操作１−３：性能情報出力コマンドの実行結果を圧縮して、圧縮ファイルを作成する操作
操作１−４：圧縮ファイルを操作スクリプト実行端末１０に送信する操作
次に、操作スクリプト２は、例えば、以下の操作２−１〜操作２−５を順に実行する。
【００４５】
操作２−１：操作対象サーバＢにログインする操作
操作２−２：例えばｄｉｒコマンドやｌｓコマンド等によりファイル一覧を取得する操作
操作２−３：パフォーマンスモニタ情報を取得する操作
操作２−４：ファイル一覧及びパフォーマンスモニタ情報を圧縮して、圧縮ファイルを作成する操作
操作２−５：圧縮ファイルを操作スクリプト実行端末１０に送信する操作
最後に、操作スクリプト３は、例えば、以下の操作３−１〜操作３−２を順に実行する。
【００４６】
操作３−１：操作対象サーバＡから受信した圧縮ファイルと、操作対象サーバＢから受信した圧縮ファイルとを解凍する操作
操作３−２：解凍後のファイルをローカルアプリ６０（例えば、表計算ソフトウェア等）で加工して、操作対象サーバＡ及び操作対象サーバＢの性能情報を示すレポートを作成する操作
このように、操作スクリプト実行端末１０において、シナリオを構成する各操作スクリプトが実行されることで、当該シナリオにより表される作業内容が実現される。
【００４７】
＜アカウント情報＞
次に、アカウント情報について、図３を参照しながら説明する。図３は、アカウント情報の一例を示す図である。なお、アカウント管理装置２０の記憶部２０４には、１以上のアカウント情報が記憶される。
【００４８】
図３に示すように、アカウント情報には、データ項目（情報の項目又は属性とも称される。）として、「操作対象サーバ」、「アカウントＩＤ」及び「パスワード」等が含まれる。
【００４９】
「操作対象サーバ」には、操作対象サーバ５０を識別する情報（例えば、サーバ名等）が設定される。「アカウントＩＤ」には、当該操作対象サーバ５０のアカウントＩＤが設定される。「パスワード」には、当該アカウントＩＤに対応するパスワードが設定される。なお、パスワードは暗号化した上で、アカウント情報に設定される。
【００５０】
このように、アカウント情報は、操作対象サーバ５０を示す情報と、アカウントＩＤと、パスワードとが対応付けられた情報である。なお、アカウント情報には、上記のデータ項目以外にも、例えば、アカウントＩＤが属するドメイン（又はグループ）が設定される「ドメイン」等のデータ項目が含まれていても良い。
【００５１】
＜申請情報＞
次に、申請情報について、図４を参照しながら説明する。図４は、申請情報の一例を示す図である。なお、アカウント管理装置２０の記憶部２０４には、１以上の申請情報が記憶される。
【００５２】
図４に示すように、申請情報には、データ項目として、「申請ＩＤ」、「申請者ログインＩＤ」、「ステータス」、「申請者」、「申請名」、「起動方法」、「実行端末名」、「開始日時」及び「スクリプト情報」等が含まれる。
【００５３】
「申請ＩＤ」には、ワークフローを識別する情報として、申請ＩＤが設定される。「申請者ログインＩＤ」には、当該ワークフローを申請した申請者のログインＩＤ（つまり、申請端末３０を操作するユーザのログインＩＤ）が設定される。
【００５４】
「ステータス」には、当該ワークフローのステータスとして、申請中や承認済等が設定される。申請中とは、例えば、当該ワークフローが承認済でないことを表すステータスである。一方で、承認済とは、当該ワークフローが承認済であることを表すステータスである。
【００５５】
「申請者」には、当該ワークフローを申請した申請者の名称（例えば、氏名等）が設定される。「申請名」には、当該ワークフローの申請時に指定された申請名が設定される。
【００５６】
「起動方法」には、当該ワークフローの申請時に指定されたシナリオの起動方法が設定される。シナリオの起動方法としては、上述したように、自動起動と手動起動とがある。
【００５７】
「実行端末名」には、当該ワークフローの申請時に指定された操作スクリプト実行端末１０を示す情報（例えば、操作スクリプト実行端末１０の名称やＩＰ（Internet Protocol）アドレス等）が設定される。この「実行端末名」に設定された操作スクリプト実行端末１０上でシナリオが起動され、当該シナリオを構成する操作スクリプトが実行される。
【００５８】
「開始日時」には、当該ワークフローの申請時に指定されたシナリオの起動開始日時が設定される。「スクリプト情報」には、当該ワークフロー申請時に指定された１つ以上のスクリプト情報が設定される。なお、「スクリプト情報」には、１つ以上の任意の数のスクリプト情報が設定されるが、上限（例えば、設定可能なスクリプト情報は５つまで等）が設けられていても良い。
【００５９】
ここで、各スクリプト情報には、データ項目として、「スクリプトファイル」、「操作対象サーバ」、「アカウントＩＤ」及び「パラメータ」等が含まれる。
【００６０】
「スクリプトファイル」には、操作スクリプトの実体であるスクリプトファイル（又はその格納先を示す情報）が設定される。なお、スクリプトファイルとは、様々な操作が所定のスクリプト言語で記述されたプログラム（又はソースコード等）である。
【００６１】
「操作対象サーバ」には、当該操作スクリプトの操作対象となる操作対象サーバ５０を識別する情報（例えば、サーバ名等）が設定される。「アカウントＩＤ」には、当該操作対象サーバ５０のアカウントＩＤであって、当該操作スクリプトの実行に用いられるアカウントＩＤが設定される。「パラメータ」には、当該スクリプトファイルの様々なパラメータが設定される。このようなパラメータとしては、例えば、当該操作スクリプトの実行条件（例えば、実行日時や実行順等）、当該操作スクリプトの実行結果の出力先等が挙げられる。なお、スクリプト情報に含まれる「操作対象サーバ」、「アカウントＩＤ」及び「パラメータ」のうちの少なくとも１つが、スクリプトファイル中に直接指定されていても良い。
【００６２】
ここで、当該操作スクリプトの操作対象がローカルアプリ６０である場合には、例えば、「操作対象サーバ」に操作対象のローカルアプリ６０を識別する情報が設定されると共に、「アカウントＩＤ」に空値（ＮＵＬＬ）が設定されれば良い。
【００６３】
このように、申請情報は、ワークフローの申請時等に指定された各種情報（スクリプト情報も含む。）が含まれる情報である。なお、例えば、上記のデータ項目のうち、「実行端末名」や「開始日時」等は、「起動方法」に自動起動が設定される場合のみ設定されるようにしても良い。また、申請情報には、上記のデータ項目以外にも、例えば、シナリオを繰り返し起動する場合に、繰り返し方法（例えば、日次や週次等）を設定する「起動タイプ」、シナリオを繰り返し起動する場合に、当該シナリオの終了日（又は終了日時）を設定する「終了日」等のデータ項目が含まれていても良い。
【００６４】
＜処理の流れ＞
次に、本実施形態に係る操作スクリプト実行システム１が実行する処理の流れについて説明する。
【００６５】
≪ワークフローの申請及び承認≫
以降では、ワークフローを申請及び承認する場合の流れについて、図５を参照しながら説明する。図５は、ワークフローの申請から承認までの流れを説明するためのシーケンス図である。
【００６６】
まず、申請端末３０の申請処理部３０１は、ワークフロー申請画面を表示する（ステップＳ１０１）。ワークフロー申請画面とは、ワークフロー申請を行うための画面である。ワークフロー申請画面には、申請情報に含まれる各データ項目のうち、少なくとも「申請名」、「起動方法」、「実行端末名」、「開始日時」及び「スクリプト情報」を指定するための指定欄が含まれる。当該申請端末３０のユーザ（申請者）は、これらの指定欄において所望の値又は情報を指定することができる。なお、スクリプト情報に含まれるスクリプトファイルは、例えば、添付ファイルの形式で指定されても良い。
【００６７】
次に、申請端末３０の申請処理部３０１は、ワークフロー申請画面におけるワークフロー申請操作を受け付ける（ステップＳ１０２）。申請者は、ワークフロー申請画面において、各種情報（例えば、申請名、起動方法、実行端末名、開始日時及びスクリプト情報等）を指定した上で、申請ボタン等を押下することで、ワークフロー申請操作を行うことができる。なお、上記の各種情報以外にも、ワークフロー申請画面では、ワークフローを承認可能なユーザ（承認者）を指定することもできても良い。
【００６８】
申請端末３０の申請処理部３０１は、ワークフロー申請操作を受け付けると、ワークフロー申請をアカウント管理装置２０に送信する（ステップＳ１０３）。当該ワークフロー申請には、ワークフロー申請画面で申請者により指定された各種情報（例えば、申請名、起動方法、実行端末名、開始日時及びスクリプト情報等）と、当該申請者を示す情報（例えば、ログインＩＤや氏名等）とが含まれる。
【００６９】
アカウント管理装置２０のワークフロー処理部２０１は、ワークフロー申請を受信すると、当該ワークフロー申請に含まれる各種情報（例えば、申請名、起動方法、実行端末名、開始日時及びスクリプト情報、申請者のログインＩＤや氏名等）から申請情報を作成する（ステップＳ１０４）。すなわち、ワークフロー処理部２０１は、申請ＩＤを生成した上で、この申請ＩＤと、上記の各種情報とが含まれる申請情報を作成する。このとき、当該申請情報の「ステータス」には、例えば、承認済でないことを示す申請中等が設定される。
【００７０】
なお、申請情報をアカウント管理装置２０で作成するものとしたが、申請情報は申請端末３０で作成されても良い。
【００７１】
次に、アカウント管理装置２０のワークフロー処理部２０１は、申請情報を記憶部２０４に保存する（ステップＳ１０５）。これにより、例えばステータスが申請中である申請情報が記憶部２０４に記憶される。
【００７２】
ワークフローの承認を行う場合、承認端末４０の承認処理部４０１は、ワークフロー承認画面を表示する（ステップＳ１０６）。ワークフロー承認画面とは、ワークフロー承認を行うための画面である。ワークフロー承認画面には、当該承認端末４０のユーザ（承認者）が承認可能なワークフローが一覧表示される。
【００７３】
次に、承認端末４０の承認処理部４０１は、ワークフロー承認画面におけるワークフロー承認操作を受け付ける（ステップＳ１０７）。承認者は、承認可能なワークフローの一覧から所望のワークフローを指定又は選択した上で、承認ボタン等を押下することで、ワークフロー承認操作を行うことができる。
【００７４】
承認端末４０の承認処理部４０１は、ワークフロー承認操作を受け付けると、ワークフロー承認をアカウント管理装置２０に送信する（ステップＳ１０８）。当該ワークフロー承認には、例えば、ワークフロー承認画面で承認者によってワークフロー承認操作が行われたワークフローの申請ＩＤ等が含まれる。
【００７５】
アカウント管理装置２０のワークフロー処理部２０１は、ワークフロー承認を受信すると、記憶部２０４に記憶されている申請情報のうち、該当の申請情報のステータスを承認済に更新する（ステップＳ１０９）。すなわち、ワークフロー処理部２０１は、例えば、記憶部２０４に記憶されている申請情報のうち、ワークフロー承認に含まれる申請ＩＤが示す申請情報のステータスを承認済に更新する。
【００７６】
以上により、操作スクリプト実行端末１０上でシナリオを起動（すなわち、当該シナリオを構成する各操作スクリプトを実行）させるためのワークフローが申請及び承認される。ワークフローが申請及び承認されることで、起動方法が自動起動である場合は自動的に、起動方法が手動起動である場合は起動指示操作に応じて、該当の操作スクリプト実行端末１０上でシナリオが起動される。
【００７７】
≪自動起動によるシナリオ起動及び操作スクリプトの実行≫
以降では、自動起動によりシナリオを起動し、このシナリオを構成する各操作スクリプトを実行する場合の流れについて、図６を参照しながら説明する。図６は、自動起動によりシナリオを起動し、操作スクリプトを実行する場合の流れを説明するためのシーケンス図である。
【００７８】
操作スクリプト実行端末１０の起動制御部１０２は、所定の時間毎（例えば１分毎等）に、自端末上で起動させるシナリオの制御情報及び必要情報の有無をアカウント管理装置２０に問い合わせる（ステップＳ２０１）。この問い合わせには、例えば、実行端末名（例えば、操作スクリプト実行端末１０の名称やＩＰアドレス等）が含まれる。
【００７９】
アカウント管理装置２０のスクリプト情報制御部２０２は、操作スクリプト実行端末１０からの問い合わせを受信すると、当該操作スクリプト実行端末１０上で起動させるシナリオの申請情報が記憶部２０４に記憶されているか否かを判定する。すなわち、スクリプト情報制御部２０２は、当該問い合わせに含まれる実行端末名が指定されており、かつ、ステータスが承認済である申請情報が記憶部２０４に記憶されている否かを判定する。
【００８０】
そして、スクリプト情報制御部２０２は、該当の申請情報が記憶部２０４に記憶されている場合、当該申請情報のスクリプト情報や開始日時等が含まれる制御情報を、問い合わせ元の操作スクリプト実行端末１０に送信する（ステップＳ２０２）。なお、制御情報には、スクリプト情報及び開始日時以外にも、任意の情報（例えば、申請情報に「起動タイプ」や「終了日」等が含まれる場合には起動タイプ及び終了日等）が含まれていても良い。
【００８１】
次に、アカウント管理装置２０のスクリプト情報制御部２０２は、記憶部２０４に記憶されているアカウント情報のうち、当該申請情報のスクリプト情報に対応するアカウント情報等が含まれる必要情報を、問い合わせ元の操作スクリプト実行端末１０に送信する（ステップＳ２０３）。なお、スクリプト情報に対応するアカウント情報とは、当該スクリプト情報に含まれるアカウントＩＤと同一アカウントＩＤのアカウント情報のことである。また、必要情報には、アカウント情報以外にも、任意の情報が含まれていても良い。
【００８２】
なお、上記のステップＳ２０２及びＳ２０３で送信された制御情報及び必要情報を操作スクリプト実行端末１０が受信すると、当該操作スクリプト実行端末１０は、受信した制御情報及び必要情報を記憶部１０４に保存する。
【００８３】
ここで、上記のステップＳ２０２で該当の申請情報が記憶部２０４に記憶されていない場合は、上記のステップＳ２０２〜ステップＳ２０３と、後述するステップＳ２０３〜ステップＳ２０５とは実行されない。以降では、上記のステップＳ２０２及びＳ２０３が実行され、操作スクリプト実行端末１０の記憶部１０４には制御情報及び必要情報が記憶されているものとする。
【００８４】
操作スクリプト実行端末１０の起動制御部１０２は、記憶部１０４に記憶されている制御情報を参照して、現在の日時が、当該制御情報に含まれる開始日時になった場合に、当該制御情報に含まれる各スクリプト情報に基づくシナリオを起動する（ステップＳ２０４）。シナリオの起動とは、当該制御情報に含まれる各スクリプト情報がそれぞれ表す各操作スクリプトの実行を開始することである。起動制御部１０２は、シナリオの起動に応じて、当該シナリオを構成する各操作スクリプトの実行を実行制御部１０３に要求する。
【００８５】
次に、操作スクリプト実行端末１０の実行制御部１０３は、記憶部１０４に記憶されている制御情報に含まれる各スクリプト情報のスクリプトファイルに対して、アカウント情報等の各種情報（当該スクリプトファイルが利用するアカウントＩＤに対応するパスワード等）を設定する（ステップＳ２０５）。すなわち、実行制御部１０３は、例えば、当該スクリプトファイルが利用するアカウントＩＤに対応するアカウント情報を用いて、このアカウント情報に含まれるパスワード（及びアカウントＩＤ）を当該スクリプトファイルに設定する。このとき、当該パスワードは暗号化されているため、実行制御部１０３は、例えば、メモリ上で、パスワードを復号すると共に復号されたパスワードをスクリプトファイルに設定する。これにより、このスクリプトファイルによって表される操作スクリプトを実行する操作スクリプト実行端末１０のユーザに対して、当該操作スクリプトの実行に用いられるパスワードを隠蔽することができる。
【００８６】
なお、上記のステップＳ２０５では、パスワード以外にも、操作スクリプトの実行に必要な各種情報がスクリプトファイルに対して設定される。
【００８７】
次に、操作スクリプト実行端末１０の実行制御部１０３は、当該シナリオを構成する各操作スクリプトを実行（すなわち、上記のステップＳ２０５で各種情報が設定されたスクリプトファイルを実行）する（ステップＳ２０６）。このとき、実行制御部１０３は、例えば、当該スクリプトファイルのパラメータとして指定された実行日時や実行順等に従って、各スクリプトファイルを実行する。
【００８８】
以上のように、自動起動では、開始日時になった場合に自動的に操作スクリプト実行端末１０上でシナリオが起動され、当該シナリオを構成する各操作スクリプトが実行される。これにより、これらの各操作スクリプトが実行する操作によって実現される作業内容を自動的に行うことができるようになる。また、これらの各操作スクリプトを実行する際に、アカウント管理装置２０で管理されているアカウント情報を用いて、メモリ上でパスワードを復号し、該当の操作スクリプトのスクリプトファイルに当該パスワードを設定することで、セキュリティを確保したまま当該操作スクリプトを実行することができる。
【００８９】
≪手動起動によるシナリオ起動及び操作スクリプトの実行≫
以降では、手動起動によりシナリオを起動し、このシナリオを構成する各操作スクリプトを実行する場合の流れについて、図７を参照しながら説明する。図７は、手動起動によりシナリオを起動し、操作スクリプトを実行する場合の流れを説明するためのシーケンス図である。
【００９０】
まず、操作スクリプト実行端末１０の画面表示部１０１は、起動画面を表示する（ステップＳ３０１）。起動画面は、例えば、手動起動によりシナリオを起動させるためのアプリケーションプログラムが起動されることで表示される。このとき、ユーザは、アカウント管理装置２０にログインするためのログインＩＤ及びログインパスワード（以降、「ログイン情報」とも表す。）を入力する。
【００９１】
次に、操作スクリプト実行端末１０の画面表示部１０１は、ユーザにより入力されたログイン情報をアカウント管理装置２０に送信する（ステップＳ３０２）。
【００９２】
アカウント管理装置２０の手動起動指示部２０３は、ログイン情報が正しいか否かを確認すると共に、記憶部２０４に記憶されている各申請情報を参照して、ステータスが承認済であり、かつ、現在日時が実行可能日時となった申請情報が存在するか否かを判定する。ここで、実行可能日時とは、例えば、当該申請情報に含まれる開始日時以降、かつ、終了日時より前の間の日時のことである。
【００９３】
そして、手動起動指示部２０３は、ログイン情報が正しく、かつ、該当の申請情報が存在する場合、当該申請情報のスクリプト情報等が含まれる制御情報を操作スクリプト実行端末１０に送信する（ステップＳ３０３）。これにより、操作スクリプト実行端末１０には、画面表示部１０１により、当該スクリプト情報に対応するシナリオの一覧が対象シナリオ一覧として表示される（ステップＳ３０４）。なお、制御情報には、スクリプト情報以外にも、任意の情報が含まれていても良い。
【００９４】
なお、操作スクリプト実行端末１０は、例えば、当該申請情報の実行端末名が示す操作スクリプト実行端末１０であっても良。また、上記のステップＳ３０１では、ユーザがログインＩＤ及びログインパスワードを入力してアカウント管理装置２０にログインするものとしたが、これに限られず、例えば、ＳＳＯ（シングルサインオン）により当該ログインが実現されても良い。
【００９５】
操作スクリプト実行端末１０の画面表示部１０１は、対象シナリオ一覧において起動指示操作がユーザにより行われることで、当該起動指示操作が行われたシナリオの起動指示を受け付ける（ステップＳ３０５）。すると、操作スクリプト実行端末１０の起動制御部１０２は、当該シナリオの必要情報の問い合わせをアカウント管理装置２０に送信する（ステップＳ３０６）。
【００９６】
アカウント管理装置２０のスクリプト情報制御部２０２は、必要情報の問い合わせを受信すると、記憶部２０４に記憶されているアカウント情報のうち、該当のシナリオに対応するアカウント情報（つまり、当該シナリオのスクリプト情報に対応するアカウント情報）等が含まれる必要情報を操作スクリプト実行端末１０に送信する（ステップＳ３０７）。なお、必要情報には、アカウント情報以外にも、任意の情報が含まれていても良い。
【００９７】
なお、上記のステップＳ３０３及びＳ３０７で送信された制御情報及び必要情報を操作スクリプト実行端末１０が受信すると、当該操作スクリプト実行端末１０は、受信した制御情報及び必要情報を記憶部１０４に保存する。
【００９８】
操作スクリプト実行端末１０の起動制御部１０２は、必要情報の受信に応じて、該当のシナリオを構成する各操作スクリプトの実行を実行制御部１０３に要求し、当該シナリオを起動する（ステップＳ３０８）。
【００９９】
次に、操作スクリプト実行端末１０の実行制御部１０３は、記憶部１０４に記憶されている制御情報に含まれる各スクリプト情報のスクリプトファイル（つまり、起動されたシナリオを構成する各スクリプトのスクリプトファイル）に対して、アカウント情報等の各種情報（当該スクリプトファイルが利用するアカウントＩＤに対応するパスワード等）を設定する（ステップＳ３０９）。すなわち、実行制御部１０３は、例えば、当該スクリプトファイルが利用するアカウントＩＤに対応するアカウント情報を用いて、このアカウント情報に含まれるパスワード（及びアカウントＩＤ）を当該スクリプトファイルに設定する。このとき、当該パスワードは暗号化されているため、実行制御部１０３は、例えば、メモリ上で、パスワードを復号すると共に復号されたパスワードをスクリプトファイルに設定する。これにより、このスクリプトファイルによって表される操作スクリプトを実行する操作スクリプト実行端末１０のユーザに対して、当該操作スクリプトの実行に用いられるパスワードを隠蔽することができる。
【０１００】
なお、上記のステップＳ３０９では、パスワード以外にも、操作スクリプトの実行に必要な各種情報がスクリプトファイルに対して設定される。
【０１０１】
次に、操作スクリプト実行端末１０の実行制御部１０３は、当該シナリオを構成する各操作スクリプトを実行（すなわち、上記のステップＳ３０９で各種情報が設定されたスクリプトファイルを実行）する（ステップＳ３１０）。このとき、実行制御部１０３は、例えば、当該スクリプトファイルのパラメータとして指定された実行日時や実行順等に従って、各スクリプトファイルを実行する。
【０１０２】
以上のように、手動起動では、操作スクリプト実行端末１０に起動画面及び対象シナリオ一覧を表示させた上で、この対象シナリオ一覧における起動指示操作に応じて、当該操作スクリプト実行端末１０上でシナリオが起動され、当該シナリオを構成する各操作スクリプトが実行される。これにより、ユーザの起動指示操作に応じて、これらの各操作スクリプトが実行する操作によって実現される作業内容を行うことができるようになる。また、これらの各操作スクリプトを実行する際に、アカウント管理装置２０で管理されているアカウント情報を用いて、メモリ上でパスワードを復号し、該当の操作スクリプトのスクリプトファイルに当該パスワードを設定することで、セキュリティを確保したまま当該操作スクリプトを実行することができる。
【０１０３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１０４】
１        操作スクリプト実行システム
１０      操作スクリプト実行端末
２０      アカウント管理装置
３０      申請端末
４０      承認端末
５０      操作対象サーバ
６０      ローカルアプリ
１０１    画面表示部
１０２    起動制御部
１０３    実行制御部
１０４    記憶部
２０１    ワークフロー処理部
２０２    スクリプト情報制御部
２０３    手動起動指示部
２０４    記憶部
３０１    申請処理部
４０１    承認処理部
【図１】
2020086695.tif 000003
【図２】
2020086695.tif 000004
【図３】
2020086695.tif 000005
【図４】
2020086695.tif 000006
【図５】
2020086695.tif 000007
【図６】
2020086695.tif 000008
【図７】
2020086695.tif 000009