Tera Termを操作するためのPowerShell関数を作成します。この関数は、Tera Termマクロ(*.ttl)ファイルを実行し、特定のコマンドを送信する機能を提供します。
📂TeraTermAutomation
┣ 📂Modules
┃ ┗ 📜TeraTermHandler.psm1
┣ 📂Scripts
┃ ┗ 📜SampleScript.ps1
┗ 📜App.ps1
# モジュールのインポート
Import-Module "$PSScriptRoot\\\\Modules\\\\TeraTermHandler.psm1"
# Tera Termのマクロファイルを作成する関数
Function New-TeraTermMacro {
param (
[string]$FilePath,
[string[]]$Commands
)
$macroContent = $Commands -join "`r`n"
Set-Content -Path $FilePath -Value $macroContent
}
# Tera Termのマクロファイルを実行する関数
Function Invoke-TeraTermMacro {
param (
[string]$MacroFilePath,
[string]$TeraTermPath = "C:\\\\Program Files (x86)\\\\Tera Term\\\\ttermpro.exe"
)
Start-Process -FilePath $TeraTermPath -ArgumentList "/M=$MacroFilePath"
}
# モジュールのインポート
Import-Module "$PSScriptRoot\\\\..\\\\Modules\\\\TeraTermHandler.psm1"
# マクロファイルのパス
$macroFilePath = "$PSScriptRoot\\\\..\\\\MacroFiles\\\\sampleMacro.ttl"
# マクロコマンドの作成
$commands = @(
"connect '192.168.1.1:22 /ssh /auth=password /user=username /passwd=password'",
"wait '$'",
"sendln 'ls -al'",
"wait '$'",
"sendln 'exit'"
)
# マクロファイルの作成
New-TeraTermMacro -FilePath $macroFilePath -Commands $commands
# マクロファイルの実行
Invoke-TeraTermMacro -MacroFilePath $macroFilePath
# モジュールのインポート
Import-Module "$PSScriptRoot\\\\Modules\\\\TeraTermHandler.psm1"
# サンプルスクリプトの実行
& "$PSScriptRoot\\\\Scripts\\\\SampleScript.ps1"
TeraTermHandler.psm1
モジュールは、Tera Termマクロファイルを作成し、実行するための関数を定義しています。SampleScript.ps1
スクリプトは、Tera Termを使用してリモートサーバーに接続し、コマンドを実行するサンプルを示しています。App.ps1
は、全体のエントリーポイントとなるスクリプトで、サンプルスクリプトを実行します。