はじめに
Blue PrismでPowershellを使ってコマンド実行したい、と思ったことはありませんか?
これから業務でPowershellの自動化をする方、「コマンドプロンプトよりもPowershellの方が慣れている」という方もいるのではないでしょうか。
この記事では、Blue PrismでPowershellを使ってコマンドを実行する方法をご紹介します。
前提条件
Blue Prism ver6.8
※筆者の環境が6.8のため上記としていますが、6.10.2でも動作確認済みです。
Start Processを使おう
Blue PrismでPowershellを実行するには、アクション「Start Process」を使います。
オブジェクト1つと、プロセス1つを作っていきます。
オブジェクト
まず、下図のようなオブジェクト「Powershell」を作成します。
データアイテムは3つ作成します。
※初期値は全て空でOK
データアイテム名 | データ型 |
---|---|
Powershellの実行ファイルパス | テキスト |
テキストファイルパス | テキスト |
引数 | テキスト |
Start Processを使うには、対象システムに実行させたいコマンドを渡す必要があります。
コマンドをオブジェクトのデータアイテムやアクションのパラメータに
直接書き込んでも動作しますが、再利用性には欠けてしまいます。
そこで、別途用意した、コマンドを入力済みのテキストファイルを
読み取る「コマンドを読み取り」アクションを追加しました。
使用するアクション:Utility-File Management::Read All Text from File
入力パラメータは以下を指定します。
入力 | 値 |
---|---|
File Name | データアイテム「テキストファイルパス」 |
出力パラメータは以下を指定します。
この「引数」の中身が、Start Processで実行する時に参照するコマンドの内容です。
出力 | 保存先 |
---|---|
Text | データアイテム「引数」 |
Powershellに実行してもらうコマンドを取得したら、Start Processにコマンドを引き渡します。
使用するアクション:Utility-Environment::Start Process
入力パラメータは以下を指定します。
入力 | 値 |
---|---|
Application | データアイテム「Poweshellの実行ファイルパス」 |
Arguments | データアイテム「引数」 |
これでオブジェクトは完成…ではなく、最後に
開始ステージに入力パラメータを設定しましょう。
氏名(名称) | 値 |
---|---|
テキストファイルパス | データアイテム「テキストファイルパス」 |
Powershell実行パス | データアイテム「Poweshellの実行ファイルパス」 |
プロセスから何かしらの値やデータを受け取るには、
予めオブジェクトの開始ステージに、入力パラメータを定義しておく必要があります。
プロセス
次に、プロセス「Powershell実行」を作成します。
データアイテムは2つ作成します。
データアイテム名 | データ型 | 初期値 |
---|---|---|
Powershellの実行ファイルパス | テキスト | Powershellの実行ファイル完全パス |
テキストファイルパス | テキスト | コマンドが書かれているテキストファイルの完全パス |
使用するアクション:Powershell::powershell ※上で作成したオブジェクトですね!
入力パラメータは以下を指定します。
入力 | 値 |
---|---|
テキストファイルパス | データアイテム「テキストファイルパス」 |
Powershell実行パス | データアイテム「Poweshellの実行ファイルパス」 |
※Powershellの実行ファイルパスは原則変わらないので、環境変数での設定を推奨します。
オブジェクト作成の最後で設定した、開始ステージの入力パラメータは
このアクションから値を受け取ります。ちゃんとリンクしていますね!
これで準備が整いました。
なお、今回読み取るコマンドは以下の内容です。
実行後に画面が消えて結果が分からなくならないように「pause」を入れています。
無事に実行できました!
「HELLO」と「こんにちは」がちゃんと表示されています。
終わりに
・PowershellをBlue Prismで実行したい場合は、「Start Process」アクションを使う
・読み取るコマンドは、「Read All Text from File」を使うと便利
こちらの2点を押さえて、ぜひご活用ください!