概要
Microsoft Remote Desktopの接続先が大量にある場合、IPアドレス入れて、ユーザ名入れて、パスワード入れて、、
なんてちまちま入力してられないので、自動化してみました。
環境
OS X 10.11 (OS X El Captain)
Microsoft Remote Desktop(RDP) 8.0.33
swift 2.2
やりたいこと
- RDPのImport機能を使って接続先を一括でインポートしたい
- パスワードを一括で設定したい
- 接続先IPアドレスやユーザ名、パスワードがそれぞれ違う
やってみた
こんなツールを作りました。
wakinchan/RemoteDesktopTools
swift 2.2ベースで作成しているため、環境がswift 1.x等では動作しません。
Redirection file pathの指定してそこも一括設定がしたかった。
が、file pathによってASCIIコードがころころ変わって理解出来なかったため諦めました。
自分で設定ファイルを覗いて、ASCIIコードをちまちま変えてやると出来ます。
format.txt
RDPのExportで出したファイルを中身です。(File -> Export)
自分の好みの設定をRDPからExportして、中身を書き換えます。
full address
, username
の設定は下記の用に設定します。
full address:s:${IPADDRESS}
username:s:${USERNAME}
datasource.csv
name,ip_address,username,password
を順に設定してておきます。
カラムずれとかに気をつけて

createRemoteDesktops.swift
$ ./createRemoteDesktops.swift
rdpファイルを生成します。
生成されたファイルを、RDPのImport機能を使って一括でインポートします。(File -> Import)

ここでインポートした時点では、接続先名やパスワードは表示されません。

setLabelsAndKeychains.swift
$ ./setLabelsAndKeychains.swift
インポートした接続先に対して、接続先名とパスワードを設定します。接続先名で昇順にソートします。
RDPアプリが開いている場合は再起動すると反映します。

パスワードも保存されています。
詳細に表示される各種設定は format.txt
である程度設定ができるかと思います。
