投稿

ラベル(自動化)が付いた投稿を表示しています

TeraTermのマクロデビューしました。

TeraTermのマクロ機能はご存知でしょうか。 定型作業を自動化できる便利機能です。 何故、今更マクロを使うことになったかと言いますと・・・ 20以上の拠点に入り回線を変更するという案件がありました。 ざっくりとした作業内容ですが、 事前ログ取得 設定変更 疎通試験 事後ログ取得 2.の設定変更以外は、どの拠点もほぼ同じコマンドであったため、 マクロを使えれば作業が飛躍的に楽になるなという考えからマクロを作成することに。 一部抜粋という形になりますが、 実際に作成したマクロ内容を紹介します。 ● ログイン情報定義 HOSTNAME = 'ホスト名'           LOGIN_PW = 'ログインPW'     ENABL_PW = '特権PW'               ● ボーレート定義 BAUDRATE = '9600' ※環境によって数値は合わせる ● コンソールログイン ①COMポートの状態を1~100まで確認する  for PORT_NUM 1 100  ②整数値を文字列に変換    int2str COM_PORT PORT_NUM ③コマンド組立て    COMMAND = '/C='                                           strconcat COMMAND COM_PORT    strconcat COMMAND ' /BAUD='         strconcat COMMAND BAUDRATE   ④接続    connect COMMAND  ⑤接続確認    if result == ...

Google Chat ボットで知っておきたい2つの方式

イメージ
 ― Google Chat ボットで知っておきたい2つの方式 ― はじめに Google Workspaceを使っていると、 毎朝の通知 やチャットでの 問い合わせ対応 を 自動化 したくなる瞬間がよくあります。 GASならそれを実現できますが、実装したい内容によって選ぶべき方式が変わります。 私自身、初めて触れたときは 情報の少なさに苦戦 したので、同じ悩みを持つ方の助けになればと自分なりに整理しました。 この記事では、まずは 「 自分のやりたいことには、どの方式が合っているのか? 」を正しく選ぶための判断基準をサクッと解説します。 まずは、GASでGoogle Chatボットを作る際に最初に決める二択 「通知型」 か 「対話型」 かを整理します。 両者は仕組みがまったく異なり、特に「対話型」は Google Cloud Platform (GCP) の複雑な設定が必要になるため、最初の確認が重要です。 💡 具体的なGCP環境構築手順(対話型用)   こちらをどうぞ →「 GAS×Google Chat ボット 環境構築ガイド 」 ざっくり言うと何が違う? 一言で言うと、 データの流れる方向 が違います。 通知型 : GASからチャットへ「投げるだけ」の、一方通行 対話型 : ユーザーが話しかけて、GASが返事をするという、双方向 この違いを視覚的に理解するために、下記の図を確認してください。 図を見ると、 通知型(左側) はGASから簡単な設定で一方向にメッセージを送るだけのシンプルな仕組みなのに対し、 対話型(右側) はユーザーからの質問を受け取り、GCPの複雑な設定とアプリ登録を経て双方向でやり取りする仕組みであることが分かります。 対話型では、ユーザー、Google Chat、GCP、GASの間で情報が双方向に流れることが図からも明確です。 ポイント比較 【通知型ボット】が向いている用途 定例会議アナウンスと時事ニュース通知 フォームに回答があったら通知 エラーが起きたらアラートを飛ばす 【対話型ボット】が向いている用途 勤怠申請とその情報をカレンダー登録 ※Calendar APIが別途必要 「在庫ある?」と聞いたら検索して答えてくれる カード形式のメッセージで「承...

2段階認証、面倒くさい

2段階認証が増えてきているこの頃、ログインした後にメーラーに切り替えてコードをコピーして貼り付ける作業、何気に面倒。しかもタイムアウトが短いサイトだと何度も入力することになったりする。何とかできないかとやってみた。 方針 特定メールのみを受信して処理するメーラーを作って処理するというツールを作ったことはあるけど、面倒なのでそこまではやらない。 やるべきことは対象のメールを読んでパスコードを探し出しコピーペーストするのだけど、ペーストはあきらめて、クリップボードにコピーするまでという方針にする。使っているメーラーがoutlookなので、あまり使ったことのないoutlookのVBAを使用してみます。 ソース説明 outlook で、 Alt + F11を押してVBEを起動して下のソースを貼り付ける。 このソースでは2つのメールアドレスから来たメールについてパスコードを探し出す関数を呼び出します。パスコードを探し出す関数では文字列からパスコードの直前を探し出してクリップボードにコピーする関数を呼び出します。 増減は適当にどうぞ。 できる限り条件を絞って余計なメールは処理しないように注意が必要かと思います。 vbaでクリップボードにコピーするくらいすぐできると思ったのだが、テキストボックスオブジェクトを作成してそこに文字を入力してコピーするという何ともキモイ感じですが、探してもこんな方法しかないらしいので仕方なし。 まとめ ログインボタンを押して、少し待つとメールを受信して、パスコードがクリップボードにセットされるので、CTRL + Vで張り付ける。 たまに発動しない時があるみたいだけど、その時は再送するかあきらめてメーラーからコピーする。 それなりに動いてるし、使ったことのないoutlookのVBAも使えて満足したのでこれでいいか。 ソース ThisOutlookSession ここからーーーーーーーー Const REPLY_SENDER1 = "no-reply@hogehoge.com" Const REPLY_SENDER2 = "no-reply@mogumogu.com" Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) D...

GAS(Google Apps Scripts)写経 受信メールを利用してGoogle Chatスペースに投稿してみた

イメージ
はじめに 昨年に続きGoogle Apps Scriptsのブログを書きます。 Google Workspaceで作業を自動化をするときに利用するGoogle Apps Scripts(以下、GAS)。慣れてしまうととても便利なツールです。インターネットや書籍で情報が多いので簡単にやりたいことや困った時の答えが見つかります。 ブログのネタを探していたとき、「社内周知をGoogle Chatスペースに転送できないか?」と思い立ち、調べてみました。すると、私がやりたかったことがすでにブログで紹介されていたので写経してみました。(その方法を参考にしてスクリプトを作成してみました。) 参考にしたブログはこちらです。 Google Apps Script(GAS)で業務効率化「Gmailで受信した特定のメールをChatスペースへ連携する」 https://you-wind.net/gws/post-305/ 上記ブログを基に私がやってみた内容をご紹介します。なお、説明文作成の一部はChat GPTを活用しています。 GASの目的 社内周知はこれまでメールで行っていましたが、社員の入社タイミングに関わらず全社員が同じ情報を共有できるように、Google Chatスペースへ全社向け周知メールを転送する仕組みをGASを使って実現します。 (そもそも「過去の全社周知を共有する必要があるのか」、「社内ポータルを活用すればよいのでは?」などのご意見もあるかもしれませんが、今回はブログのネタとして取り上げているため、その点については考慮しないことにします。) GASで実現するのに必要なもの 以下を利用します。 Gmailの設定 全社向けメーリングリスト宛に届いた受信メールにラベルを付ける メール転記用のスプレッドシートを用意する GASで以下2つのスクリプトを作成する メール→スプレッドシート転記用のスクリプト スプレッドシート→Chatスペース投稿用のスクリプト やってみた いざ、トライ。 Gmailのラベル付与 Gmailの受信メールにラベルを付与する設定は説明を省略します。 スプレッドシート作成 スプレッドシートを作成して、A列~F列の1行目に以下を設定します。 A~F列 date,from,subject,message,id,result GASでスプレッドシートを指定する方法は...

今さらAnsible入門

イメージ
はじめに 本記事では構成管理ツールであるAnsibleを用いたインフラ構築について説明します。 今さら!?って思われる方もいるかもしれませんが、筆者はその今さらAnsiblerの内の1人(歴3年)なので同じような方をターゲットに今回紹介させてもらいます。 概要編 Ansibleとは RedHat社が開発/提供する構成管理ツールで、IaC(Infrastructure as Code)に属するもの。 サーバを立ち上げる際、あらかじめ用意した設定ファイルに従って、ソフトウェアのインストールや設定を自動的に実行することができます。 そのため、OSの設定やソフトウェアのインストールを手動で行う必要がなく、また後述する冪等性の特徴からAnsibleで定義したサーバの状態に保つことが可能です。 Ansibleのメリット 構成管理ツールであるAnsibleはChefやPuppetと比較されることが多いので、本記事でも紹介しましょう。 この比較表から分かるように、まずAnsible はエージェントレスで管理対象のサーバにエージェントを導入する必要がない点が大きな利点です。 また、Chef やPuppetのようにプログラミング言語で作成する必要がなく比較的書きやすく読みやすい構造となっています。 冪等性(べきとうせい)について Ansibleを語る上(Ansibleだけじゃないですが)で、欠かせないのが冪等性です。 冪等性という言葉を調べてみると「同じ操作を何度繰り返しても、同じ結果が得られる概念」と出てきます。 ただ、これではピンとこないですよね。 Ansibleにおける冪等性を簡単に言うと「あるべき姿に保つこと」です。 Ansibleではプレイブック(YAML)というファイルにサーバ等のあるべき姿を記載します。 ...