OptionExplicitDimobjWshShellSetobjWshShell=WScript.CreateObject("WScript.Shell")' [変更箇所] ppk ファイルへのパスobjWshShell.Run"pageant.exe C:\Users\user\keys\example.com.ppk"DimpassPhrase' [変更箇所] 鍵のパスフレーズpassPhrase="abcdefghijklmnopqrstuvwxyz"DimintProcIDintProcID=GetProcID("pageant.exe")' pageant.exe プロセスを探す。プロセス ID が 0 だった場合は当該プロセスが見つからないIfintProcID=0ThenMsgBox"Pageant is not working...",vbInformation,"AutoPageant"WScript.QuitEndIfWScript.Sleep500' Pageant にその ppk ファイルを登録していなくてその鍵にパスフレーズが必要な場合、パスフレーズ入力ウィンドウが開くIfobjWshShell.AppActivate("Pageant: Loading Encrypted Key")ThenobjWshShell.SendKeyspassPhrase&"{ENTER}"WScript.Sleep500' 入力に失敗する可能性があるので、入力後にもまだウィンドウが開いている場合はリトライするIfobjWshShell.AppActivate("Pageant: Loading Encrypted Key")ThenobjWshShell.SendKeyspassPhrase&"{ENTER}"EndIfElseMsgBox"Failed to register with Pageant. Already registed?",vbInformation,"AutoPageant"WScript.QuitEndIf' 2回リトライしてもウィンドウが開いたままの場合は失敗としてメッセージボックスを表示するIfobjWshShell.AppActivate("Pageant: Loading Encrypted Key")ThenMsgBox"Failed to register with Pageant.",vbInformation,"AutoPageant"WScript.QuitEndIf' 登録完了としてポップアップを表示。ポップアップは1秒後に自動で消えるobjWshShell.PopUp"Registration to Pageant is complete. This message closes automatically after 1 second.",1' プロセス名をもとにプロセス ID を取得する。指定したプロセスが存在しない場合は 0 を返すFunctionGetProcID(ProcessName)DimServiceDimQfeSetDimQfeDimintProcIDSetService=WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServerSetQfeSet=Service.ExecQuery("Select * From Win32_Process Where Caption='"&ProcessName&"'")intProcID=0ForEachQfeinQfeSetintProcID=Qfe.ProcessIdExitForNextGetProcID=intProcIDEndFunction