簡単にPOLESTARのジョブを作成するには、ChatGPTが役立ちました!

製品情報 >

活用事例 >

簡単にPOLESTARのジョブを作成するには、ChatGPTが役立ちました!

簡単にPOLESTARのジョブを作成するには、
ChatGPTが役立ちました!
自然言語でスクリプトを開発

1.はじめに

ChatGPTが旬で、何かに活用できないかと模索されていらっしゃる方が多いようです。
開発の現場では、ソフトウェア開発に役立てる。運用管理では、ログをChatGPTに食わせて、解析を行わせる。など、さまざまなことにチャレンジされているようです。

弊社では、自然言語でPOLESTAR Automationの自動化ジョブ作成にチャレンジしました。
POLESTAR Automationは、PowerShellやShell、Pythonなどメジャーな9つの言語に対応しており、活用できる知見も多いため、ChatGPTとの相性がとても良いように思います。


2.ChatGPTに依頼する前提

単純に「✕✕✕」を作ってと依頼しても、期待したスクリプトは返ってきません。
必要なのは、どんなスクリプト言語でどんな回答がほしいのかを記述する。そして、エージェントレスの場合にはアクセス方法の明記です。

まず、エージェント、エージェントレスで利用できるスクリプト言語の種類を理解します。


表1 Windows OSに実行する場合のスクリプト言語

Windows 設定できるスクリプト言語
エージェント利用 PowerShell, Python, VBScript, Windows batch
エージェントレス VBScript
※WMI経由と記載

表2 Linux OSに実行する場合のスクリプト言語

Linux 設定できるスクリプト言語
エージェント利用 Shell, Python, Perl
エージェントレス Shell, Python, Perl

Windows OSにエージェントレスでスクリプトを実行する場合は、WMI*を利用と記載します。
*WMI:Windows Management Instrumentation

例えば、エージェントレスでWindowsアップデートの適用状況を確認するには、『Windowsアップデートの適用状況をWMI経由で収集するためのVBScriptは?』と入力します。
また、LinuxでHDDの使用率を確認するには、『HDDの使用率を確認するためのShellスクリプトは?』と入力します。Linuxの場合、結果を日本語で表示させたい場合は、「日本語エンコードで」と追記すると良いでしょう。


3.ChatGPTでスクリプトを作成する

まず、『Windowsアップデートの適用状況をWMI経由で収集するためのVBScriptは?』を入力した場合の結果です。

ChatGPT
Windowsアップデートの適用状況をWMI (Windows Management Instrumentation) 経由で収集するためのVBScriptを以下に示します。

Set objWMIService =
GetObject(“winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2”)
Set colItems = objWMIService.ExecQuery(“SELECT * FROM Win32_QuickFixEngineering”)


For Each objItem in colItems
     WScript.Echo “適用日: ” & objItem.InstallDate & vbTab & “KB番号: ” & objItem.HotFixID & vbTab & “説明: ” & objItem.Description
Next

このVBScriptは、Win32_QuickFixEngineering クラスをクエリして、Windowsのクイックフィックスエンジニアリング情報(つまり、アップデート情報)を取得します。GetObject 関数を使用して WMI サービスに接続し、ExecQuery メソッドを使用してクエリを実行します。

取得された各アップデートの情報はループ処理され、適用日 (InstallDate)、KB番号 (HotFixID)、説明 (Description) が表示されます。

このスクリプトを実行すると、Windows Updateの適用状況が表示されます。ただし、スクリプトを実行するには管理者権限が必要です。また、スクリプトの実行にはVBScriptエンジンが必要な場合があります。



次に、『LinuxサーバーにHDDの使用率を日本語エンコードで確認するためのShellスクリプトは?』を入力した場合の結果です。


ChatGPT
以下は、日本語エンコードでHDDの使用率を確認するためのシェルスクリプトの例です。

bash
Copy code
#!/bin/bash

# ディスク使用率を取得する関数
get_disk_usage() {
  df -h | awk ‘$NF==”/”{printf “%s\n”, $4}’
}

# メインスクリプト
disk_usage=$(get_disk_usage)

echo “HDDの使用率: $disk_usage”

このスクリプトは、dfコマンドを使用してディスク使用率を取得し、awkコマンドを使用して該当の行から空き容量のみを抽出しています。最後に結果を出力しています。

スクリプト内では特にエンコーディングの設定を行っていないため、システムのデフォルトエンコーディングが使用されます。日本語エンコードを使用したい場合は、シェルの環境変数 LANG を設定しておく必要があります。例えば、以下のように設定することができます。

export LANG=ja_JP.UTF-8

この設定は、スクリプトを実行する前に行うか、スクリプト内で設定することができます。日本語の表示が正しく行われるはずです。

※POLESTARの管理サーバーがWindowsの場合文字化けが起こるので、表示は日本語ではなく英語にすることをおすすめします。

このように、自然言語でChatGPTに依頼すると、希望した言語のスクリプトだけでなく、その利用方法のインストラクションまでわかりやすく、丁寧に回答してくれます。



4.POLESTAR Automationへの適用

POLESTAR Automationは構成情報の収集と、ジョブ作成ができるオールインワンの運用自動化ツールです。
基本的に、GUIでほとんどの操作が行えるため、属人化すること無く多くの方がご利用いただけます。
しかし、スクリプトの作成はハードルが高く、ジョブ開発に二の足を踏むお客様用に、弊社が1,000本以上のサンプルジョブを作成し、無償でご提供していました。
ChatGPTの利用で、お客様自身でもスクリプトの開発が簡単に行えるようになります。

では、作成したスクリプトをどのようにPOLESTAR Automationで実行するのでしょうか?
1つは、「入力コマンド実行」という機能利用して、対象のサーバーにリアルタイムでスクリプトを実行する方法です。
もう1つは、「スクリプトジョブ・ウィザード」を利用して、自動化ジョブを作成する方法です。
いずれも、ChatGPTで出力されたスクリプトをコピー&ペーストするだけです。スクリプトを実行する対象デバイスやスケジュールなどはマウスで設定ができ、とても簡単にジョブの実行が行なえます。

図1 入力コマンド実行画面 プラグイン画面例
> 大きい画像を見る

図2 スクリプトジョブ・ウィザード画面 プラグイン画面例
> 大きい画像を見る




いかがでしたでしょうか。
POLESTAR Automationを利用して自動化を行ってみませんか?
180日間利用いただける評価版をご利用いただけますので、是非試してみてください。

カテゴリー別 活用事例