次の方法で共有


スクリプト アクション

重要

不正アクセスを防ぐために、Windows では保護されたリソースにアクセスするための管理者権限が必要です。 スクリプト アクションを使用して保護されたリソース (ファイルなど) にアクセスするには、管理者の権利を使用して Power Automate を実行します。 管理者として Power Automate を実行する詳細については、昇格した権利で Power Automate を実行を参照してください。

スクリプト アクションにより、ユーザーはコードのブロックを実行し、カスタム動作をデスクトップ フローに実装します。

重要

2023 年 10 月 に発表されたとおり、VBScript は Windows から非推奨になりました。 Windows の将来のリリースでは、VBScript がオペレーティング システムから削除される前に、オンデマンドの機能として利用できるようになります。 詳細については、非推奨の機能用のリソースを参照してください。

すべてのスクリプト アクションは、PowerShell、Python、VBScript、JavaScript、C#/VB.NET など、それぞれのプログラミング言語またはスクリプト言語の基本構造に従います。

注意

C#: v 5.0 サポートされるバージョン VB.NET の場合: v 11.0

Copilot を利用した自然言語からスクリプトへの変換 (プレビュー)

このトピックはプレリリース ドキュメントであり、変更される場合があります。

自然言語からコードは、デスクトップ用 Power Automate に追加された新しい Copilot 機能です。 これを使用すると、スクリプト アクションで使用されるコードを記述することで、迅速に生成できます。 この機能は、次のスクリプト アクションで利用可能です。

  • PowerShell の実行
  • VBScript の実行
  • DOS コマンドの実行
  • Python の実行
  • JavaScript の実行

重要

  • これはプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。

地域別の可用性

現在、デスクトップ用 Power Automate の Copilot は、米国にある環境でのみ利用できます。

アカウントの種類別の利用可能状況

現在、デスクトップ向け Power Automate のコパイロットは、職場または学校のアカウントを持つユーザーのみが利用できます。

注意

ご使用の環境が上記のリージョンにあり、デスクトップ エクスペリエンスのために Power Automate で Copilot を確認する必要がある場合は、テナント管理者にお問い合わせください。 Copilot 機能をオフにした可能性があります。

Copilot と自然言語を使用してスクリプトを生成する方法

サポートされているスクリプト アクションのいずれかでスクリプトを生成するには、デザイナーにアクションをドラッグ アンド ドロップし、Copilot でスクリプトを生成を選択します。

Copilot を使用してスクリプトを生成ボタンが強調表示された、PowerShell の実行アクションのスクリーンショット

プロンプトの作成画面が開き、自然言語プロンプトを入力できます。

プロンプト ダイアログが開いた状態の PowerShell 生成アクションのスクリーンショット

スクリプトを作成するには、プロンプトを作成し、生成を選択します。 再作成する必要がある場合は、プロンプトを変更して再生成を選択します。 それ以外の場合は、このスクリプトを使用するを選択してメイン アクション ウィンドウに戻り、ウィンドウを変更して必要な変数を追加できます。

プロンプト ダイアログが開いた状態で、このスクリプトを使用する PowerShell アクションのスクリーンショット

重要

AI モデルによって生成されたコンテンツを必ず確認してください。

この機能の改善にご協力ください

AI が生成したコンテンツの下にあるサムアップ アイコンまたはサムダウン アイコンを選択して、フィードバックを送信します。 これを実行すると、フィードバック ダイアログが表示され、これを使用して Microsoft にフィードバックを送信できます。 デザイナーからのユーザーの質問に Copilot が答える様子を示すアニメーション GIF。

注意

ダイアログ ボックスが表示されない場合は、テナント管理者がダイアログ ボックスをオフにしている可能性があります。 詳細: ユーザー フィードバック機能の無効化

ユーザー フィードバック機能の無効化

テナント管理者は、disableSurveyFeedback テナント設定を無効にすることで、ユーザーが Microsoft にフィードバックを送信できないようにすることができます。 テナント設定の表示と設定の詳細については、こちらをご覧ください:

ユーザーのフィードバックに対するデータ主体の権利の要求

テナント管理者は、Microsoft 365 管理センター にサインインし、正常性>製品に関するフィードバック を選択することで、自分たちのユーザーからのフィードバックを表示、エクスポート、削除することができます。

Power Automate リソースを使用した AI

スクリプト アクションでの変数の操作

スクリプト アクションで変数を宣言し、Power Automate で結果を返すには、次のコマンドを使用します。

  • PowerShell スクリプトで新しい変数を宣言するには、$ 表記を使用します。 PowerShell スクリプトの実行 アクションから Power Automate に値を返すには、書き込み出力コマンドを使用します。

    $variableName = "variableValue"
    Write-Output $variableName
    
  • Python スクリプトは、新しい変数を宣言するために特別な表記を必要としません。 Python スクリプトを実行するアクションから値を返すには、印刷関数を使用します。

    variableName = "variableValue"
    print variableName
    
  • VBScript は、新しい変数を宣言するために特別な表記を必要としません。 WScript.Echo 関数を使用して、Run VBScript アクションから Power Automate に値を返します。

    variableName = "variableValue"
    WScript.Echo variableName
    
  • JavaScript スクリプトでは、新しい変数を宣言する var 表記と、JavaScript を実行するアクションから値を返す WScript.Echo 関数を宣言します。

    var variableName = "variableValue";
    WScript.Echo(variableName);
    
  • .NETスクリプトの場合は、 .NET スクリプトの実行 アクションの構成カードからアクセスできる、スクリプト パラメータ ウィンドウを使用します。 それぞれの変数の型を設定できます。

変数タイプを設定する、.NET スクリプトの実行アクションのスクリプト パラメーターウィンドウのスクリーンショット

さらに、.NET スクリプト (Direction ドロップダウンの In オプション) への入力、スクリプトの出力 (Direction ドロップダウンの Out オプション) または (Direction ドロップダウンの In-Out オプション) の両方化を設定できます。

ディレクションを設定する、.NET スクリプトの実行アクションのスクリプト パラメーターウィンドウのスクリーンショット

スクリプト アクションで Power Automate 変数を使用するには、パーセント表記 (%) を使用し、ハードコードされた値と同じ方法で変数を処理します。

パーセンテージ表記を含む Python スクリプトのスクリーンショット。

DOS コマンドの実行

DOS コマンドまたはコンソール アプリケーションを非表示モードで実行し、完了時にその出力を取得します。

入力パラメーター

引数 オプション 受入 Default Value 説明設定
DOS command or application いいえ ファイル DOS コマンドまたはコンソール アプリケーションの名前 (該当する場合は引数あり)
Working folder はい フォルダー 作業するフォルダーの完全なパス (該当する場合)
タイムアウト後に失敗します はい ブール値 DOS コマンドやアプリケーションを無期限に実行するか、または設定した時間の経過後に失敗させるかを指定します
タイムアウト いいえ 数値 10 スクリプトの完了を待機する最大秒数 (無期限の場合は -1)
コード ページの変更 N/A ブール値 セッションの現在のコード ページを変更するかどうかを指定する
Encoding いいえ ASMO-708: アラビア語 (ASMO 708)、big5: 繁体中国語 (Big5)、cp1025: IBM EBCDIC (キリル言語、セルビア-ブルガリア語)、cp866: キリル言語 (DOS)、cp875: IBM EBCDIC (ギリシャ語モダン)、csISO2022JP: 日本語 (JIS-1 バイト カタカナを許可)、DOS-720: アラビア語 (DOS)、DOS-862: ヘブライ語 (DOS)、EUC-CN: 簡体中国語 (EUC)、EUC-JP: 日本語 (JIS 0208-1990 および 0212-1990)、euc-jp: 日本語 (EUC)、euc-kr: 韓国語 (EUC)、GB18030: 簡体中国語 (GB18030)、gb2312: 簡体中国語 (GB2312)、hz-gb-2312: 簡体中国語 (HZ)、IBM-Thai: IBM EBCDIC (タイ語)、IBM00858: OEM 多言語ラテン語 I、IBM00924: IBM ラテン語-1、IBM01047: IBM ラテン語-1、IBM01140: IBM EBCDIC (米国-カナダ-欧州)、IBM01141: IBM EBCDIC (ドイツ語-欧州)、IBM01142: IBM EBCDIC (デンマーク-ノルウェー-欧州)、IBM01143: IBM EBCDIC (フィンランド-スウェーデン-欧州)、IBM01144: IBM EBCDIC (イタリア-欧州)、IBM01145: IBM EBCDIC (スペイン-欧州)、IBM01146: IBM EBCDIC (英国-欧州)、IBM01147: IBM EBCDIC (フランス-欧州)、IBM01148: IBM EBCDIC (インターナショナル-欧州)、IBM01149: IBM EBCDIC (アイスランド語-欧州)、IBM037: IBM EBCDIC (米国-カナダ)、IBM1026: IBM EBCDIC (トルコ語ラテン語-5)、IBM273: IBM EBCDIC (ドイツ)、IBM277: IBM EBCDIC (デンマーク-ノルウェー)、IBM278: IBM EBCDIC (フィンランド-スウェーデン)、IBM280: IBM EBCDIC (イタリア)、IBM284: IBM EBCDIC (スペイン)、IBM285: IBM EBCDIC (英国)、IBM290: IBM EBCDIC (日本語カタカナ)、IBM297: IBM EBCDIC (フランス)、IBM420: IBM EBCDIC (アラビア語)、IBM423: IBM EBCDIC (ギリシャ語)、IBM424: IBM EBCDIC (ヘブライ語)、IBM437: OEM 米国、IBM500: IBM EBCDIC (インターナショナル)、ibm737: ギリシャ語 (DOS)、ibm775: バルト言語 (DOS)、ibm850: 西ヨーロッパ言語 (DOS)、ibm852: 中央ヨーロッパ言語 (DOS)、IBM855: OEM キリル言語、ibm857: トルコ語 (DOS)、IBM860: ポルトガル語 (DOS)、ibm861: アイスランド語 (DOS)、IBM863: フランス語 (カナダ) (DOS)、IBM864: アラビア語 (864)、IBM865: 北欧語 (DOS)、ibm869: ギリシャ語、モダン (DOS)、IBM870: IBM EBCDIC (多言語ラテン語-2)、IBM871: IBM EBCDIC (アイスランド語)、IBM880: IBM EBCDIC (キリル言語ロシア語)、IBM905: IBM EBCDIC (トルコ語)、iso-2022-jp: 日本語 (JIS)、iso-2022-jp: 日本語 (JIS - 1 バイト カタカナを許可 - SO/SI)、iso-2022-kr: 韓国語 (ISO)、iso-8859-1: 西ヨーロッパ言語 (ISO)、iso-8859-13: エストニア語 (ISO)、iso-8859-15: ラテン語 9 (ISO)、iso-8859-2: 中央ヨーロッパ言語 (ISO)、iso-8859-3: ラテン語 3 (ISO)、iso-8859-4: バルト言語 (ISO)、iso-8859-5: キリル言語 (ISO)、iso-8859-6: アラビア語 (ISO)、iso-8859-7: ギリシャ語 (ISO)、iso-8859-8: ヘブライ語 (ISO-ビジュアル)、iso-8859-8-i: ヘブライ語 (ISO-ロジカル)、iso-8859-9: トルコ語 (ISO)、Johab: 韓国語 (Johab)、koi8-r: キリル言語 (KOI8-R)、koi8-u: キリル言語 (KOI8-U)、ks_c_5601-1987: 韓国語、macintosh: 西ヨーロッパ言語 (Mac)、shift_jis: 日本語 (Shift-JIS)、us-ascii: US-ASCII、utf-16: Unicode、utf-16BE: Unicode (ビッグ エンディアン)、utf-32: Unicode (UTF-32)、utf-32BE: Unicode (UTF-32 ビッグ エンディアン)、utf-7: Unicode (UTF-7)、utf-8: Unicode (UTF-8)、windows-1250: 中央ヨーロッパ言語 (Windows)、windows-1251: キリル言語 (Windows)、Windows-1252: 西ヨーロッパ言語 (Windows)、windows-1253: ギリシャ語 (Windows)、windows-1254: トルコ語 (Windows)、windows-1255: ヘブライ語 (Windows)、windows-1256: アラビア語 (Windows)、windows-1257: バルト言語 (Windows)、windows-1258: ベトナム語 (Windows)、windows-874: タイ語 (Windows)、x-Chinese-CNS: 繁体中国語 (CNS)、x-Chinese-Eten: 繁体中国語 (Eten)、x-cp20001: TCA 台湾、x-cp20003: IBM5550 台湾、x-cp20004: TeleText 台湾、x-cp20005: Wang 台湾、x-cp20261: T.61、x-cp20269: ISO-6937、x-cp20936: 簡体中国語 (GB2312-80)、x-cp20949: 韓国語 Wansung、x-cp50227: 簡体中国語 (ISO-2022)、x-EBCDIC-韓国語拡張: IBM EBCDIC (韓国語拡張)、x-Europa: 欧州、x-IA5: 西ヨーロッパ言語 (IA5)、x-IA5-German: German (IA5)、x-IA5-Norwegian: Norwegian (IA5)、x-IA5-Swedish: スウェーデン語 (IA5)、x-iscii-as: ISCII アッサム語、x-iscii-be: ISCII ベンガル語、x-iscii-de: ISCII デーバナーガリー語、x-iscii-gu: ISCII グジャラート語、x-iscii-ka: ISCII カンナダ語、x-iscii-ma: ISCII マラヤーラム語、x-iscii-or: ISCII オリヤー語、x-iscii-pa: ISCII パンジャブ語、x-iscii-ta: ISCII タミール語、x-iscii-te: ISCII テルグ語、x-mac-アラビア語: アラビア語 (Mac)、x-mac-ce: 中央ヨーロッパ言語 (Mac)、x-mac-chinesesimp: 簡体中国語 (Mac)、x-mac-chinesetrad: 繁体中国語 (Mac)、x-mac-croatian: クロアチア語 (Mac)、x-mac-cyrillic: キリル言語 (Mac)、x-mac-greek: ギリシャ語 (Mac)、x-mac- hebrew: ヘブライ語 (Mac)、x-mac- icelandic: アイスランド語 (Mac)、x-mac-japanese: 日本語 (Mac)、x-mac-korean: 韓国語 (Mac)、x-mac-romanian: ルーマニア語 (Mac)、x-mac-thai: タイ語 (Mac)、x-mac-turkish: トルコ語 (Mac)、x-mac-ukrainian: ウクライナ語 (Mac) utf-8 : Unicode (UTF-8) 出力の読み込み時に使用するエンコード

生成された変数

引数 タイプ 説明設定
CommandOutput Text 値 DOS コマンドまたはアプリケーションからのテキスト出力
CommandErrorOutput テキスト値 DOS コマンドまたはアプリケーションの実行中に発生したエラー (ある場合) を表すテキスト
CommandExitCode 数値 コマンド、またはアプリケーションの終了コードです。 この値は数値です

例外

例外 説明
コマンドまたはコンソール アプリケーションを実行できません 指定されたコマンドまたはコンソール アプリケーションの実行中に問題が発生したことを示します
割り当てられた時間内にスクリプトを実行できませんでした 割り当てられた時間内に提供したスクリプトの実行で問題が発生したことを示します

VBScript の実行

いくつかのカスタム VBScript コードを実行し、その出力を変数に取得します。

このアクションを使用すると、デスクトップ フローに独自のカスタム VBScript コードを含めることができます。また、その中で変数を使用して、必要に応じて動的な VBScript コンテンツを生成することもできます。

入力パラメーター

引数 オプション 受入 Default Value 説明設定
VBScript to run はい テキスト値 実行する VBScript スクリプト コードです。 VBScript の実行前に評価されるため、スクリプト内に変数を含めることができます
タイムアウト後に失敗します はい ブール値 N/A VBScript スクリプトを無期限に実行するか、または設定した時間後にエラーで終了させるかを指定します
タイムアウト いいえ 数値 10 スクリプトの完了を待機する最大秒数 (無期限の場合は -1)

生成される変数

引数 タイプ 説明
VBScriptOutput Text 値 スクリプトの出力
ScriptError テキスト値 VBScript コードの実行中に発生する可能性のあるエラー

例外

例外 説明
割り当てられた時間内にスクリプトを実行できませんでした 割り当てられた時間内に提供したスクリプトの実行で問題が発生したことを示します

JavaScript の実行

いくつかのカスタム JavaScript コードを実行し、その出力を変数に取得します。

入力パラメーター

引数 オプション 受入 Default Value 説明設定
JavaScript to run はい テキスト値 実行する JavaScript スクリプトのコードです。 JavaScript の実行前に評価されるため、スクリプト内に変数を含めることができます
タイムアウト後に失敗します はい ブール値 JavaScript スクリプトを無期限に実行するか、または設定した時間の経過後に失敗させるかを指定します
タイムアウト いいえ 数値 10 スクリプトの完了を待機する最大秒数 (無期限の場合は -1)

生成される変数

引数 タイプ 説明
JavascriptOutput Text 値 スクリプトの出力
ScriptError テキスト値 JavaScript コードの実行中に発生する可能性のあるエラー

例外

例外 説明
割り当てられた時間内にスクリプトを実行できませんでした 割り当てられた時間内に提供したスクリプトの実行で問題が発生したことを示します

PowerShell スクリプトの実行

いくつかのカスタム PowerShell スクリプトを実行し、その出力を変数に取得します。

このアクションを使用すると、デスクトップ フローに独自のカスタム PowerShell コードを含めることができます。また、その中で変数を使用して、必要に応じて動的な PowerShell コンテンツを生成することもできます。

入力パラメーター

引数 オプション 受入 Default Value 説明設定
PowerShell code to run はい テキスト値 実行する PowerShell スクリプトのコードです。 PowerShell コードの実行前に評価されるため、スクリプト内に変数を含めることができます
タイムアウト後に失敗します はい ブール値 PowerShell スクリプトを無期限に実行するか、または設定した時間後にエラーにするかを指定します
タイムアウト いいえ 数値 10 スクリプトの完了を待機する最大秒数 (無期限の場合は -1)

生成される変数

引数 タイプ 説明
PowershellOutput Text 値 スクリプトの出力
ScriptError テキスト値 PowerShell コードの実行中に発生する可能性のあるエラー

例外

例外 内容
PowerShell スクリプトを実行できませんでした 指定された PowerShell スクリプトの実行中に問題が発生したことを示します
割り当てられた時間内にスクリプトを実行できませんでした 割り当てられた時間内に提供したスクリプトの実行で問題が発生したことを示します

Python スクリプトの実行

Python スクリプト コードを実行し、出力を取得します。

入力パラメーター

引数 オプション 受入 Default Value 説明
Python script to run いいえ テキスト値 実行する Python スクリプト コード
Python のバージョン いいえ Python 2.7、Python 3.4 Python 2.7 スクリプトの実行中に使用する Python のバージョンを指定します
Module folder paths はい フォルダーリスト 外部 Python モジュールが存在するフォルダーのパス

生成された変数

引数 タイプ 説明
PythonScriptOutput Text 値 スクリプトの出力
ScriptError Text 値 Python スクリプト コードの実行中に発生する可能性のあるエラー

例外

例外 内容
Python スクリプトを実行できませんでした 指定された Python スクリプトの実行中に問題が発生したことを示します
ディレクトリが見つかりません ディレクトリが見つからなかったことを示します

.NET スクリプト実行

.NET (C#/VB.NET) スクリプト コードを実行し、出力を取得します

入力パラメーター

引数 オプション 受入 Default Value 説明
Language N/A C#/ VB.NET C# スクリプトの言語
.NET スクリプトのインポート はい テキスト値 .NET スクリプトのインポート。このスクリプトに含まれます
読み込まれる参照 はい フォルダー .NET 動的リンク ライブラリ (.dll ファイル) の参照が置かれているルート パス
スクリプト パラメーター はい ユーザーが定義したスクリプトパラメータ スクリプトで定義されているパラメータの値を設定する
実行する .NET コード いいえ テキスト値 実行する .NET コード

生成される変数

このアクションでは、スクリプト パラメータ ウィンドウを使用するときにユーザーが行った設定に応じて、変数が生成される場合があります。

注意

アクションが出力パラメーターを生成するように構成されている場合 (構成時に Out 方向を使用)、スクリプト内のパラメーターがヌル値に設定されていることを常に確認する必要があります。 そうしないと、出力パラメータが設定されていないため、スクリプトの実行でエラーが発生します。

例外

例外 説明
.NET スクリプトを実行できませんでした 指定された .NET スクリプトの実行中に問題が発生したことを示します